Подскажите пожалуйста такой момент.
Я добавляю микроразметку, но валидатор требует чтобы у каждой крошки был мета-тег position (<meta itemprop="position" content="тут номер элемента" />
).
Проблема в том, что нужно сделать счетчик именно в коде MODX, чтобы в content ставился индекс крошки, у меня даже идей особо нету как это сделать.
Вот весь код хлебных крошек:
[[BreadCrumb?
&containerTpl=`@INLINE <ul id="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList">[[+crumbs]]</ul>`
&homeCrumbTpl=`@INLINE <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="[[+link]]" itemprop="item"><span itemprop="name">[[+pagetitle]]</span></a><meta itemprop="position" content="" /></li>`
¤tCrumbTpl=`@INLINE <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><span itemprop="name">[[+pagetitle]]</span><meta itemprop="position" content="" /></li>`
&linkCrumbTpl=`@INLINE <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="[[+link]]" itemprop="item"><span itemprop="name">[[+pagetitle]]</span></a><meta itemprop="position" content="" /></li>`
&categoryCrumbTpl=`@INLINE <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="[[+link]]" itemprop="item"><span itemprop="name">[[+pagetitle]]</span></a><meta itemprop="position" content="" /></li>`
&maxCrumbTpl=`@INLINE <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><span itemprop="name">...</span></li>`]]
В последней версии Breadcrumb 1.4.4 добавлен плейсхолдер [[+position]], так что можете использовать плагин без костылей сейчас.
Могу только предложить использовать pdoCrumbs из библиотеки pdoTools (https://modx.com/extras/package/pdotools?version=557c464fdc532f69510518f6) там есть чанк [[+idx]]
который содержит порядковый номер элемента.
Документация: https://docs.modx.pro/komponentyi/pdotools/snippetyi/pdocrumbs
Cниппет BreadCrumb
не поддерживает плейсхолдер для значений порядковых номеров элементов.
Посмотрите в сторону использования сниппета pdoCrumbs
.
Если по каким-то причинам вы хотите решить задачу на сниппете Breadcrumb
, то вы можете добавить требуемый плейсхолдер сами, слегка изменив его код:
$bc = 0;
$placeholders = array_merge($resource->toArray(), array('link' => $link, 'idx' => ++$bc));
После этого вы сможете использовать плейсхолдер [[+idx]]
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
При попытке вывести любой элемент массива получаю undefined, однако если вывести весь массив через consolelog, то он выводится
Нужно создать двусвязный список и проделать с ним некоторые действия - a) Добавить новый элемент в начало, b) Убрать первый элемент, c) Добавить...