Как выводить почти одинаковые блоки контента на разных страницах?
Приветствую.
Сразу пример.
На сайте есть продукты
Можно сделать чанки с описанием для производителей и добавлять имена чанков в дополнительное поле ресурса, но мне этот вариант не кажется оптимальным, так как придется искть чанк и вписывать его имя. Возможно, можно было бы сделать отдельную папку с ресурсами, в которых было бы описание произовдителей и потом в ресурсе просто выбирать из существующих произовдителей и информация автоматом подтягивалась бы из ресурса произовдителя по аналогии с чанком. Возможно, этот вариант так же не очень. В общем, ищу оптималный вариант реализаци. Посоветуйте с высоты вашего опыта решение: где хранить информацию о производителя, как выбирать, выводить.
Сразу пример.
На сайте есть продукты
- продукт 1
- продукт 2
- продукт 3
- продукт 4
- продукт 5
- продукт 6
- продукт n
- произовдитель 1
- произовдитель 2
- произовдитель n
Можно сделать чанки с описанием для производителей и добавлять имена чанков в дополнительное поле ресурса, но мне этот вариант не кажется оптимальным, так как придется искть чанк и вписывать его имя. Возможно, можно было бы сделать отдельную папку с ресурсами, в которых было бы описание произовдителей и потом в ресурсе просто выбирать из существующих произовдителей и информация автоматом подтягивалась бы из ресурса произовдителя по аналогии с чанком. Возможно, этот вариант так же не очень. В общем, ищу оптималный вариант реализаци. Посоветуйте с высоты вашего опыта решение: где хранить информацию о производителя, как выбирать, выводить.
Комментарии: 7
В настройкам minishop2 есть производители, там есть описание.
[[+vendor.description]]
на странице товара.
Забыл добавить в вопросе информацию о том, что все делается через ресурсы, без minishop2.
Да оба варианта, что вы описали, приемлемы и одинаковы плюс минус.
Выбирайте, что нравится и что удобнее в других задачах.
Если у вас и так есть странички производителей, то, конечно, описание нужно к ним добавить.
Выбирайте, что нравится и что удобнее в других задачах.
Если у вас и так есть странички производителей, то, конечно, описание нужно к ним добавить.
Сделал папку с брендами. В контент добавил описание и вывел все это дело вот так:
{'pdoResources' | snippet : [
'parents' => '1',
'depth' => '0',
'includeContent' => '1',
'tpl' => '@INLINE {{+content}}',
'where' => '{"pagetitle":"[[*brand]]"}',
]}
Но только не пойму почему в условии where
я могу использовать только такую запись [[*brand]]
, а вот такую {$_modx->resource.brand}
— нет. {'pdoResources' | snippet : [
'parents' => '1',
'depth' => '0',
'includeContent' => '1',
'tpl' => '@INLINE {{+content}}',
'where' => '{"pagetitle":"' ~ $_modx->resource.brand ~ '"}',
]}
Но где же об этом написано, где объяснено? :)
Если уж корректируете код и используете феном — старайтесь корректировать его до конца
В чанках нужно использовать родной синтаксис фенома и вызывать плейсхолдеры через $
так и запись проще получается без конкатенации и можно использовать многострочный ввод
В чанках нужно использовать родной синтаксис фенома и вызывать плейсхолдеры через $
'tpl' => '@INLINE {$content}',
where должен использовать массив данных. для фенома это [ ]так и запись проще получается без конкатенации и можно использовать многострочный ввод
'where' => [
"pagetitle" => $_modx->resource.brand
]
Итого получаем{'pdoResources' | snippet : [
'parents' => '1',
'depth' => '0',
'includeContent' => '1',
'tpl' => '@INLINE {$content}',
'where' => [
"pagetitle" => $_modx->resource.brand
]
]}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.