Инструкции

тест 3

Функция Template::displayEshopTree

Функция Template::displayEshopTree используется для вывода меню интернет-магазина с гибкими настройками отображения.


Синтаксис

Template::displayEshopTree($module_id, $treeoutputtype, $levellimit, $showroot, $classes=false, $show_images=false, $image_size='78x48', $description=false, $title=false, $gridLayout='')


Параметры

Параметр Описание Значения По умолчанию
$module_id ID модуля интернет-магазина из базы данных. Если не указан (или 0/false), подхватывается первый подходящий раздел. Числовой ID, 0, false -
$treeoutputtype Тип отображения дерева.
1 - полностью раскрыто.
2 - раскрыта только активная ветка (игнорирует $levellimit).
1, 2 -
$levellimit Уровень раскрытия дерева. -1 для полного раскрытия. -1, 1, 2, 3 и т.д. -1
$showroot Показывать корневой каталог. true, false -
$classes Выводить уникальные классы для каждого пункта меню для специфической верстки. true, false false
$show_images Выводить изображения для рубрик. true, false false
$image_size Размер изображений в формате "{Ширина}x{Высота}" или true для использования настроек из редактора. Строка (напр., "78x48"), true "78x48"
$description Выводить краткое описание рубрики. true, false false
$title Выводить заголовок блока. Если true, заголовок берется из названия раздела; иначе фиксированное значение. true, false, строка false
$gridLayout Режим вывода адаптивной плиткой. Определяет размеры блоков. Игнорирует $treeoutputtype и вложенные рубрики.
Формат: строка с типами блоков или правилами для количества рубрик.
"big", "horizontal", "vertical", "normal" или строка с правилами "" (режим отключен)

Режим $gridLayout

Режим адаптивной плитки позволяет задавать размеры блоков рубрик. Если параметр пустой, режим не используется. Поддерживаемые размеры:

  • big - большой блок
  • horizontal - горизонтальный прямоугольник
  • vertical - вертикальный прямоугольник
  • normal - стандартный размер (используется, если другие не указаны)

Можно задавать размеры через строку, например: "big, horizontal". Если указаны невалидные значения, все блоки будут normal.

Для привязки к количеству рубрик используется формат: [Рубрики]:[Типы блоков];[Рубрики]:[Типы блоков].

Примеры:
  • big, horizontal - первый блок большой, второй горизонтальный, остальные normal.
  • 7,8: vertical, horizontal; horizontal - для 7 или 8 рубрик: первый вертикальный, второй горизонтальный; для других количеств — все горизонтальные.
  • 1,2,3,4: normal; 5,7: vertical; 6: big, horizontal; 8: vertical, horizontal, big; vertical - разные правила для разного количества рубрик.

Стилизация в режиме плитки

Для настройки внешнего вида в режиме плитки используйте CSS-класс .gridOverflow:

.gridOverflow {
    --itemMinWidth: 250px; /* Минимальная ширина блока */
    --itemAspectRatio: 1; /* Пропорция: 1 - квадрат, <1 - горизонтальный, >1 - вертикальный */
    --gridGap: 20px; /* Отступ между блоками */
}

Рекомендуется подбирать $image_size в зависимости от --itemMinWidth и предполагаемого количества рубрик (например, треть от ширины контейнера для трех блоков в ряд).

Важные замечания

Удаление классов: Из шаблона необходимо убирать классы flex, x3, x4, x5 и другие, связанные с шириной и отступами, чтобы избежать конфликтов с grid.

Обертка меню: На обертку меню добавляется класс, указывающий количество рубрик, чтобы упростить стилизацию без JavaScript.

Адаптивность: В режиме плитки стилизация настраивается через CSS. Можно задавать адаптивные правила или изменять классы размеров динамически.

Отсутствие скриптов: Вывод не содержит JavaScript, поэтому все эффекты и адаптивность реализуются через CSS.


Варианты вывода: 

Данный сайт использует файлы cookie и прочие похожие технологии. В том числе, мы обрабатываем Ваш IP-адрес для определения региона местоположения. Используя данный сайт, вы подтверждаете свое согласие с политикой конфиденциальности сайта.
OK