We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 52747
    • 1 Posts
    Задача: организовать отображение акций на двух страницах. На главной странице акции отображаются в виде слайдера, каждый слайд которого ведет страницу акций по уникальному id данной акции.
    Код главной:
    <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>

    Соответственно, создаю 2 шаблона - "Главная" и "Акции" и 1 TV поле типа MIGX, которому прописываю поля "название акции", "картинка для слайдера", "картинка для страницы акции", "описание акции". Делаю поле доступным для обоих шаблонов. Из-под учетки контент-менеджера заполняю эти поля для шаблона главной, открываю страницу акций - пусто. Иду в админку, оставляю доступ MIGX поля только для одного шаблона "Акции", контент-менеджером заполняю их, открываю страницу акций - вижу то, что хотел. Открываю главную - вижу совершенно не то, что заполнил контент-менеджером, а то, что было до этого, перед тем, как снял доступ MIGX поля для шаблона "Главная". Т.е. действия контент-менеджера никак не отражаются на слайдере главной страницы, а при доступе поля для двух шаблонов, его настройки не отражаются на странице акций. Прилагаю код. Надеюсь на помощь.
    Вывод слайдера на главной:
    <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>
      • 52741
      • 4 Posts
      Всё гораздо проще. Нужно на странице Акции, в админке, прописать все текущие акции. И выводить их так, как выводите.
      Для шаблона главной страницы можно и не включать TV с MIGX. Нужно в шаблоне сделать вызов с указанием ID ресурса акций.
       <div id="slider">
      [[!getImageList?
          &tvname=`stocks`
          &tpl=`slideTpl`
          &docid=`ID ресурса акций`
      ]]
      </div>
       


      Это нужно было?