Как в Bludit спрятать пункт меню

Рассмотрим есть ли в движке Bludit функция, которая позволяет выбирать страницы для отображения в главной навигации. Разберемся как сделать так, чтобы убрать пункт меню, если он нам не нужен в главном меню.

Bludit CMS
Bludit CMS

По умолчанию в Bludit нет опции, которая позволяет сделать нам такое действие.

Лучшим решением для этой функции является использование пользовательских полей (custom fields) и изменение php-файла темы, которую вы используете.

Сначала переходим в [Settings] — [General] — [Custom fields]. В русской версии: [Настройки] — [Общие] — [Пользовательские поля].

Здесь мы удаляем квадратные скобки, если у вас только они в текстовом поле и добавляем следующее:

{
    "ShowMenu": {
        "type": "bool",
        "label": "Show in Menu",
        "tip": "Don't show page in menu."
    }
}

Это приведет к тому, что при добавлении страницы в «Опциях» появится новый чекбокс во вкладке [Custom].

Далее нам нужно отредактировать файл navbar.php вашей темы. Адрес будет примерно следующий:

bl-themes/[ваша_тема]/php/navbar.php

Не забудьте, что [ваша_тема] — это название папки с используемой темой Bludit.

В этом файле находим такие строчки кода:

<!-- Static pages -->
<?php foreach ($staticContent as $staticPage): ?>
<li class="nav-item">
<a class="nav-link" href="<?php echo $staticPage->permalink(); ?>"><?php echo $staticPage->title(); ?></a>
</li>
<?php endforeach ?>

И меняем всё это на следующее:

<!-- Static pages -->
<?php foreach ($staticContent as $staticPage):
if ( !$staticPage->custom('ShowMenu')) { ?>
<li class="nav-item">
<a class="nav-link" href="<?php echo $staticPage->permalink() ?>"><?php echo $staticPage->title() ?></a>
</li>
<?php } endforeach ?>

Здесь мы добавили условие ЕСЛИ (if) для пунктов меню у которых будет отмечено «Don’t show page in menu», чтобы они не отображались.

Теперь, если вы отметите чекбокс «Don’t show page in menu» у какой-либо страницы, эта страница не будет отображаться в меню Bludit.

Оригинал статьи
Опубликовано 12 июня 2023 в 16:46
Обновлено 8 сентября 2024 в 14:34
Категория: Блог
Теги: