Все шаблоны с содержимым на одну страницу
Приветствую!
Вдруг появился клиент которые хочет сделать сайт одностраничник aka landing page.
Клиент знает про MODx и попросил сделать на нём. Хочет чтобы каждый блок можно было редактировать как страницу, и в дереве слева, и можно было легко если что менять их порядок.
Как я хотел сделать:
Создать главную страницу, а у нее дочерний страницы с своими шаблонами, в которых прописаны эти блоки, которые парсяться на главную в нужном порядке, но столкнулся с задачкой, что я могу вызвать только контент страницы, а не и их шаблоны.
Вопрос:
Как вывести на одной странице сразу и шаблон страницы, и его содержимое?
То есть он должен брать и оформление шаблона, и содержимое страницы, и возможные всякие TV поля.
Да и возможно ли это? :)
Вдруг появился клиент которые хочет сделать сайт одностраничник aka landing page.
Клиент знает про MODx и попросил сделать на нём. Хочет чтобы каждый блок можно было редактировать как страницу, и в дереве слева, и можно было легко если что менять их порядок.
Как я хотел сделать:
Создать главную страницу, а у нее дочерний страницы с своими шаблонами, в которых прописаны эти блоки, которые парсяться на главную в нужном порядке, но столкнулся с задачкой, что я могу вызвать только контент страницы, а не и их шаблоны.
Вопрос:
Как вывести на одной странице сразу и шаблон страницы, и его содержимое?
То есть он должен брать и оформление шаблона, и содержимое страницы, и возможные всякие TV поля.
Да и возможно ли это? :)
Комментарии: 10
pdoTools умеет использовать в качестве шаблона вывода непосредственно шаблон выводимого ресурса… Василий реализовал это по моей просьбе, кстати… :))))
А хотя бы базовый пример такого вызова в pdoTools можете показать?
[[!pdoResources? &tpl=`@TEMPLATE` ]]
К сниппету написаны очень хорошие манулы.
А, нашел в мануале, спасибо, дальше я сам! :)
На этом сайте Главная страница состоит из 7-ми дочерних, в некоторых из них есть еще дочерние ресурсы, и все выводятся на главную с помощью Pdotools и ms2gallery. Не вижу никаких проблем с этим.
А хотя бы базовый пример такого вызова в pdoTools можете показать?
преимущества:
<div class="uk-container uk-container-center">
<div class="uk-grid ">
<div class="uk-width-1-1 uk-margin-large-top ">
<h3 class="uk-h2 uk-text-center zm-text-danger">[[pdoField? &id=`87`]]</h3>
<hr/>
</div>
</div>
<div class="uk-grid uk-grid-small uk-nbfc" data-uk-grid-match="{target:'.uk-panel'}" >
[[pdoResources?
&tpl=`tpl.benefits.item`
&tplFirst=`tpl.benefits.first.item`
&sortby=`menuindex`
&sortdir=`ASC`
&parents=`87`
]]
</div>
</div>
Галерея:<div class="uk-container uk-container-center uk-margin-large-top uk-margin-small-bottom">
<div class="uk-grid uk-text-center uk-margin-top">
<div class="uk-width-1-1 uk-margin-bottom">
<h3 class="uk-h2 zm-text-danger">[[pdoField? &id=`88`]]</h3>
<hr/>
</div>
</div>
<div class="uk-grid uk-text-center uk-margin-top uk-margin-large-bottom">
<div class="uk-width-1-1">
[[ms2Gallery?
&resource=`88`
&limit=`24`
&frontend_css=``
&frontend_js=``
&tplEmpty=`tpl.ms2Gallery.main-folio.empty`
&tplOuter=`tpl.ms2Gallery.main-folio.outer`
&tplRow=`tpl.ms2Gallery.Main-folio.row`
]]
</div>
</div>
</div>
отзывы:[[pdoResources?
&tpl=`opinion.main.row`
&sortby=`publishedon`
&showUnpublished=`0`
&sortdir=`DESC`
&parents=`264`
&tplWrapper=`opinion.main.outer`
&scheme=`abs`
&loadModels=`ms2gallery`
&leftJoin=`{
"360x270": {
"class":"msResourceFile"
,"alias":"360x270"
,"on": "360x270.resource_id = modResource.id AND 360x270.path LIKE '%/360x270/' AND 360x270.rank=0"
}
}`
&select=`{
"modResource":"*"
,"360x270":"360x270.url as 360x270"
}`
&includeContent=`1`
&includeTVs=`reviews-company,reviews-autor,reviews-project`
&processTVs=`1`
]]
Процес:[[pdoResources?
&tpl=`process.row`
&fastMode=`0`
&sortby=`menuindex`
&sortdir=`ASC`
&parents=`92`
&includeTVs=`process-icon,process-arrow,process-class,process-link`
&processTVs=`1`
&scheme=`abs`
&tplWrapper=`process.outer`
]]
надеюсь этого хватит для начала :-)
Ого! Спасибо! :)
Как раз сегодня в БЦ H2O ездил… Бывают же совпадения…
Тесен мир
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.