Настройка вывода блоков в статьях (fenom)

Настройка вывода блоков в статьях MODX Revo

В данном уроке сделаем возможность в статьях MODX, отключать вызов созданных ранее блоков: вывод meta информации, вывод блока: предыдущая / следующая статьи, автоперелинковки, блока автора, отключение возможности комментирования.

Шаг 1. Создание TV полей

Перед тем как создавать TV, создадим в админке категорию «Отключение блоков».

Создание новой категории

и в данной категории создадим Дополнительное поле (TV) c названием: «hideMeta», подписью: «Скрыть вывод meta информации?» и переходим во вкладку «Параметры ввода».

Создание дополнительного поля

На вкладке «Параметры ввода», в поле «Тип ввода» выбираем «Флажки», В поле «Возможные значения», пишем «да» и переключаемся во вкладку «Доступно для шаблонов».

Задаем параметры ввода TV

В вкладке «Доступно для шаблонов» выбираем шаблон и сохраняем TV.

Выбираем шаблон и сохраняем TV

Точно также создайте еще 4 TV поля:

  1. hideNetbiros — Скрыть вывод блока: предыдущая / следующая статьи?
  2. hidePerelincovka — Скрыть автоперелинковку?
  3. hideAutors — Скрыть блок автора?
  4. hideComents — Скрыть форму комментирования?

Примечание! Можно просто скопировать созданное TV поле с его параметрами.

Копирование TV полей

Шаг 2. Выносим блоки в отдельные чанки

Чтобы скрывать вывод блоков, нам их желательно (но не обязательно, см. Вызов блоков (с условием), но без создания чанков) вынести в отдельные чанки. Для этого, открываем наш шаблон статьи «ArticleTemplate.tpl», находим в нем блок к примеру с meta информацией, выделяем и вырезаем его код.

Вырезаем блок автора

Далее создаем чанк «hideMeta.tpl» или просто «Meta.tpl», вставляем в него вырезанный код и сохраняем.

Быстрое создание файловых чанков

Таким же образом выносим все остальные блоки в чанки: hideNetbiros.tpl, hidePerelincovka.tpl, hideAutors.tpl, hideComents.tpl.

Примечание! Для тех кто работает не с файловыми элементами, вы просто создаете чанк «hideMeta», «hideNetbiros» и т.д.

Вызываем чанки (с условием)

В местах от куда вырезали код, вызываем наши чанки, таким образом

{if $_modx->resource.hideMeta?} {else} {include 'file:chunks/blog/hideMeta.tpl'} {/if}

Здесь идет обычное условие: если TV поле заполнено (т.е. стоит чекбокс), тогда не чего не выводим в код, в противном случае выводим содержимое чанка. Таким же образом выводим все остальные чанки:

Примечание! Для тех кто работает не с файловыми элементами, обычные чанки выводятся на феном так: {include 'my_chunk'}.

Вызов блоков (с условием), но без создания чанков

Не хотите плодить чанки, без проблем, можно просто обернуть код в точно такую же конструкцию:

{if $_modx->resource.hideMeta?} {else} здесь код блока {/if}

Скрытие блоков без создания чанков

Заключение

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

Скрываем блоки

Все работает!

статья без блоков

Поделиться с друзьями
Алексей

Веб-дизайнер и SEO оптимизатор. Занимаюсь созданием сайтов с 2010 года и их продвижение с 2012 года!

Оцените автора
( Пока оценок нет )
Web-Revenue.ru
Добавить комментарий

  1. Алиса

    А вы не подскажите, как надо написать обычным ситаксисом, а не fenom приведенный код выше?

    Ответить
    1. Алексей автор

      [[*hideMeta:!empty=`[[$hideMeta]]`]]

      Ответить