[QuickView] - быстрый просмотр в модальном окне.

QuickView — быстрый просмотр любого элемента в модальном окне.


— работа с любыми ресурсами
— работа с чанками, сниппетами, шаблонами
— вывод в модальное окно, либо в указанный селектор
— поддержка шаблонизатора fenom

Основное отличие от ранних версий работа без каких либо сниппетов, нужно только инициализировать скрипт.
Интерактивные примеры тут quickview.vgrish.ru/

Примеры


пример 1

Постановка:
— требуется по клику вывести в модальное окно чанк test
— задействовать ресурс с идентификатором 1
— добавить кнопку закрыть окно

Вызов:

<a class="quickview"
			data-click
			data-quickview-mode="modal"
			data-data-action="chunk"
			data-data-element="test"
			data-data-id="1"
			data-dialog-buttons='["close"]'
			>ссылка</a>

пример 2

Постановка:
— требуется по клику вывести в модальное окно сниппет корзины msCart
— требуется широкое модальное окно

Вызов:

<a class="quickview"
			data-click
			data-quickview-mode="modal"
			data-data-action="snippet"
			data-data-element="!msCart"
			data-dialog-size="size-wide"
			data-dialog-title="cart"
			>корзина</a>

пример 3

Постановка:
— требуется по клику вывести в модальное окно чанк msProduct.content
— задействовать ресурс с идентификатором 7

Вызов:

<a class="quickview"
			data-click
			data-quickview-mode="modal"
			data-data-element="msProduct.content"
			data-data-id="7"
			data-dialog-title=""
			data-dialog-size="size-wide"
			>продукт</a>


пример 4

Постановка:
— требуется по наведению вывести в селектор чанк test
— задействовать ресурс с идентификатором 1
— добавить кнопку закрыть окно

Вызов:

<a class="quickview"
			data-mouseover
			data-quickview-mode="selector"
			data-data-action="chunk"
			data-data-element="test"
			data-data-id="1"
			data-quickview-output=".quickview-output-1"
			data-output-buttons='["close"]'
			>наведите</a>


пример 5

Постановка:
— требуется список продуктов minishop
— по клику вывести модалку с продуктом test
— задействовать актуальный ресурс
— добавить кнопку соседи

Вызов:

<div class="quickview-parent"
			data-quickview-mode="modal"
			data-data-action="chunk"
			data-data-element="product.quickview"
			data-quickview-loop="true"
			data-quickview-viewhash="true"
			data-dialog-size="size-wide"
			data-dialog-buttons='["prev","next"]'>

			[[!pdoPage?
			&parents=`0`
			&element=`msProducts`
			&tpl=`@INLINE
			<a class='quickview'
			data-click
			data-data-id="[[+id]]"
			data-dialog-title="[[+pagetitle]]"
			>[[+pagetitle]]</a>
			`
			]]

			[[!+page.nav]]</div>


пример 6

Постановка:
— вывести в модальном окне чанк msProduct.content
— задействовать bootstrap-modal, без bootstrap-dialog

Вызов:

<a class="quickview"
			data-click
			data-toggle="modal"
			data-target=".bs-modal"
			data-quickview-mode="selector"
			data-quickview-output=".bs-quickview-output"
			data-data-element="msProduct.content"
			data-data-id="7"
			>ссылка</a>

Также необходимо тело модалки, куда по клику в селектор будет подгружен результат

Код:

<div class="bs-modal modal fade">
	<div class="modal-dialog modal-lg">
		<div class="modal-content">
			<div class="bs-quickview-output"></div>
		</div>
	</div>
</div>


Подключение QuickView


В удобном месте шаблона сайта вам нужно вставить вызов сниппета QuickView.initialize

[[!QuickView.initialize?
&bootstrapModalJsCss=`0`
&bootstrapDialogJsCss=`1`
&services=`miniShop2,msoptionsprice`
]]
Примечание!

— для подгрузки скриптов и стилей bootstrap-modal нужно указать
&bootstrapModalJsCss=`1`
— для подгрузки скриптов и стилей bootstrap-dialog нужно указать
&bootstrapDialogJsCss=`1`
— для подгрузки скриптов и стилей сторонних пакетов нужно перечислить их
services=`miniShop2,msoptionsprice`


Настройка QuickView


Основные настройки QuickView находяться Настройки системы -> QuickView

allowed_chunk — список разрешенных чанков
allowed_snippet — список разрешенных сниппетов
allowed_template — список разрешенных шаблонов

front_css — стили фронтенда
front_js — скрипты фронтенда


Основное


Вы можете использовать QuickView где угодно на странице. Для этого нужно подключить сниппет
QuickView.initialize, указать нужным элементам необходимые параметры вызова.

Примечание!

data-quickview-mode — режим работы, modal или selector

data-data-action — действие, chunk, snippet, template
data-data-element — название элемента
data-data-id — идентификатор обрабатываемого ресурса

data-dialog-* — параметры вывода при модальном окне

data-output-* — параметры вывода при селекторе



Режим срабатывания


data-click
режим срабатывания по клику

Вызов:

<a class="quickview"
			data-click
			...</a>
data-mouseover
режим срабатывания по наведению

Вызов:

<a class="quickview"
			data-mouseover
			...</a>

Режим работы


data-quickview-mode
modal — режим работы с модальным окном

Вызов:

<a class="quickview"
			data-click
			data-quickview-mode="modal"
			...</a>
data-quickview-mode
selector — режим работы с селектором

Вызов:

<a class="quickview"
			data-click
			data-quickview-mode="selector"
			...</a>

Действия


data-data-action
chunk — работа с чанком

Вызов:

<a class="quickview"
			data-click
			data-data-action="chunk"
			...</a>
data-data-action
snippet — работа со сниппетом

Вызов:

<a class="quickview"
			data-click
			data-data-action="snippet"
			...</a>
data-data-action
template — работа с шаблоном

Вызов:

<a class="quickview"
			data-click
			data-data-action="template"
			...</a>


Кнопки


data-*-buttons
задать необходмые кнопки. Доступны prev,next,close


Вызов:

<a class="quickview"
			data-click
			data-dialog-buttons='["prev","next"]'
			...</a>
кастомизация
задать необходимые параметры

<a class="quickview"
			data-mouseover
			data-quickview-mode="modal"
			data-data-element="test"
			data-data-id="1"
			data-dialog-buttons='[
			{"action":"close","label":"закрыть","title":"закрыть"}
			]'
			>наведите</a>

Володя
Володя
20 апреля 2017, 11:52
modx.pro
11 565
Поблагодарить автора Отправить деньги
Реклама

Комментарии: 81

Владимир
Владимир Старожил
20 апреля 2017, 15:21
Спасибо, сейчас опробую )
Обновление уже установленного пакета без проблем?
Ага, при установке
Вы уверены что вы хотите обновить компонент? Новая версия потребует изменения формата вызова сниппетов компонента.
Понял. Удаляю, меняю на новый.
    Stan Ezersky
    Stan Ezersky Старожил
    20 апреля 2017, 19:13
    Супер, поздравляю с новой версией!
      Володя
      Володя Старожил
      20 апреля 2017, 20:36
      Спасибо!)
      Надеюсь удобство пользования будет перекрывать необходимость изучения нового синтаксиса.
        Stan Ezersky
        Stan Ezersky Старожил
        20 апреля 2017, 21:02
        Да вроде сложностей пока не увидел. Новый синтаксис приятный!
      Илья
      Илья Старожил
      21 апреля 2017, 09:57
      Очень хорошо!!!
        websfera
        websfera Старожил
        21 апреля 2017, 10:19
        В пакете уже есть bootstrap-modal или его нужно прописывать отдельно?
        Если на сайте уже подключён bootstrap и bootstrap-modal, не будет ли двойного подключения js и css bootstrap?
          Володя
          Володя Старожил
          21 апреля 2017, 10:24
          Подключение QuickView
          В удобном месте шаблона сайта вам нужно вставить вызов сниппета QuickView.initialize

          [[!QuickView.initialize?
          &bootstrapModalJsCss=`0`
          &bootstrapDialogJsCss=`1`
          &services=`miniShop2,msoptionsprice`
          ]]
          Примечание!

          — для подгрузки скриптов и стилей bootstrap-modal нужно указать
          &bootstrapModalJsCss=`1`
          — для подгрузки скриптов и стилей bootstrap-dialog нужно указать
          &bootstrapDialogJsCss=`1`
          — для подгрузки скриптов и стилей сторонних пакетов нужно перечислить их
          services=`miniShop2,msoptionsprice`
            websfera
            websfera Старожил
            21 апреля 2017, 15:34
            да, всё это уже читал выше, и так понял это исчерпывающий ответ на мой первый вопрос.
            А на второй ответ мне не понятен.

            У меня в шаблоне, где собираюсь подключать сниппет QuickView.initialize уже подключён bootstrap:
            <link href="css/bootstrap.min.css" rel="stylesheet">
            ....
            <script src="js/bootstrap.min.js"></script>
            В шаблоне вызова сниппета QuickView.initialize в это всё нужно оставлять? Или лучше удалить?
              Володя
              Володя Старожил
              21 апреля 2017, 15:46
              В шаблоне вызова сниппета QuickView.initialize в это всё нужно оставлять? Или лучше удалить?
              если у вас уже подключен bootstrap-modal, то в вызове сниппета вы указываете
              &bootstrapModalJsCss=`0`
              соответственно скрипты и стили bootstrap-modal не грузятся.
                websfera
                websfera Старожил
                21 апреля 2017, 15:54
                благодарю, теперь для меня всё прояснилось.
                  Володя
                  Володя Старожил
                  21 апреля 2017, 15:57
                  пожалуйста.
                  Вызов взят с демо сайта, там bootstrap и соответственно bootstrap-modal подключать не требуется.
                  [[!QuickView.initialize?
                  &bootstrapModalJsCss=`0`
                  &bootstrapDialogJsCss=`1`
                  &services=`miniShop2,msoptionsprice`
                  ]]
          Stan Ezersky
          Stan Ezersky Старожил
          17 мая 2017, 09:52
          По диагонали посмотрел вживую, супер!

          Единственное, пока не вник, как добавить к вызываемому сниппету свой чанк

          <a class="quickview"
          			data-click
          			data-quickview-mode="modal"
          			data-data-action="snippet"
          			data-data-element="!msCart"
          			data-dialog-size="size-wide"
          			data-dialog-title="cart"
          			>корзина</a>
            Володя
            Володя Старожил
            17 мая 2017, 10:08
            Единственное, пока не вник, как добавить к вызываемому сниппету свой чанк
            либо вызывать чанк в котором у вас вызов сниппета с нужными параметрами, либо указать сниппет с набором параметров.
            Прямой возможности передать параметры сниппету нет.
              Stan Ezersky
              Stan Ezersky Старожил
              17 мая 2017, 10:22
              А если вызвать шаблон?

              <a class="quickview"
              			data-click 
              			data-quickview-mode="modal" 
              			data-data-action="template" 
              			data-data-element="MYTEMPLATE" 
              			data-dialog-size="size-wide" 
              			data-dialog-title="cart"
              			>
              Сработает?
                Володя
                Володя Старожил
                17 мая 2017, 10:24
                попробуй, должно работать. Я если честно не пробовал, добавил эту возможность но не проверял…
                  Stan Ezersky
                  Stan Ezersky Старожил
                  17 мая 2017, 10:25
                  В настройках нужно прописать шаблон?
                    Володя
                    Володя Старожил
                    17 мая 2017, 10:27
                    allowed_template — список разрешенных шаблонов
                      Stan Ezersky
                      Stan Ezersky Старожил
                      17 мая 2017, 10:31
                      Не сработало с шаблоном, но можно из него всё в чанк вынести и работать с ним. Будет работать на ура.

                      Крутое обновление!
                        Володя
                        Володя Старожил
                        17 мая 2017, 10:42
                        Не сработало с шаблоном, но можно из него всё в чанк вынести и работать с ним. Будет работать на ура.
                        все работает пример quickview.vgrish.ru/#ex-7

                        Крутое обновление!
                        спасибо!
            Stan Ezersky
            Stan Ezersky Старожил
            17 мая 2017, 18:25
            Забыл спросить (пока не смотрел): а что с поддержкой AjaxForm?
              Володя
              Володя Старожил
              17 мая 2017, 18:40
              не совсем понял что ты имеешь ввиду. Раскрой тему.
              Спасибо!
                Stan Ezersky
                Stan Ezersky Старожил
                17 мая 2017, 18:42
                Чанки с формами будут работать с аяксом?

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

                UPD: Есть чанк, в нём форма, этот чанк вызван на странице через quickview. При нажатии на кнопку отправить, страница уходит в перезагрузку.

                Я сам посмотрю, а то «сломанный телефон».
                  Володя
                  Володя Старожил
                  17 мая 2017, 19:22
                  не, так сразу не заработает…
                  время будет лишнее — посмотрю, может и заработает.
                    Stan Ezersky
                    Stan Ezersky Старожил
                    17 мая 2017, 19:25
                    Хорошо!
                      Володя
                      Володя Старожил
                      26 мая 2017, 11:49
                      Чанки с формами будут работать с аяксом?

                      пример 8 quickview.vgrish.ru/#ex-8
                      описал как необходимо вызывать, и нужна мелкая правка с скрипте ajaxform, добавить .off('submit')
                      $(document).off('submit').on('submit', afConfig['formSelector'], function (e) {
                      ...
                      });
                        Володя
                        Володя Старожил
                        27 мая 2017, 11:31
                        Василий подсказал что данная конструкция снимет обработчик со всех форм, потому корректировка
                        $(document).off('submit', afConfig['formSelector']).on('submit', afConfig['formSelector'], function (e)
              Stan Ezersky
              Stan Ezersky Старожил
              27 мая 2017, 10:51
              Володя, у меня такой вопрос: а зачем в настройках параметр «Разрешенные чанки»? Почему бы не сделать так, чтобы любой подключенный чанк можно было вызывать и работать с ним. Такая инициализация «на лету».

              Для меня это ценное дополнение, с помощью него можно не плодить html-формы, а создавать их динамически. Я вообще удивлён, что так мало обратной связи
                Володя
                Володя Старожил
                27 мая 2017, 11:29
                Почему бы не сделать так, чтобы любой подключенный чанк можно было вызывать и работать с ним. Такая инициализация «на лету».
                очисти соответствующую настройку и должно работать с любым элементом.
                Юрий
                Юрий Старожил
                07 августа 2017, 12:10
                Привет. столкнулся с такой проблемой. есть каталог с фильтрацией (mFilter2).
                Попробовал подключить QuickView. После этого заработал быстрый просмотр, но перестала работать фильтрация. В консоли браузера ошибка:
                TypeError: a.indexOf is not a function. (In 'a.indexOf(" ")', 'a.indexOf' is undefined)
                Инициализация:
                {$_modx->runSnippet('!QuickView.initialize', [
                  'frontСss' => 0,
                  'frontJs' => 0,
                  'bootstrapDialogJsCss' => 0,
                  'bootstrapModalJs' => 0,
                  'bootstrapModalCss' => 0,
                  'bootstrapDialogJs' => 0,
                  'bootstrapDialogCss' => 0,
                  'services' => 'miniShop2'
                ])}
                Кнопка:
                <button type="button" class="uk-icon-link uk-button-small uk-button-link uk-margin-small-left uk-float-right quickview"
                	uk-toggle="target: #productShow" 
                	data-click 
                	data-quickview-mode="selector"
                	data-data-element="Shop.Content.Product.QuickView" 
                	data-quickview-output=".bs-quickview-output" 
                	data-data-id="{$id}" 
                	data-dialog-title="" 
                	data-dialog-size="" 
                	uk-icon="icon: info"></button>
                Бутстрап отключен, так как не используется
                  Володя
                  Володя Старожил
                  07 августа 2017, 12:28
                  ПРивет, напиши в ТП с указанием доступов к админке и ссылкой где это можно увидеть.
                  Спасибо!
                    Юрий
                    Юрий Старожил
                    07 августа 2017, 12:51
                    Привет, Пытался. Но купил в 2015 году ТП уже не работает
                      Воеводский Михаил
                      07 августа 2017, 12:52
                      Для получения доступа к поддержке можно снова купить компонент на тот же ключ.
                        Юрий
                        Юрий Старожил
                        07 августа 2017, 13:20
                        я смогу вторую покупку использовать потом на другом сайте? купил давно, но по сути, только сейчас решил попробовать разобраться, как использовать его не с бутстрапом. Может мне он вообще не подойдет. А Вы предлагаете купить его еще один раз
                          Воеводский Михаил
                          07 августа 2017, 15:14
                          Вы можете приобрести для другого сайта и смоделировать ситуацию на нем.
                    Володя
                    Володя Старожил
                    07 августа 2017, 13:28
                    если у вас не используется bootstrap вам нужно подключить скрипты модалки и диалога так как функцинаол завязан на них, либо пользовать через selector, там эти скрипты не требуются.
                      Юрий
                      Юрий Старожил
                      07 августа 2017, 13:34
                      Так и вызвано через селектор:
                      uk-toggle="target: #productShow" 
                      	data-click 
                      	data-quickview-mode="selector"
                      	data-data-element="Shop.Content.Product.QuickView" 
                      	data-quickview-output=".bs-quickview-output" 
                      	data-data-id="{$id}" 
                      	data-dialog-title="" 
                      	data-dialog-size=""
                      модалка открывается по клику
                      uk-toggle="target: #productShow"
                      Модальное окно отрывается и показывается товар, но сам каталог выводится через mFilter2, который перестает работать при инициализации `!QuickView.initialize`
                      Отключаю QuickView — фильтр снова работает!
                        Юрий
                        Юрий Старожил
                        07 августа 2017, 13:38
                        Как-то так присходит: видео
                          Володя
                          Володя Старожил
                          07 августа 2017, 14:04
                          попробовал на пустом шаблоне, вот код.
                          <script src="/assets/components/themebootstrap/js/jquery.min.js"></script>
                          
                          [[!QuickView.initialize?
                          &services=`miniShop2,AjaxForm`
                          &bootstrapModalJsCss=`0`
                          &bootstrapDialogJsCss=`0`
                          ]]
                          
                          [[!mFilter2?
                          	&parents=`0`
                          	&element=`msProducts`
                          	&filters=`
                          		ms|price:number,
                          		parent:categories,
                          		msoption|tags,
                          		ms|vendor:vendors,
                          		ms|old_price:boolean,
                          	`
                          	&tpl=`@INLINE
                              <a class='quickview'
                          	  data-click
                          	  data-quickview-mode="selector"
                          	  data-data-element="product.quickview" 
                          	  data-quickview-output=".bs-quickview-output" 
                          	  data-output-buttons='["close"]'
                          	  data-data-id="[[+id]]"
                          	  data-dialog-title="">[[+pagetitle]]</a>
                          
                          `
                          	&class=`msProduct`
                          	&sort=`ms|price:desc`
                          	&tplOuter=`tpl.mFilter2.outer`
                          	&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
                          	&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
                          ]]
                          <hr>
                          <div class="bs-quickview-output"></div>
                          все корректно работает…
                          Юрий
                          Юрий Старожил
                          07 августа 2017, 14:07
                          В общем-то разобрался, MiniFix подвел. пришлось отключить параметр «minifyx_process_registered»
                        Александр
                        Александр Старожил
                        01 ноября 2017, 19:10
                        Здравствуйте.
                        Подскажите, пожалуйста, как можно добавить функцию на событие?
                        Пробую отсюда так:
                        $('.modal').on('shown.bs.modal', function(e) {
                        	console.log('qwe');
                        });
                        Не получается.
                          Володя
                          Володя Старожил
                          01 ноября 2017, 20:04
                          Добрый вечер.
                          Можно попробовать как
                          $(document).on('quickview:content-show.quickview', function (e, data) {
                              console.log('show1');
                          });
                          либо добавить в обработку
                          $(document).ready(function () {
                              if (typeof QuickView != 'undefined') {
                                  QuickView.addMethodAction('show', 'custom_action', function(r){
                                      	console.log('show');
                                  });
                              }
                          });
                            Александр
                            Александр Старожил
                            01 ноября 2017, 20:13
                            Оба варианта рабочие.
                            Спасибо!
                              SEQUEL.ONE
                              SEQUEL.ONE Старожил
                              29 марта 2018, 22:19
                              Возможно ли по событию получать цену old_price, если открывается в модальном окне msCart?
                                Володя
                                Володя Старожил
                                30 марта 2018, 11:07
                                Возможно ли по событию получать цену old_price, если открывается в модальном окне msCart?
                                поясните. Открывается корзина а получать цену old_price чего ???
                            Игорь Игамов
                            Игорь Игамов Старожил
                            16 ноября 2017, 17:39
                            Здравствуйте. У меня возник вопрос.
                            Мне необходимо вывести каталог с товарами в модальном окне. Прежде чем приобрести, попробовал на тестовом хостинге это воплотить, товары выводятся, всё гуд, но у меня не работает пагинация, то есть страница обновляется.
                            Вызов pdopage осуществляется в чанке. При включении ajax в pdopage, товары не появляются вообще.
                            Не подскажите возможно ли это сделать данным дополнением? Спасибо!
                            P.S. также пробовал через сниппет с параметрами, тоже самое.
                              Игорь Игамов
                              Игорь Игамов Старожил
                              16 ноября 2017, 21:42
                              Наверное попробую реализовать через AjaxSnippet
                              Андрей
                              Андрей Старожил
                              25 января 2018, 20:27
                              Скажите, а чтобы загрузить в модальном окне галерею ms2Galleryб какой нужно вызов использовать? Нужно ли подгружать ms2Gallery через service?
                                Володя
                                Володя Старожил
                                25 января 2018, 21:12
                                Не знаю, не приходилось использовать с ms2Gallery.
                                Напишите в ТП, приложите доступы к админке сайта и ссылку на чанк с вызовом — разберемся.
                                Спасибо!
                                Sergey Leleko
                                Sergey Leleko Старожил
                                13 июля 2018, 18:16
                                Добрый день! Возможно ли вместо бутстрапа подключить fancybox3? для показа модалок
                                  Stan Ezersky
                                  Stan Ezersky Старожил
                                  14 июля 2018, 10:13
                                  Поддержу предложение
                                    Володя
                                    Володя Старожил
                                    14 июля 2018, 10:27
                                    Ребятушки ну вот же quickview.vgrish.ru/#ex-9
                                      Stan Ezersky
                                      Stan Ezersky Старожил
                                      14 июля 2018, 10:30
                                      Володя, а давно добавилась такая опция? Приятно удивлён.

                                      Вопрос в том, чтобы избавиться от монструозных диалоговых окон и подключить лёгкий fancybox3 по умолчанию.
                                        Володя
                                        Володя Старожил
                                        14 июля 2018, 10:39
                                        пример с fancybox только что )
                                        А вывод в селектор есть изначально. Можно использовать любые модалки и тд…
                                  Валерий
                                  Валерий Старожил
                                  19 июля 2018, 21:17
                                  Добрый вечер. Прошу подсказать мне, что я упускаю.
                                  Есть вызов модального окна, вот настройки кнопки:
                                  <a
                                          data-click
                                          data-data-id="[[+id]]"
                                          data-toggle="modal"
                                          data-quickview-mode="selector"
                                          data-data-element="pop_service"
                                          data-target=".bs-modal"
                                          data-quickview-output=".bs-quickview-output"
                                          class="read-more quickview" href="#">Подробнее</a>
                                  Сниппет вызывается с активными обеими настройками: &bootstrapModalJsCss=`1`, &bootstrapDialogJsCss=`1`

                                  Окно вызывается нормально, все данные присутствуют. Проблемы начинаются, когда я пытаюсь создать кнопку «Закрыть» (при клике по темному фону, все закрывается нормально).

                                  Кнопку закрыть я пытаюсь создать добавлением следующего параметра:
                                  data-output-buttons='["close"]'
                                  Именно «output», потому что dialog даже не создает кнопку.

                                  Кнопка появляется. Я могу кликнуть по ней, но закроется только модальное окно, темный фон останется.

                                  Это конфликт скриптов (других скриптов на сайте нет), или же я где-то в настройках ссылки ошибся?
                                    Володя
                                    Володя Старожил
                                    20 июля 2018, 09:30
                                    Доброе утро.
                                    Кнопку закрыть я пытаюсь создать добавлением следующего параметра:
                                    data-output-buttons='[«close»]'
                                    Именно «output», потому что dialog даже не создает кнопку.
                                    именно
                                    data-output-buttons='["close"]'
                                    и нужно использовать если вы используете вывод в селектор.

                                    Я могу кликнуть по ней, но закроется только модальное окно, темный фон останется.
                                    моя недоработка. Поправил в новой версии пакета, обновитесь, все должно быть ок.
                                    Спасибо!
                                      Валерий
                                      Валерий Старожил
                                      20 июля 2018, 12:30
                                      Добрый день.
                                      Спасибо! Все заработало.

                                      А QuickView позволяет повесить функцию закрытия на имеющуюся кнопку, а не на созданную им?
                                      Т.е. в моем чанке есть элемент, который мог бы выполнять функцию кнопки закрытия, но прописывание ему нужных стилей не помогает…
                                        Володя
                                        Володя Старожил
                                        20 июля 2018, 12:38
                                        А QuickView позволяет повесить функцию закрытия на имеющуюся кнопку, а не на созданную им?
                                        попробуйте добавить в чанк как
                                        <div class="quickview quickview-buttons"><button class="btn quickview quickview-remove btn-default quickview-action" data-button='{ "action":"close" }'>×</button></div>
                                        Должно сработать.
                                          Валерий
                                          Валерий Старожил
                                          20 июля 2018, 12:41
                                          Да, сработало. Странно, вчера я пытался так делать, но не выходило.
                                          Видимо, где-то класс терял.

                                          Еще раз спасибо!
                                            Володя
                                            Володя Старожил
                                            20 июля 2018, 12:51
                                            Видимо, где-то класс терял.
                                            скорее всего…

                                            Еще раз спасибо!
                                            пожалуйста!
                                    tracersani
                                    tracersani Старожил
                                    02 октября 2018, 06:30
                                    Всем привет!

                                    QuickView + AjaxForm
                                    data-quickview-mode=«modal»

                                    Возможно ли передать в например data-dialog-title?

                                    Такая необходимость пришла т.к много форм на странице, и у них одинаковые поля, только title разные, а хочется знать с какой кнопки пришло сообщение.
                                      Володя
                                      Володя Старожил
                                      02 октября 2018, 08:54
                                      Привет.
                                      можно в html вызова поместить нужное поле в виде data параметра, например
                                      data-data-title="идентификатор формы"
                                      в чанке поле будет доступно в плейсхолдере
                                      [[!+request.title]]
                                        tracersani
                                        tracersani Старожил
                                        02 октября 2018, 20:11
                                        Супер!
                                        Спасибо большое, заработало.
                                      Владимир
                                      Владимир Старожил
                                      02 марта 2019, 09:44
                                      Вот тут
                                      data-dialog-buttons='[
                                      			{"action":"close","label":"закрыть","title":"закрыть"}
                                      			]'
                                      можно добавить назначение своего класса css для кнопок «закрыть» и для «соседей»?
                                        Володя
                                        Володя Старожил
                                        02 марта 2019, 17:42
                                        Обновится и можно как
                                        <a class="quickview"
                                        		   data-mouseover
                                        		   data-quickview-mode="modal"
                                        		   data-data-element="test"
                                        		   data-data-id="1"
                                        		   data-dialog-buttons='[ { "action":"close","label":"закрыть","title":"закрыть","cls":"tm-close" } ]'
                                        		>наведите</a>
                                          Владимир
                                          Владимир Старожил
                                          02 марта 2019, 17:45
                                          О, спасибо!
                                            Владимир
                                            Владимир Старожил
                                            02 марта 2019, 17:58
                                            Совсем теперь хорошо!
                                              Володя
                                              Володя Старожил
                                              02 марта 2019, 18:33
                                              пожалуйста!
                                          Петр Синечёв
                                          Петр Синечёв Старожил
                                          02 марта 2019, 19:47
                                          А можно пример работы с Office?
                                          Подключен BS4 и jquery
                                          [[!QuickView.initialize?
                                          &bootstrapModalJsCss=`0`
                                          &bootstrapDialogJsCss=`1`
                                          &services=`officeAuth`
                                          ]]
                                          <a class="quickview"
                                          			data-click
                                          			data-quickview-mode="modal"
                                          			data-data-action="officeAuth"
                                          			data-dialog-size="size-wide"
                                          			>Кнопка</a>
                                          action.php дает ишибку 400

                                          И как в вызове указать несколько параметров сниппета?
                                            Володя
                                            Володя Старожил
                                            03 марта 2019, 08:51
                                            И как в вызове указать несколько параметров сниппета?
                                            указать через набор параметров, но лучше указать чанк а в нем все что вам необходимо.
                                              Петр Синечёв
                                              Петр Синечёв Старожил
                                              03 марта 2019, 11:08
                                              Работающий пример с Office можно? То, что я привел, дает ошибку
                                          Sergey Korn
                                          Sergey Korn Старожил
                                          01 июня 2019, 22:38
                                          Спасибо за дополнение. Подскажите, как вывести, например сниппет msCart с определенным кастомным tpl?
                                            Илья
                                            Илья Старожил
                                            28 января 2020, 16:32
                                            Сам разобрался, извиняюсь
                                            <a href="{$_modx->resource.id | url}">Подробнее</a>
                                              R2m0x94 (Vasily)
                                              R2m0x94 (Vasily) Старожил
                                              01 апреля 2020, 15:07
                                              У меня не работает Quickview. Точнее перестал работать, после того как обновил MODX до последней версии и pdoTools.

                                              Окно Quickview открывается, но ни тв не вызвать, ни феном не пашет. Ни знаю что делать?
                                              — То что в чанке, то он просто текстом выдает, а если шаблоном, то pagetitle передает, description передает, стили скрипты передаёт, но ТВ не видет вообще (у меня PHP 7.3)
                                                R2m0x94 (Vasily)
                                                R2m0x94 (Vasily) Старожил
                                                01 апреля 2020, 15:57
                                                В логах только эта строка
                                                [2020-04-01 15:55:04] (ERROR @ /.../public_html/core/xpdo/om/xpdoquery.class.php : 764) Encountered empty IN condition with key id
                                                  R2m0x94 (Vasily)
                                                  R2m0x94 (Vasily) Старожил
                                                  01 апреля 2020, 17:35
                                                  Проблема решена путем ввода в чанк, пришлось обвернуть результаты вывода в pdoResources, и в вызов QV заменил чанк который обрабатывает сниппет, получилась легкая перетасовка, а то и феном ранее не срабатывал.
                                                  Леонид
                                                  Леонид Старожил
                                                  04 мая 2020, 19:59
                                                  Здравия желаю граждане.
                                                  передаю из чанка посредством ссылки, вызовом модального окна с AjaxForm.
                                                  [[!QuickView.initialize?
                                                  &services=`miniShop2,AjaxForm,FormIt,recaptchav2,pagetitle_tv`
                                                  &bootstrapModalJsCss=`1`
                                                  &bootstrapDialogJsCss=`1`
                                                  ]]
                                                              <a href="form?page_id=[[+pagetitle]]" class="quickview" style="color: #fff;"                  
                                                              data-click
                                                  			data-quickview-mode="modal"
                                                  			data-data-action="chunk" 
                                                  			data-data-element="connect_map_tv_standart" 
                                                  			data-data-id="[[+id]]"
                                                  			data-dialog-title="[[+pagetitle]]"
                                                  			data-dialog-buttons='["close"]' 
                                                  			type="submit">ссылка</a>
                                                  вывожу поле в форме
                                                  <input type="hidden" name="pagetitle_tv" value="[[!pagetitle_tv]]">
                                                  есть сниппет pagetitle_tv
                                                  <?php
                                                  $pageID = strip_tags($_GET["page_id"]);
                                                  echo $pageID;
                                                  ?>
                                                  И нифига, не заполняется значение сниппета в форме, не могу понять где, неделю уже бъюсь, дайте азимут направления.
                                                    Леонид
                                                    Леонид Старожил
                                                    04 мая 2020, 22:54
                                                    Решил проблему не тривиально, через jQuery
                                                    data-dialog-title="[[+pagetitle]]"
                                                    передавал значение pagetitle, я просто скопировал и вставил в hidden input
                                                    <script>
                                                    	var text = $('.bootstrap-dialog-title').text()
                                                        $('#pagetitle_tv').val(text)
                                                    </script>
                                                    Максим
                                                    Максим Старожил
                                                    03 сентября 2021, 10:33
                                                    Хочу в модальном окне подгружать информацию о товаре. На самой странице нет ни одного вызова сниппета от miniShop2. Если вызывать модальное окно с чанком, в котором вызывается любой из сниппетов от miniShop2, тогда скрипты от miniShop2 НЕ подключаются в чанке (даже если указать и как в инструкции написано). Если указать в параметре services значение minishop2, тогда скрипт подгружается. Но!!! Он подгружается не в модальном окне, а сразу на странице! А раз он подгружается сразу, значит это автоматом замедляет загрузку и отрисовку страницы! Зачем это надо? (вопрос риторический) может человек ниразу не зайдет в модалку.

                                                    Так вот вопрос такой — почему скрипты от сниппетов minishop2 не подключаются в модалку?

                                                    Другие скрипты (из своих сниппетов), подключаются. Искал в настройках, в коде компонента, так и не нашел где это всё дело «вырезается» и по какой логике…
                                                      Максим
                                                      Максим Старожил
                                                      03 сентября 2021, 12:46
                                                      *(даже если указать
                                                      <head>
                                                      и
                                                      <body>
                                                      как в инструкции написано)
                                                      Sergey (Sentinel)
                                                      Sergey (Sentinel) Старожил
                                                      19 августа 2024, 01:16
                                                      А как-то можно сервис другой подключить? А то стоит компонент со скидками msDiscount и он в modal цену не подгружает

                                                      public_html/core/components/pdotools/model/pdotools/pdoparser.class.php(64): 
                                                      modParser->processElementTags('', '\\r\\n\\r\\n\\r\\n[[!QuickV...', true, false, '[[', ']]', 
                                                      Array, 9)\n#5 /home/i/public_html/core/model/modx/modresource.class.php(546): 
                                                      pdoParser->processElementTags('', '\\ in /home/i/public_html/core/cache/includes/elements/modsnippet/69.include.cache.php on line 22

                                                      upd разобрался
                                                        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                        81