Как вывести TV — чекбокс только для текущей станицы?

Прошу помочь решить задачу:
На некоторых страницах планирую выводить предупреждающее окно через галочку. Если предупреждение необходимо на странице (текущем ресурсе) - ставится галочка в tv-поле текущего ресурса.

Я поступил так:
1. Создал чанк, в котором будет данное предупреждающее окно.
Этот чанк идет по умолчанию со значением "display: none".

<div class="none [[+tv.active]]">
    <div>предупреждающее окно</div>
</div>


2. Стили

.active{
    display: block !important;
}
.none{
    display: none;
}


3. В шаблоне старницы вызываю данный чанк так:

[[pdoResources?
        &parents=`0` // если не задавать 0, ничего не выводится
        &templates=`temp` // текущий шаблон
        &limit=`1` // лимит
        &select=`id` // так понимаю, должен вызывать чанк только для текущей страницы	
        &tpl=`chunk` // чанк, который вызываю
        &includeTVs=`active` // tv, где я ставлю галочку в чекбоксе
    ]]


4. В итоге, когда я ставлю галочку на текущем ресурсе, предупреждающее окно появляется на всех страницах шаблона.
Т.е. класс "active" присваивается к чанку на всех страницах шаблона.
Как сделать так, чтобы галочка применялась только к текущему ресурсу?

Заранее благодарю!
  • Вопрос задан
  • 27 просмотров
Решения вопроса 1
an-tar
@an-tar
Full stack web developer
Сложно реализовали, почему не вот так например:
<div class="none [[*active]]">
    <div>предупреждающее окно</div>
</div>


Вызываете это в шаблоне, для страницы, где TV указан(в настройках поля надо указать, что при его выборе он получает значение "active"), этот блок получит нужный класс.
Ну и конечно страница имеет шаблон, для которого привязан этот TV(иначе в бекенде не укажете).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы