Сергей

Сергей

С нами с 12 октября 2015; Место в рейтинге пользователей: #227
Сергей
22 мая 2018, 21:00
0
Спасибо, буду изучать!
Сергей
22 мая 2018, 20:40
0
А без mSearch2 твшками можно реализовать в Tickets?
Сергей
22 мая 2018, 19:43
0
Не рассматривал такой вариант, спасибо буду смотреть!
А подскажите пожалуйста компонент tickets так же можно фильтровать по тв?
Сергей
14 мая 2018, 10:54
0
Павел а можно реализовать тоже самое только плясать от публикации ресурса?
Т.е. если стоит опубликован родитель, то выводится чанк с сниппетом pdoResouces и выводом дочек родителя, если не опубликован то чанк не выводится??
Сергей
04 мая 2018, 08:56
0
Спасибо данное решение помогло!
Сергей
03 мая 2018, 22:25
1
0
Почему что бы я не писал постоянный игнор?
Я кому то дорогу перешел что ли?
Сергей
03 мая 2018, 22:07
0
А почему не работает вот так?
<img src="[[+image]]" class="photobox__preview item-image" alt="[[+title]]">
    {if {$_pls['label']} != ``}
        <div class="label-item">[[+label]]</div>
    {else}
        <div class="label-item"></div>
    {/if}
<span class="photobox__label"></span>
или так
<img src="[[+image]]" class="photobox__preview item-image" alt="[[+title]]">
    {if [[+label]] != ``}
        <div class="label-item">[[+label]]</div>
    {else}
        <div class="label-item"></div>
    {/if}
<span class="photobox__label"></span>
Данная конструкция находится в параметре tpl вызова getImageList!
Сергей
03 мая 2018, 21:44
0
Спасибо Дмитрий за помощь!
Это получается конструкцию за место вызова getImageList помещать, или внутри tpl?
Сергей
13 апреля 2018, 09:41
0
Спасибо, точно все работает!!!
Сергей
11 апреля 2018, 15:49
0
Вот так работает

[[pdoMenu?
                &parents=`36`
                &level=`3`
                &tplOuter=`@INLINE <ul class="nav nav-tabs row-flex" role="tablist">[[+wrapper]]</ul>`
                &tplParentRow=`@INLINE <li role="presentation" class="active"><p>[[+menutitle]]</p>
                [[+wrapper]]</li>`
                &tplInner=`@INLINE <div class="tab-content">
                <div role="tabpanel" class="tab-pane fade in active" id="home">
                  <div class="row">[[+wrapper]]</div></div></div>`
                &tplInnerRow=`@INLINE <div class="col-md-6 img-portfolio">[[+menutitle]]</div>`
            ]]
но это не правильно для моей задачи.
Вот что на выходе:

<div class="portfolio-tabs">
              
              
              <ul class="nav nav-tabs row-flex" role="tablist">
                <li role="presentation" class="active"><p>Категория-1</p>
                  <div class="tab-content">
                    <div role="tabpanel" class="tab-pane fade in active" id="home">
                        <div class="row">
                          <div class="col-md-6 img-portfolio">ресурс категории 1</div>
                          <div class="col-md-6 img-portfolio">ресурс категории 1</div>
                        </div>
                    </div>
                  </div>\
                </li>
                <li role="presentation" class="active"><p>Категория-2</p>
                  <div class="tab-content">
                    <div role="tabpanel" class="tab-pane fade in active" id="home">
                      <div class="row">
                        <div class="col-md-6 img-portfolio">ресурс категории 2</div>
                        <div class="col-md-6 img-portfolio">ресурс категории 2</div>
                        <div class="col-md-6 img-portfolio">ресурс категории 2</div>
                      </div>
                    </div>
                  </div>
                </li>
              </ul>

            
          </div>


Сергей
11 апреля 2018, 15:29
0
Вот мой вызов, но ни чего не работает.
[[pdoMenu?
                &parents=`36`
                &level=`3`
                &tplOuter=`@INLINE <ul class="nav nav-tabs row-flex" role="tablist">[[+wrapper]]</ul>`
                &tplParentRow=`@INLINE <li role="presentation" class="active">[[+menutitle]]</li>`
                &tplInner=`@INLINE <div class="tab-content">
                              [[+wrapper]]</div>`
                &tplInnerRow=`@INLINE <div role="tabpanel" class="tab-pane fade in active" id="home">
                <div class="row">[[+wrapper]]</div></div>`
                &tpl=`@INLINE  <div class="col-md-6 img-portfolio">
                           <p>[[+menutitle]]</p>
                              </div>`
            ]]
<div class="portfolio-tabs">

            <!-- Nav tabs -->
            <ul class="nav nav-tabs row-flex" role="tablist">

              <li role="presentation" class="active"><a class="btn btn-default" href="#home" aria-controls="home" role="tab" data-toggle="tab">Предпродажная полготовка автомобиля</a></li> - категория - 1

            </ul>

            <!-- Tab panes -->
            <div class="tab-content"> - обертка внутренних пунктов меню
              <div role="tabpanel" class="tab-pane fade in active" id="home"> -  обертка категории -1
                  <div class="row"> -  обертка категории -1
                      <div class="col-md-6 img-portfolio">
                        <div class="after-block">ДО</div>
                        <img src="images/p1.png" alt="" class="img-responsive">
                      </div>

                      <div class="col-md-6 img-portfolio">  - это сам ресурс категории 1
                        <p>Заголовок</p>
                      </div>

                  </div>
              </div>
</div>
Сергей
11 апреля 2018, 15:10
0
Иван спасибо за помощь, но все равно не получается.
Как с моей структурой этого добиться?
<div> вывод табов
    
    <ul>
      <li></li> категория 1 id=1
      <li></li> категория 2 id=2
      <li></li> категория 3 id=3
    </ul>

    <div> обертка ресурсов

        <div> обертка категории 1 id=1
          <p></p> ресурс категории 1
          <p></p> ресурс категории 1
          <p></p> ресурс категории 1
        </div>

        <div> обертка категории 2 id=2
          <p></p> ресурс категории 2
          <p></p> ресурс категории 2
          <p></p> ресурс категории 2
        </div>

        <div> обертка категории 3, id=3
          <p></p> ресурс категории 3
          <p></p> ресурс категории 3
          <p></p> ресурс категории 3
        </div>

    </div>


  </div>
Давайте разберем:

<div> 
    
    <ul> -> &tplOuter
      <li></li> -> &tplParentRow
      <li></li> 
      <li></li> 
    </ul>

    <div> -> &tplInner

        <div> -> &tplInnerRow
          <p></p> -> &tpl
          <p></p> 
          <p></p> 
        </div>

        <div> 
          <p></p> 
          <p></p> 
          <p></p> 
        </div>

        <div> 
          <p></p> 
          <p></p> 
          <p></p> 
        </div>

    </div>


  </div>
Не работает…
Сергей
11 апреля 2018, 13:27
0
Если поможете разобраться в коде, буду благодарен.
Сергей
11 апреля 2018, 13:26
0
Данное решение для тех кто знает pho.
Сергей
11 апреля 2018, 13:08
0
Знаете компонент у Bootsrap 3 “tabs”
Вот есть например структура меню:
Фотографии
— фото март
— — фотографии
— фото апрель
— — фотографии

Так вот необходимо сделать что бы во кладках выводились категории (фото март, фото апрель), а в теле вкладок выводились фотографии контейнера активной вкладки
Сергей
11 апреля 2018, 12:28
0
А вы сразу программистом родились? Хорошо сколько стоит реализовать такую задачу?
Сергей
10 апреля 2018, 15:27
0
Добрый день!
В общем нашел решение, хочу выложить возможно кому то будет полезно, т.к. я бился над этой проблемой около 17 часов…

Задача была следующая, есть прайс-лист, он выполнен в виде вкладок (tab bootstrap), нужно настроить все так, что бы конечный пользователь сайта без труда мог редактировать данные табы из админки.



Сначала я хотел реализовать это с помощью pdoResources но для этого необходимо:
1) Создать структуру ресурсов
2) Городить мега вызов сниппета, чанками типа
&tpl_N
,
&tpl_nN
, т.к body вкладок имело по 6 элементов (ресурсов).
3) Создать MIGX поля для вывода информации, цены, время работ, выполняемых услуг.

Поэтому в итоге я отказался от этой затеи, посчитал что конечный пользователь не разберется, так как он очень далек от всего этого.

Написав на форуме и попутно штудируя интернет, я пришел к решению вложенности MIGX в MIXG.

Прочитав куча информации, просмотрев куча примеров и изучив несколько видео приступил к работе.

Структура MIXG полей у меня получилась следующая:

Родительское поле - 1 класс (1 уровень)
		Дочернее поле - Экспресс (2 уровень)
				Дочернее поле - Цена (3 уровень)
				Дочернее поле - Время (3 уровень)
				Дочернее поле - Услуги (3 уровень)
Создал три поля с типом ввода MIGX:

1 - class-auto
2 - price-meta
3 - price-tabs

1) Вкладки формы class-auto:
[{"caption":"Категория транспорта",  "fields": [ 
    {"field":"className","caption":"Название категории"},
    {"field":"categoryList","caption":"Конкретные категории","inputTV":"price-meta"}
]}]
Разметка колонок
[
{"header": "Цена", "dataIndex": "className"}
]
На выходе получаем следующее:


Устанавливаю значение для шаблона на котором я хотел выводить данное поле (главная страница).

2) Вкладки формы price-meta:
[{"caption":"Группа прайс-листов",  "fields": [ 
    {"field":"priceName","caption":"Способ мытья"},
    {"field":"priceList","caption":"Конкретный прайс-лист","inputTV":"price-tabs"}
]}]
Разметка колонок
[
{"header": "Способ мытья", "dataIndex": "priceName"}
]
Доступно для шаблонов ни чего не устанавливаю.

На выходе получаю следующее:





Теперь я могу добавить второй уровень вложенности
Экспресс
Экспресс ПЛЮС
Стандарт 
и.т.д.
3) Вкладки формы price-tabs:
[  
    { "caption":"Прайс-лист",  "fields": 
        [ 
            {
                "field":"price",
                "caption":"Цена (например: 250)"
            }
            ,
            {
                "field":"time",
                "caption":"Время проводимых работ (например: 25)"
            },
            {
                "field":"main-active",
                "caption":"Класс блока для выделения (main-active)"
            }
            ,
            {
                "field":"desc",
                "caption":"Перчисление услуг (например: <li>Ваша услуга</li>)",
                "inputTVtype": "textarea"
            }
        ]
    }
]
Разметка колонок
[
{"header": "Цена", "width": "150", "sortable": "true", "dataIndex": "price"},
{"header": "Время", "width": "150", "sortable": "true", "dataIndex": "time"},
{"header": "Услуги", "width": "150", "sortable": "true", "dataIndex": "desc"},
{"header": "Класс активного блока", "width": "150", "sortable": "true", "dataIndex": "main-active"}
]
Доступно для шаблонов ни чего не устанавливаю.

На выходе получаю следующее:





Теперь я могу добавить третий уровень вложенности, значения цены, времени проводимых работ и услуги которые относятся к тому или другому методу мойки машины.

Все готово, теперь необходимо осуществить вызов сниппета getImageList и отобразить все на сайте.

Первым делом выводим сниппет в шаблоне на котором я хотел выводить все данный, у меня этот чанк называется [[$Price]]
<div>
[[!getImageList?
        &tvname=`class-auto`
        &tpl=`class-auto`
 ]]
</div>
Второй я создал чанк class-auto и в нем вывел
<div class="row">
	<div class="col-md-2">
		<h1>[[+className]]</h1>
	</div>
</div>
<div class="row>
[[!getImageList?
    &value=`[[+categoryList]]`
    &tpl=`price-class`
]]
</div>
Третий чанк price-class имеет вывод, т.к. у меня по 6 элементов в теле вкладок, я решил осуществить вывод с классом col-md-2:
<div class="col-md-2>
[[!getImageList?
        &value=`[[+priceList]]`
        &tpl=`price-meta`
]]
</div>
И последний чанк price-meta
<div class="body-tabs [[+main-active]]">
        <h4 class="body-tabs-title">[[+priceName]]</h4>
        <p class="body-tabs-price">[[+price]] <i class="fa fa-rub" aria-hidden="true"></i>.</p>
        <hr>
        <p class="body-tabs-time"><i class="fa fa-clock-o" aria-hidden="true"></i> [[+time]] минут</p>
        <hr>
        <p class="body-tabs-desc">[[+desc]]</p>
        <hr>
        <p class="text-center"><a href="" class="btn btn-primary btn-small">Записаться</a></p>
    </div>
Сначало я все делал без разметки вкладок что бы понять как и что будет выводится.
Получилась следующая структура

<div>
  <div class="row">
    <div class="col-md-2">
      <h1>1 класс</h1>
    </div>
  </div>
  <div class="row">
    <div class="col-md-2">
      <div class="body-tabs [[+main-active]]">
            <h4 class="body-tabs-title">[[+priceName]]</h4>
            <p class="body-tabs-price">[[+price]] <i class="fa fa-rub" aria-hidden="true"></i>.</p>
            <hr>
            <p class="body-tabs-time"><i class="fa fa-clock-o" aria-hidden="true"></i> [[+time]] минут</p>
            <hr>
            <p class="body-tabs-desc">[[+desc]]</p>
            <hr>
            <p class="text-center"><a href="" class="btn btn-primary btn-small">Записаться</a></p>
      </div>
    </div>
    И еще 5 элементов
  </div>
</div>
Я столкнулся с трудностью, которую так и не смог решить, если кто то подскажет буду очень признателен!!!
Трудность состоит в том, что структура кода вкладок Bootstrap выглядит следующим образом:


<div > <!-- блок обертка -->

      <ul> <!-- сами вкладки -->
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
      </ul>

      <div> <!-- тело -->
        <div></div> <!-- элементы тела -->
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
      </div>

  </div>
А я получил что то типа:

<div > <!-- блок обертка -->

      <ul> <!-- сами вкладки -->
        <li>1 класс</li>
      </ul>

      <div> <!-- тело -->
        <div></div> <!-- элементы тела -->
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
      </div>

      <ul> <!-- сами вкладки -->
        <li>2 класс</li>
      </ul>

      <div> <!-- тело -->
        <div></div> <!-- элементы тела -->
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
      </div>

  </div>
Так как родительские пункты утверждены и они не измены я подумал что заказчик вряд ли захочет изменять их название, поэтому вывод в чанке [[$Price]] я сделал следующий:

<div id="price">
      <div class="container">
        <div class="title-page text-center"><h1><span>НАШ ПРАЙС-ЛИСТ</span></h1></div>
            <div class="price-tabs">
                <ul class="nav nav-tabs text-center">
                    <li role="presentation" class="active">
                        <a href="#1level" aria-controls="1level" role="tab" data-toggle="tab" class="link-tabs">
                            <i class="icon-3 icon-tabs"></i>
                                <p>1 класс</p>
                            </a>
                    </li>
                    <li role="presentation" >
                        <a href="#2level" aria-controls="2level" role="tab" data-toggle="tab" class="link-tabs">
                            <i class="icon-1 icon-tabs"></i>
                                <p>2 класс</p>
                            </a>
                    </li>
                    <li role="presentation" >
                        <a href="#3level" aria-controls="3level" role="tab" data-toggle="tab" class="link-tabs">
                            <i class="icon-2 icon-tabs"></i>
                                <p>3 класс</p>
                            </a>
                    </li>
                    <li role="presentation" >
                        <a href="#4level" aria-controls="4level" role="tab" data-toggle="tab" class="link-tabs">
                            <i class="icon-8 icon-tabs"></i>
                                <p>4 класс</p>
                            </a>
                    </li>
                    <li role="presentation" >
                        <a href="#5level" aria-controls="5level" role="tab" data-toggle="tab" class="link-tabs">
                            <i class="icon-6 icon-tabs"></i>
                                <p>5 класс</p>
                            </a>
                    </li>
                </ul>
                <div class="tab-content">
                    [[!getImageList?
                        &tvname=`class-auto`
                        &tpl=`class-auto`
                    ]] 
                </div>
            </div>
  
 
        <div class="btn-more text-center">
            <a class="btn btn-primary btn-lg" href="#" role="button">
                <i class="fa fa-list" aria-hidden="true"></i> Смотеть весь прайс-лист</a>
        </div>
    </div>
</div>
Элементы навигации я сделал статичными и вывел за пределы сниппета getImageList.
Для работоспособности прописал классы
href="#4level" aria-controls="4level"
А в самом выводе тела указал следующий код:

<div class="row row-flex tab-pane fade in [[+idx:is=`1`:then=`active`]]"  role="tabpanel" id="[[+idx]]level">
[[!getImageList?
    &value=`[[+categoryList]]`
    &tpl=`price-class`
]]
</div>
Так как родительских пунктов у меня всего 5, и следовательно тел с элементами (табами) у меня тоже пять, я могу точно знать порядковый номер. Вывод плейсхолдера [[+idx]] соответствует прописанному классу в навигации.

Так же есть проблема с классом .active для активной вкладки, она решается так:
[[+idx:is=`1`:then=`active`]]
если первый таб имеет порядковый номер 1, то ему присвоить класс
active
.

Вот и все, пошаманив над стилями все получилось!

Написал для себя, что бы не забыть как делать, ну и потратил на всю работу реально 17 часов, возможно кому то это приходится!!!
Возможно решение корявое, но по крайней мере рабочее, лучше я со своими знаниями придумать ничего не смог!

Вот итог:


Вроде все протестировал все работает!

Сергей
10 апреля 2018, 12:55
0
Ну я победил примерно к 4 часам ночи. Может не совсем правильное решение, но меня устраивает. К вечеру опубликую решение.
Сергей
09 апреля 2018, 21:21
0
А есть в MIGX first b last tpl?

А то у меня вверстка получается
.col-md-3 * 4
.col-md-4 col-md-offset-2 * 2
Как их вывести то?

Или возможно вывести pdoResources а внутри уже MIGX?

Отбой pdoResouces нужно тогда ресурсы создавать…