Как сделать MIGX доступным нескольким шаблонам?
Задача: организовать отображение акций на двух страницах. На главной странице акции отображаются в виде слайдера, каждый слайд которого ведет страницу акций по уникальному id данной акции.
Код главной:
Соответственно, создаю 2 шаблона — «Главная» и «Акции» и 1 TV поле типа MIGX, которому прописываю поля «название акции», «картинка для слайдера», «картинка для страницы акции», «описание акции». Делаю поле доступным для обоих шаблонов. Из-под учетки контент-менеджера заполняю эти поля для шаблона главной, открываю страницу акций — пусто. Иду в админку, оставляю доступ MIGX поля только для одного шаблона «Акции», контент-менеджером заполняю их, открываю страницу акций — вижу то, что хотел. Открываю главную — вижу совершенно не то, что заполнил контент-менеджером, а то, что было до этого, перед тем, как снял доступ MIGX поля для шаблона «Главная». Т.е. действия контент-менеджера никак не отражаются на слайдере главной страницы, а при доступе поля для двух шаблонов, его настройки не отражаются на странице акций. Прилагаю код. Надеюсь на помощь.
Вывод слайдера на главной:
Код slideTpl:
Код главной:
<div id="slider">
<div><a href="stock_01"><img src="assets/img/stock_01.png"></a></div>
<div><a href="stock_02"><img src="assets/img/stock_02.png"></a></div>
<div><a href="stock_03"><img src="assets/img/stock_03.png"></a></div>
<div><a href="stock_04"><img src="assets/img/stock_04.png"></a></div>
</div>
Код страницы акций:<main>
<h1>Акции</h1>
<article id="stock1">
<img src="assets/img/stock__01.png" alt="">
<div class="description">
<h2>Заголовок акции 1</h2>
<div class="block">
<div class="text">Описание акции 1</div>
</div>
</div>
</article>
<article id="stock2">
<img src="assets/img/stock__02.png" alt="">
<div class="description">
<h2>Заголовок акции 2</h2>
<div class="block">
<div class="text">Описание акции 2</div>
</div>
</div>
</article>
<article id="stock3">
<img src="assets/img/stock__03.png" alt="">
<div class="description">
<h2>Заголовок акции 3</h2>
<div class="block">
<div class="text">Описание акции 3</div>
</div>
</div>
</article>
<article id="stock4">
<img src="assets/img/stock__04.png" alt="">
<div class="description">
<h2>Заголовок акции 4</h2>
<div class="block">
<div class="text">Описание акции 4</div>
</div>
</div>
</article>
</main>
Вывод слайдера на главной:
<div id="slider">
[[!getImageList?
&tvname=`stocks`
&tpl=`slideTpl`
]]
</div>
Вывод акций на странице акций:<main>
[[!getImageList?
&tvname=`stocks`
&tpl=`stockTpl`
]]
</main>
Описание полей MIGX TV `stocks`:[{"caption":"Информация", "fields": [
{"field":"title","caption":"Название акции"},
{"field":"image","caption":"Изображение для слайдера","inputTVtype": "image", "sources":"[{\"MIGX_id\":\"1\",\"context\":\"web\",\"sourceid\":\"2\"}]"},
{"field":"imageP","caption":"Изображение для страницы","inputTVtype": "image", "sources":"[{\"MIGX_id\":\"1\",\"context\":\"web\",\"sourceid\":\"2\"}]"},
{"field":"description","caption":"Описание акции","inputTVtype": "richtext"}
]}]
Код slideTpl:
<div><a href="[[~номер_ресурса_акций]]#[[+idx]]"><img src="[[+image]]"></a></div>
Код stockTpl:<article id="[[+idx]]">
<img src="[[+imageP]]">
<div class="description">
<h2>[[+title]]</h2>
<div class="block">
<div class="text">[[+description]]</div>
</div>
</div>
</article>
Комментарии: 1
Логично. Значения TV полей привязаны к ресурсу у которого вы его заполнили.
Если на сайте хотите вывести MIGX поле из любого ресурса, то укажите ему &docid (указать ID ресурса у которого заполнено поле)
Если на сайте хотите вывести MIGX поле из любого ресурса, то укажите ему &docid (указать ID ресурса у которого заполнено поле)
[[!getImageList?
&tvname=`stocks`
&tpl=`stockTpl`
&docid=`1`
]]
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.