Текст становится ссылкой при условии заполненного поля в ресурсе на который должна вести ссылка

На главной странице есть список услуг (название услуги — цена).


Выводятся они через pdoResources. Каждая услуга — это отдельный ресурс.

В качестве примера возьмём две услуги с главной страницы:
  • Установка унитаза
  • Установка смесителя
Оба пункта ведут на свои страницы — стр «Установка унитаза» и стр «Установка смесителя» соответственно.
Вот что нужно:
Если на странице (в ресурсе) установка унитаза есть текст, значит пункт «Установка унитаза» на главной странице будет ссылкой. Если же текста нет, значит пункт «Установка унитаза» на главной странице должен быть обычным текстом (не ссылкой). Тоже самое и для других пунктов.
Как это реализовать ума не приложу. Подскажите пожалуйста. Премного благодарен)))).
Alejandro
27 октября 2018, 15:13
modx.pro
1
714
0

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

Дмитрий
27 октября 2018, 16:06
2
+1
Добрый день!

Я бы делал так (синтаксис fenom):

{$_modx->runSnippet('pdoResources',[
  'parents' => 0,
  'limit' => 0,
  'tpl' => '@INLINE {if $id|resource:"content"}<a href="{$id|url}">{$pagetitle}</a>{else}<span>{$pagetitle}</span>{/if}'
])}
Или просто код шаблона результата:

{if $id|resource:"content"}<a href="{$id|url}">{$pagetitle}</a>{else}<span>{$pagetitle}</span>{/if}
    Alejandro
    27 октября 2018, 20:50
    0
    Спасибо огромное!
      Alejandro
      31 октября 2018, 15:35
      0
      А если делать зависимость не с контентом а с публикацией ресурса? Т.е. если ресурс опубликован то одно, а если нет — другое. Можно это как то сделать? Заранее спасибо за ответ
        Дмитрий
        31 октября 2018, 16:23
        +1
        {if $id|resource:"published"}<a href="{$id|url}">{$pagetitle}</a>{else}<span>{$pagetitle}</span>{/if}
        И параметр showUnpublished выставить на 1 в вызове pdoResources
          Alejandro
          31 октября 2018, 17:07
          0
          спасибо большое. А где можно найти информацию по условиям, какие бывают и пр???
            Alejandro
            02 ноября 2018, 19:56
            0
            Слушай, а как это же вывести в getimagelist? Просто там синтаксис fenom не поддерживается(((.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        6