Skip to content

Instantly share code, notes, and snippets.

View if0rest's full-sized avatar

Vladimir Khaprov if0rest

  • Russia, Tambov
View GitHub Profile
@if0rest
if0rest / bitrix:news.sections.elements.md
Last active April 1, 2024 17:36
Совместный вывод разделов и элементов в bitrix:news.list.

ВЫВОД РАЗДЕЛОВ И ЭЛЕМЕНТОВ В bitrix:news.list

Часто возникает необходимость вывести разделы инфоблока с элементами на одной странице. Для этой цели подойдет связка catalog.sections + news.list. Или можно обойтись одним bitrix:news.list, немного кастомизировав шаблон компонента. Пойдем вторым путем.

Итак.

  1. Размещаем компонент bitrix:news.list на целевой странице.
  2. Копируем шаблон компонента в текущий шаблон сайта.
  3. Создаем в нем файл result_modifier.php с таким содержимым.
  • ПРАВИЛО ВЕРТИКАЛЬНЫХ ОТСТУПОВ: вертикальные margin не суммируются, а схлопываются в пользу наибольшего значения.
  • clearfix препятствует схлопыванию родителя по высоте, когда детям присвоено float:left.
  • НЕ ИСПОЛЬЗУЙТЕ КАВЫЧКИ с функцией url(), кроме случая, когда ссылка содержит пробел, либо формируется программно (обычно при использовании inline-стилей).
  • Избегайте использования модификатора приоритета !important.
  • Сортируйте свойства по принципу: свойства, сильно влияющие на элемент - в начале, а незначительно - в конце.
    • Display
    • Позиционирование (position, float)
    • Боксовая модель (width, height, margin, padding, border, box-sizing)
    • Цвета и типографика
  • Остальное
@if0rest
if0rest / tabs.html
Created September 24, 2021 13:36
Универсальный jQuery-скрипт для блоков с вкладками
<style>
.tabs__content {
display: none;
}
.tabs__content.active {
display: block;
}
</style>
<?require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");?>
<?
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
use Bitrix\Main\Application;
use Bitrix\Main\Loader;
$request = Application::getInstance()->getContext()->getRequest();
@if0rest
if0rest / redirect_via_txt.php
Last active August 30, 2021 13:13
Реализация редиректа PHP + TXT-файл
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$redirects = array();
$file = file(__DIR__ . DIRECTORY_SEPARATOR . 'redirect.txt');
foreach ($file as $row) {