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

Опубликовано 12 июня 2023 в 16:46 (Обновлено 30 апреля 2024 в 00:42)
Время чтения: 1 мин

Рассмотрим есть ли в движке 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.