Fenom: Не выводится чанк при условии

Привет!..
Создан TV — latestTag (список-одиночный выбор 0==Нет||1=Да)
В tpl_latestTag обычный span с текстом
Пытаюсь вывести
{if $_modx->resource.latestTag == '1'}
{$_modx->getChunk('tpl_latestTag')}
{/if}
А он не выводится. Что я делаю не так?
Сергей
21 ноября 2019, 10:06
modx.pro
1 545
0

Комментарии: 7

Антон Тарасов
21 ноября 2019, 11:57
0
{if $_modx->resource.latestTag == '1'}
<p>Что-нибудь</p>
{/if}
«Что-нибудь» выводится?
<p>{$_modx->resource.latestTag}</p>
А здесь что выводится?
    Дмитрий Середюк
    21 ноября 2019, 12:02
    0
    У вас в ТВ Нет и Да значения
    в вашем варианте вот так
    {if $_modx->resource.latestTag  == 'Да'}
        {include 'tpl_latestTag'}
    {/if}
    или в самом ТВ поменяйте на
    Нет==0||Да==1
    И ваш вариант должен заработать
      Сергей
      21 ноября 2019, 17:06
      0
      Видимо, я не совсем корректно написал. Есть страница с шаблоном, к примеру (Категория), есть страницы с шаблоном, к примеру (Продукт). На странице с шаблоном «Категория» выводятся карточки с данными страниц с шаблонами (Продукт). У TV «latestTag» стоит доступ для шаблона «Продукт».
      Если у TV выставить доступ для шаблона «Категория» и на странице категории отметить «Да», то все показывается.
      Как можно «привязать TV не открывая доступ для шаблона „Категория“.
        Александр Мельник
        21 ноября 2019, 20:37
        0
        Ох накрутили вы).
        Что вы хотите в финале получить?
        ТВ… не открывают доступ к шаблонам или как вы там сформулировали.
        Обращаясь к
        $_modx->resource.latestTag
        вы обращаетесь к текущему ресурсу. Если вы вызываете это на странице категории, но к категориям не привязан данный ТВ то вы ничего и не получите.
        Если вы хотите на странице категории прописать какое-то условие, связанное с ТВ которое есть у продукта, вам нужно получить это значение у какого-то конкретного продукта. к примеру так
        {55|resource:'latestTag'}
        где 55 айдишник какого-то товара.
        Но скорее всего вы хотите что то делать с этим ТВ у товара, только не на странице товара, а в категории. Вы пишите
        На странице с шаблоном «Категория» выводятся карточки с данными страниц с шаблонами (Продукт).
        Как выводятся? Наверное же каким-то сниппетом? К примеру если это pdoResources то нужно воспользоваться параметром includeTVs и добавить к выборке ваше ТВ. Тогда в чанке, который отвечает за отображение одного товара вы сможете оперировать
        {if $latestTag  == 'Да'}
            {include 'tpl_latestTag'}
        {/if}
        И кстати последуйте совету Дмитрия, перепишите варианты выбора для ТВ. Правильнее Нет==0||Да==1 Тогда в выпадающем списке вы будете видеть Да или Нет, а в коде оперировать нулем или единицей.
          Сергей
          21 ноября 2019, 23:28
          0
          Как выводятся? Наверное же каким-то сниппетом? К примеру если это pdoResources
          Да, действительно, в категории выводится pdoResources. И в
          &includeTVs=`productThumbImg, latestTag`
          добавлен. И в чанке, который отвечает за отображение товара прописано (с учетом рекомендаций Дмитрия, за что ему спасибо). Но не выводится.
            Александр Мельник
            21 ноября 2019, 23:41
            0
            {'pdoResources'|snippet:[
            ***
            ***
            'tvPrefix'=>''
            ]}
            без такой надписи к имени ТВ добавляется tv.latestTag
            добавив ее вы сможете обращаться просто к {latestTag}
              Олег Щавелев
              22 ноября 2019, 00:22
              0
              Да Александр прав.

              С параметром 'tvPrefix'=>''

              Единственно хотел поправить {latestTag} а {$latestTag}

              Проверку в шаблоне делаем так

              {if $latestTag == 'Да'}
              Что делаем
              {/if}
              Если у Вас параметр по умолчанию

              {$tv.latestTag}
              Проверку в шаблоне делаем так

              {if $tv.latestTag == 'Да'}
              Что делаем
              {/if}
              Если что-то не понятно распечатайте и посмотрите

              <pre>
              {'!pdoResources'|snippet:[
              ...
              'tpl' => '',
              'includeTVs' => 'productThumbImg, latestTag',
              'tvPrefix'=>''
              ...
              ]}
              </pre>
              Проверяйте данные которые приходят в шаблон Вам будет проще разобраться в проблеме и сформулировать вопрос.

              Удачи!
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          7