fastField и незаполнное TV поле
вывожу TV поле с помощью такого кода
пробовал такой код
[[#[[*cap]].uri]]
все работает пока это поле заполнено, если незаполнено выводится в логах ошибка[2020-05-12 17:32:16] (ERROR @ /var/www/.ru/core/model/modx/modparser.class.php : 541) Could not find snippet with name #.uri.
смысл понятен, я вызываю неизвестно что. вопрос как убрать ошибку?пробовал такой код
{if $_modx->resource.cap}<a href="[[#[[*cap]].uri]]">аа</a>{else}нет инфы{/if}
«нет инфы» выводится, но ошибки в логах все равно остаются. можно конечно не обращать внимание, но хотелось бы чтобы не засорялся лог ошибок. Комментарии: 9
Используй 1 синтаксис
Либо
{if $_modx->resource.cap?}
<a href="{$_modx->resource.cap | resource : 'uri'}">{$_modx->resource.cap | resource : 'pagetitle'}</a>
или
<a href="{$_modx->resource.cap | url}">{$_modx->resource.cap | resource : 'pagetitle'}</a>
{else}
нет инфы
{/if}
Либо
[[*cap:notempty=`<a href="[[#[[*cap]].uri]]">[[#[[*cap]].pagetitle]]</a>`]]
или
[[*cap:notempty=`<a href="[[~[[*cap]]]]">[[#[[*cap]].pagetitle]]</a>`]]
Спасибо, то что надо
еще вопрос, пошел по первому пути, он больше подходит, но на одной странице есть вызов сниппета
[[!pdoResources?
&parents=`137`
&tpl=`tpl.mprojects`
&sortby=`{"pm2":"DESC", "pm1":"DESC"}`
&where=`{"pagetitle":"[[*id]]"}`
&limit=`0`
&showUnpublished=`1`
&idmem=`[[*id]]`
&leftJoin=`{
"p1": {
"class": "modResource",
"on": "p1.id = modResource.id"
},
"p2": {
"class": "modResource",
"on": "p2.id = p1.parent"
}
}`
&select=`{
"modResource": "*",
"p1": "COALESCE(p1.menuindex, 999999999) as pm1",
"p2": "COALESCE(p2.menuindex, 999999999) as pm2"
}`
]]
и с ним он конфликтует/var/www/data/www/s.ru/core/components/pdotools/model/pdotools/pdotools.class.php : 989) Unexpected token ':' in b7b298b993896f7b869f4d5ffc13576c line 142, near '{"pm2":' <- there
можно их как-то подружить?
Или выключите системную настройку log_snippet_not_found
Хотелось все же без ошибок быть, а не игнорировать их. Но буду знать, что можно выключать отдельные типы ошибок, спасибо.
Создай сниппет ".uri", который ничего не делает.
Я избавился от этой ошибки таким способом
[[#[[*cap:default=`11`]].uri]]
нет, мне это не подойдет. Вы подставляете дефолтное значение, а мне нежно в одном случае в принципе не выводить ссылку, в другом выводить, но не ссылку, а текст.
У Бахи то что надо. Я просто дефолтным значением например на 404 стр избавился от ошибки в логах, теперь чисто
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.