Вывод tv-поля как ресурса и вывод в этом ресурсе других ресурсов(в которых есть исходное tv)
У меня сайт-блог, и надо вывести авторов каждой статьи в самой статье, чтобы каждой автор был ссылкой на страницу этого автора.
В шаблоне статьи вывожу авторов:
На выходе на странице статьи теперь выводятся все авторы(они являются ссылками как и должно быть).
Но как сделать, чтобы на конкретной статье, выводился автор именно этой статьи, а не все авторы?
Статьи выводятся через Коллекции при этом.
В шаблоне статьи вывожу авторов:
[[pdoResources?
&parents=`89`
&tpl=`autor-res-tpl`
]]
Шаблон autor-res-tpl:<div class="item">
<div class="item-title">
<a href="[[~[[+id]]]]">[[+pagetitle]]</a>
</div>
</div>
В свою очередь в ресурсах создал родительский Авторы(id=89) и дочерние Автор1, Автор2 итдНа выходе на странице статьи теперь выводятся все авторы(они являются ссылками как и должно быть).
Но как сделать, чтобы на конкретной статье, выводился автор именно этой статьи, а не все авторы?
Статьи выводятся через Коллекции при этом.
Комментарии: 15
вам надо к статьям добавить одинарный селект, с выводом всех авторов через pdoresource и далее выводить в статьях нужного автора со ссылкой на него
@EVAL return $modx->runSnippet('pdoResources',array('parents'=>44,'depth'=>0,'limit'=>0,'sortby'=>'menuindex','sortdir'=>'ASC','tpl'=>'@INLINE [[+pagetitle]]==_[[+pagetitle]]_||','tplLast'=>'@INLINE [[+pagetitle]]==_[[+pagetitle]]_'));
Одинарный селект это TV?
А как pdoresource при этом прописать правильно?
А как pdoresource при этом прописать правильно?
'tpl'=>'@INLINE [[+pagetitle]]==[[+id]]||','tplLast'=>'@INLINE [[+pagetitle]]==[[+id]]'
вот статью почитайте @eval @select
Сделал для tv-поля autor-res:
@EVAL return $modx->runSnippet('pdoResources',array('parents'=>89,'depth'=>0,'limit'=>0,'sortby'=>'menuindex','sortdir'=>'ASC','tpl'=>'@INLINE [[+pagetitle]]==_[[+pagetitle]]_||','tplLast'=>'@INLINE [[+pagetitle]]==_[[+pagetitle]]_'));
Вывожу в шаблоне статьи:[[pdoResources?
&parents=`89`
&includeTVs=`autor-res`
&depth=`0`
&tpl=`autor-res-tpl`
]]
Чанк:<div class="item">
<div class="">
<a href="[[~[[+id]]]]">[[+pagetitle]]</a>
</div>
</div>
Но по прежнему выводится не автор конкретной статьи, а все авторы(потомки ресурса 89)
объяснять похоже будет дольше чем помочь, пишите whatsapp +79195151313
Станислав, спасибо за помощь!
Если кому пригодится, для tv-поля автора прописываем:
Если кому пригодится, для tv-поля автора прописываем:
@EVAL return $modx->runSnippet('pdoResources',array('parents'=>89,'depth'=>0,'limit'=>0,'sortby'=>'menuindex','sortdir'=>'ASC','tpl'=>'@INLINE [[+pagetitle]]==[[+id]]||','tplLast'=>'@INLINE [[+pagetitle]]==[[+id]]'));
И в шаблоне статьи выводим:<a href="[[~[[*autor-res]]]]"><span itemprop="name">[[#[[*autor-res]].pagetitle]]</span></a>
Если кто-то может подсказать, как теперь вывести на странице автора все его статьи?
Шаблон страницы автора:
Шаблон страницы автора:
[[pdoResources?
&parents=`4,89`
&depth=`8`
&tvPrefix=``
&includeTVs=`autor-res`
&tpl=`autor-articles`
&where={"autor-res:LIKE":"%[[*autor-res]]%"}
]]
Чанк:<div class="col-md-4">
<div class="article-preview wide">
<div class="title">
<a href="[[~[[+id]]]]">[[+pagetitle]] | [[#[[+autor-res]].pagetitle]]</a>
</div>
<div class="dsc">
[[+introtext]]
</div>
</div> <!-- article-preview -->
</div>
Сейчас выводятся статьи разных авторов, а надо, чтобы вывелись только статьи того автора(autor-res), на странице которого мы находимся.
[[!pdoResources?
&parents=`4,89`
&depth=`8`
&tvPrefix=``
&includeTVs=`autor-res`
&tpl=`autor-articles`
&where={"id:=":"[[+autor-res]]"}
]]
Тоже не работает :(
Выводит первые три статьи(разных авторов).
А далее просто выводит других авторов
Выводит первые три статьи(разных авторов).
А далее просто выводит других авторов
[[pdoResources?
&parents=`4,89`
&depth=`8`
&tvPrefix=``
&includeTVs=`autor-res`
&tpl=`autor-articles`
&tvFilters=`id==%[[*autor-res]]%`
]]
Тоже не работает
я поправил
Так вообще ничего не выводит(
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.