Как сделать оглавление страниц сгенерированных при помощи pdoPage из полей MIGX?
Привет всем!
Есть ресурс. У ресурса есть дополнительное поле «chapter» с типом MIGX в строках которого храню:
Делаю вывод полей MIGX при помощи pdoPage таким образом, чтобы на одной странице были значения одной строки поля MIGX (limit=1).
Вот вывод:
Но мне нужно сделать список из ссылок примерно вот такого вида:
1. Заголовок 1-й строки поля MIGX
2. Заголовок 2-й строки поля MIGX
3. Заголовок 3-й строки поля MIGX
и т. д, где соответствующие заголовки подставлялись бы из соответствующих строк поля MIGX.
Я думал решит эту задачу модернизацией стандартных чанков pdoPage (&tplPageActive, &tplPageWrapper и пр.) добавив в них значение одной из колонок поля MIGX (например «set»), но не понимаю как передать значение нужного поля в чанк. Если передаю при помощи getImageList, то передаются значения всех строк и получается примерно такая фигня.
1.
2. Заголовок 1-й строки поля MIGX, Заголовок 2-й строки поля MIGX, Заголовок 3-й строки поля MIGX
3.
Вот пример моего вызова для чанка tplPage:
Помогите с решением этой задачи!
Есть ресурс. У ресурса есть дополнительное поле «chapter» с типом MIGX в строках которого храню:
- заголовок (field: set);
- картинку (field: image);
- длинный текст (field: description).
Делаю вывод полей MIGX при помощи pdoPage таким образом, чтобы на одной странице были значения одной строки поля MIGX (limit=1).
Вот вывод:
{$_modx->runSnippet("pdoPage",[
'element'=>'getImageList',
'limit'=>'1',
'tvname'=>'chapter',
'tpl'=>'tpl_chapter',
])}
{$_modx->getPlaceholder('page.nav')}
Подключаю пагинацию (pageNav) и получаю этакую навигацию по строкам поля MIGX.Но мне нужно сделать список из ссылок примерно вот такого вида:
1. Заголовок 1-й строки поля MIGX
2. Заголовок 2-й строки поля MIGX
3. Заголовок 3-й строки поля MIGX
и т. д, где соответствующие заголовки подставлялись бы из соответствующих строк поля MIGX.
Я думал решит эту задачу модернизацией стандартных чанков pdoPage (&tplPageActive, &tplPageWrapper и пр.) добавив в них значение одной из колонок поля MIGX (например «set»), но не понимаю как передать значение нужного поля в чанк. Если передаю при помощи getImageList, то передаются значения всех строк и получается примерно такая фигня.
1.
2. Заголовок 1-й строки поля MIGX, Заголовок 2-й строки поля MIGX, Заголовок 3-й строки поля MIGX
3.
Вот пример моего вызова для чанка tplPage:
@INLINE <li class="page-item"><a class="page-link" href="[[+href]]">[[+pageNo]][[getImageList? &tvname=`chapter` &tpl=`@CODE: [[+set]]`]]</a></li>
Помогите с решением этой задачи!
Комментарии: 4
1. Вы можете получить значение tv chapter в виде массива и обработать его в foreach.
Пример:
Пример:
{set $chapter = $_modx->resource.chapter | fromJSON}
<ul>
{foreach $chapter as $ch}
<li>
<a href="#">{$ch.link}</a>
</li>
{/foreach}
</ul>
Александр, спасибо за ответ!
Получилось реализовать то, что хотел вот так:
Получилось реализовать то, что хотел вот так:
{set $rows = $_modx->resource.chapter | fromJSON}
<ul>
{foreach $rows as $idxArr => $row}
{set $idxMIGX = $row['MIGX_id']}
<li>
<a href="{$_modx->resource.id | url}?page={$row['MIGX_id']}">{$row.set}</a>
</li>
{/foreach}
</ul>
Правда этот вызов я делаю отдельно, не в чанках pdoPage, как изначально думал.
Зачем эта строчка, если вы ее потом не используете?
{set $idxMIGX = $row['MIGX_id']}
И правда, лишняя) У себя убрал, спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.