pdoResources параметр toSeparatePlaceholders вызывает ошибку
Здравствуйте.
Пытаюсь вывести статьи в разные плейсхолдеры через pdoResources, но почему-то ничего не получается, выскакивают ошибки PHP. Пытался и через fenom и через обычный синтаксис. Подозреваю, что это именно я делаю что-то не так, но понять не получается…
Пытаюсь вывести статьи в разные плейсхолдеры через pdoResources, но почему-то ничего не получается, выскакивают ошибки PHP. Пытался и через fenom и через обычный синтаксис. Подозреваю, что это именно я делаю что-то не так, но понять не получается…
{*'pdoResources' | snippet : [
'parents' => 8,
'limit' => 5,
'includeTVs' => 'img',
'sortby' => 'menuindex',
'sortdir' => 'ASC',
'toSeparatePlaceholders' => 'myarticle'
]*}
[[pdoResources?
&parents = 8
&limit = 5
&includeTVs = `img`
&sortby = `menuindex`
&sortdir = `ASC`
&toSeparatePlaceholders = `myarticle`
]]
Комментарии: 11
а если всё в обычный плейсхолдер засунуть, будет работать? типа myarticle[0].title и т.д… я что-то правда не ожидал, что на этом сниппете споткнусь (… просто сейчас делаю дальше, но этот вопрос висит ((
Хорошо бы увидеть ошибки
Ну и непонятно, что ты хотел получить вот так myarticle[0].title? Заголовок отдельной статьи? Во-первых, если верить документации, плейсхолдеры будут [[+myarticle0]], [[+myarticle1]] или на fenom {'myarticle0' | placeholder}, {'myarticle1' | placeholder}. Во-вторых, вряд ли по умолчанию там будет массив, скорее всего строка, даже при отсутствии шаблона, если нужен массив можно попробовать &return=`data`
вроде работает по вашей подсказке, толком не смотрел ещё, но кажется всё ок )
{set $test = 'pdoResources' | snippet : [
'parents' => '8',
'limit' => '5',
'includeTVs' => 'img',
'sortby' => 'menuindex',
'sortdir' => 'ASC',
'return' => 'data'
]}
{$test[0].pagetitle}
{$test[0].introtext}
{$test[0].uri}
{$test[0].tv.img}
остается только в чанке с версткой эти элементы распихать по нужным блокам
«по уродски конечно получается»… тупо вставлять переменные… но не мы такие, вёрстка такая ))
toSeparatePlaceholders выводит каждый элемент распарсеный в TPL-ке. Те он не выведет вам test.pagetitle.
Чтобы toSeparatePlaceholders работал необходимо указать tpl.
и уже распарсеный html будет выводиться через плейсхолдеры будут [[+myarticle0]], [[+myarticle1]] или на fenom {'myarticle0' | placeholder}, {'myarticle1' | placeholder}
О чем Артур и написал.
Вариант последний на феноме нужен если вам точечно нужно расставить данные прям в капец верстке.
через foreach можно, кстати, забацать любую проблемную верстку. но чтобы что-то конкретное посоветовать нужно знать что там с версткой.
Чтобы toSeparatePlaceholders работал необходимо указать tpl.
и уже распарсеный html будет выводиться через плейсхолдеры будут [[+myarticle0]], [[+myarticle1]] или на fenom {'myarticle0' | placeholder}, {'myarticle1' | placeholder}
О чем Артур и написал.
Вариант последний на феноме нужен если вам точечно нужно расставить данные прям в капец верстке.
через foreach можно, кстати, забацать любую проблемную верстку. но чтобы что-то конкретное посоветовать нужно знать что там с версткой.
спасибо, я уже «по простому забацал» как Вы посоветовали… только с допполями не могу сообразить
только ещё доп.поля почему-то не подтягиваются — но это я видимо сам уже опять туплю
добавил в вызов сниппета, что бы без префикса стали доп.поля — вроде все заработало )
'tvPrefix'=>'',
как же у вас всё «сложно» в этом модексе, всю голову можно сломать пока разберешься ( {set $articles = 'pdoResources' | snippet : [
'parents' => '8',
'limit' => '5',
'includeTVs' => 'img',
'sortby' => 'menuindex',
'sortdir' => 'ASC',
'tvPrefix'=>'',
'return' => 'data'
]}
и дальше уже по верстке:<section class="building">
<div class="container">
<h3 class="title">{$title}</h3>
<div class="building__inner">
<div class="building__blocks">
<div class="building__block building__block-1">
<div class="title">{$articles[0].pagetitle}</div>
<div class="subtitle">{$articles[0].introtext}</div>
<a href="{$_modx->config.site_url}{$articles[0].uri}" class="btn">ПОДРОБНЕЕ</a>
</div>
<div class="building__block building__block-2">
<div class="title">{$articles[1].pagetitle}</div>
<div class="subtitle">{$articles[1].introtext}</div>
<a href="{$_modx->config.site_url}{$articles[1].uri}" class="btn">ПОДРОБНЕЕ</a>
</div>
</div>
<div class="building__blocks">
<div class="building__block building__block-3">
<div class="photo"><img src="{$_modx->config.site_url}{$articles[2].img}" alt="{$articles[2].pagetitle}"></div>
<div class="content">
<div class="title">{$articles[2].pagetitle}</div>
<a href="{$_modx->config.site_url}{$articles[2].uri}" class="btn">ПОДРОБНЕЕ</a>
</div>
</div>
<div class="building__block building__block-4">
<div class="title">{$articles[3].pagetitle}</div>
<div class="subtitle">{$articles[3].introtext}</div>
<a href="{$_modx->config.site_url}{$articles[3].uri}" class="btn">ПОДРОБНЕЕ</a>
</div>
<div class="building__block building__block-5">
<div class="photo">
<img src="{$_modx->config.site_url}{$articles[4].img}" alt="{$articles[4].pagetitle}">
</div>
<div class="content">
<div class="title">{$articles[4].pagetitle}</div>
<a href="{$_modx->config.site_url}{$articles[4].uri}" class="btn">ПОДРОБНЕЕ</a>
</div>
</div>
</div>
</div>
</div>
</section>
// и т.д.
Спасибо за помощь!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.