Вывести статьи автора на странице автора
Вывод в шаблоне:
Готов заплатить за помощь.
[[pdoResources?
&parents=`4,89`
&depth=`10`
&limit=`6`
&tvPrefix=``
&includeTVs=`autor-res,image`
&tpl=`autor-articles`
&where={"autor-res:LIKE":"%[[*autor-res]]%"}
]]TV-поле autor-res, возможные значения в параметрах ввода:@EVAL return $modx->runSnippet('pdoResources',array('parents'=>89,'depth'=>0,'limit'=>0,'sortby'=>'menuindex','sortdir'=>'ASC','tpl'=>'@INLINE [[+pagetitle]]==[[+id]]||','tplLast'=>'@INLINE [[+pagetitle]]==[[+id]]'));Работает, но выводит не только статьи автора страницы, но и статьи других авторов.Готов заплатить за помощь.
Комментарии: 20
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
4 — это родитель ресурсов автора — страницы автора
89 — это родитель(ресурс блог) — страницы блога, т.е. да, список статей
Если вы говорите что 89 это родитель статей, то почему вы его используете в EVAL привязке?
У вас вместо имен авторов, в ТВ поле значит попадают имена статей. (если быть совсем корректным то идентификаторы. )
Там на самом деле чехарда есть с выводом этих авторов, не знаю что именно показывать лучше.
Если вы четко распишите как у вас все организовано и что хотите добиться, вероятность что вам помогут сильно увеличится.
Вы говорите -имя автора, но судя по этому
у вас имя автора — это просто названия каких-то ресурсов.
А для большинства людей, это имена пользователей (users). В modx есть сущность user и именно он подразумевается как автор.
Не понятно, как и написал Артур, зачем вы используете LIKE
Не понятно где именно вы вызываете сниппет pdoResources, а следовательно непонятно есть ли там ТВ [[*autor-res]] которое вы так лихо поместили в where.
и вы хотите чтобы перейдя на нее, были видны и 6 новостей, написанных этим автором.
Но совершенно не ясно, что в вашей логике — имя автора?
Плюс Вы же понимаете, что у вас [[*autor-res]] — это число? Это идентификатор.
Поэтому выборка LIKE применительно к числу, будет давать непредсказуемые результаты.
во первых символ равно не нужно ставить, условие в json формате будет такое {«text»:«hello»}
Но у вас и без "=" мешанина в коде жуткая.
У вас 89 это родитель ресурсов, в которых хранятся имена авторов.
Но этот же родитель 89 у вас участвует в выборке, которая должна выводить новости.
Что-то странное у вас твориться и я по прежнему считаю, что пока вы детально со скринами не расскажите, что вы там напридумывали, никто вам не сможет помочь.
Выводит список статей автора Сергей Н. на его странице, только значения свои подставьте. Или что-то другое имелось ввиду?
mechmedia@yandex.ru
Телеграм:
@Timurkin
Если кто-то готов помочь за вознаграждение.
Не зря же тире не входит в список разрешенных символов для именования переменных в php. Попробуйте сменить тире на нижнее подчеркивание.
И, да — LIKE в данном случае неуместен, полностью согласен с Артуром и Александром.
Остальным спасибо за подсказки и участие.
С кодом все в порядке, проблема была банальна, надо было использовать в where другое tv-поле автора(не было связи с нужным tv-полем).