[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
9 749
+15
Поблагодарить автора Отправить деньги

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

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

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

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

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

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

          <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
            +1
            Единственное, пока не вник, как добавить к вызываемому сниппету свой чанк
            либо вызывать чанк в котором у вас вызов сниппета с нужными параметрами, либо указать сниппет с набором параметров.
            Прямой возможности передать параметры сниппету нет.
              Stan Ezersky
              17 мая 2017, 10:22
              0
              А если вызвать шаблон?

              <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
                0
                попробуй, должно работать. Я если честно не пробовал, добавил эту возможность но не проверял…
                  Stan Ezersky
                  17 мая 2017, 10:25
                  0
                  В настройках нужно прописать шаблон?
                    Володя
                    17 мая 2017, 10:27
                    0
                    allowed_template — список разрешенных шаблонов
                      Stan Ezersky
                      17 мая 2017, 10:31
                      0
                      Не сработало с шаблоном, но можно из него всё в чанк вынести и работать с ним. Будет работать на ура.

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

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

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

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

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

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

              Для меня это ценное дополнение, с помощью него можно не плодить html-формы, а создавать их динамически. Я вообще удивлён, что так мало обратной связи
                Володя
                27 мая 2017, 11:29
                0
                Почему бы не сделать так, чтобы любой подключенный чанк можно было вызывать и работать с ним. Такая инициализация «на лету».
                очисти соответствующую настройку и должно работать с любым элементом.
                Юрий
                07 августа 2017, 12:10
                0
                Привет. столкнулся с такой проблемой. есть каталог с фильтрацией (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
                  0
                  ПРивет, напиши в ТП с указанием доступов к админке и ссылкой где это можно увидеть.
                  Спасибо!
                    Юрий
                    07 августа 2017, 12:51
                    0
                    Привет, Пытался. Но купил в 2015 году ТП уже не работает
                      Воеводский Михаил
                      07 августа 2017, 12:52
                      +1
                      Для получения доступа к поддержке можно снова купить компонент на тот же ключ.
                        Юрий
                        07 августа 2017, 13:20
                        0
                        я смогу вторую покупку использовать потом на другом сайте? купил давно, но по сути, только сейчас решил попробовать разобраться, как использовать его не с бутстрапом. Может мне он вообще не подойдет. А Вы предлагаете купить его еще один раз
                          Воеводский Михаил
                          07 августа 2017, 15:14
                          0
                          Вы можете приобрести для другого сайта и смоделировать ситуацию на нем.
                    Володя
                    07 августа 2017, 13:28
                    0
                    если у вас не используется bootstrap вам нужно подключить скрипты модалки и диалога так как функцинаол завязан на них, либо пользовать через selector, там эти скрипты не требуются.
                      Юрий
                      07 августа 2017, 13:34
                      0
                      Так и вызвано через селектор:
                      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
                        0
                        Как-то так присходит: видео
                          Володя
                          07 августа 2017, 14:04
                          0
                          попробовал на пустом шаблоне, вот код.
                          <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
                          0
                          В общем-то разобрался, MiniFix подвел. пришлось отключить параметр «minifyx_process_registered»
                        Александр
                        01 ноября 2017, 19:10
                        0
                        Здравствуйте.
                        Подскажите, пожалуйста, как можно добавить функцию на событие?
                        Пробую отсюда так:
                        $('.modal').on('shown.bs.modal', function(e) {
                        	console.log('qwe');
                        });
                        Не получается.
                          Володя
                          01 ноября 2017, 20:04
                          +1
                          Добрый вечер.
                          Можно попробовать как
                          $(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
                            0
                            Оба варианта рабочие.
                            Спасибо!
                              SEQUEL.ONE
                              29 марта 2018, 22:19
                              0
                              Возможно ли по событию получать цену old_price, если открывается в модальном окне msCart?
                                Володя
                                30 марта 2018, 11:07
                                0
                                Возможно ли по событию получать цену old_price, если открывается в модальном окне msCart?
                                поясните. Открывается корзина а получать цену old_price чего ???
                            Игорь Игамов
                            16 ноября 2017, 17:39
                            0
                            Здравствуйте. У меня возник вопрос.
                            Мне необходимо вывести каталог с товарами в модальном окне. Прежде чем приобрести, попробовал на тестовом хостинге это воплотить, товары выводятся, всё гуд, но у меня не работает пагинация, то есть страница обновляется.
                            Вызов pdopage осуществляется в чанке. При включении ajax в pdopage, товары не появляются вообще.
                            Не подскажите возможно ли это сделать данным дополнением? Спасибо!
                            P.S. также пробовал через сниппет с параметрами, тоже самое.
                              Игорь Игамов
                              16 ноября 2017, 21:42
                              0
                              Наверное попробую реализовать через AjaxSnippet
                              Андрей
                              25 января 2018, 20:27
                              0
                              Скажите, а чтобы загрузить в модальном окне галерею ms2Galleryб какой нужно вызов использовать? Нужно ли подгружать ms2Gallery через service?
                                Володя
                                25 января 2018, 21:12
                                0
                                Не знаю, не приходилось использовать с ms2Gallery.
                                Напишите в ТП, приложите доступы к админке сайта и ссылку на чанк с вызовом — разберемся.
                                Спасибо!
                                Sergey Leleko
                                13 июля 2018, 18:16
                                +1
                                Добрый день! Возможно ли вместо бутстрапа подключить fancybox3? для показа модалок
                                  Stan Ezersky
                                  14 июля 2018, 10:13
                                  0
                                  Поддержу предложение
                                    Володя
                                    14 июля 2018, 10:27
                                    +1
                                    Ребятушки ну вот же quickview.vgrish.ru/#ex-9
                                      Stan Ezersky
                                      14 июля 2018, 10:30
                                      0
                                      Володя, а давно добавилась такая опция? Приятно удивлён.

                                      Вопрос в том, чтобы избавиться от монструозных диалоговых окон и подключить лёгкий fancybox3 по умолчанию.
                                        Володя
                                        14 июля 2018, 10:39
                                        +1
                                        пример с fancybox только что )
                                        А вывод в селектор есть изначально. Можно использовать любые модалки и тд…
                                  Валерий
                                  19 июля 2018, 21:17
                                  0
                                  Добрый вечер. Прошу подсказать мне, что я упускаю.
                                  Есть вызов модального окна, вот настройки кнопки:
                                  <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
                                    +1
                                    Доброе утро.
                                    Кнопку закрыть я пытаюсь создать добавлением следующего параметра:
                                    data-output-buttons='[«close»]'
                                    Именно «output», потому что dialog даже не создает кнопку.
                                    именно
                                    data-output-buttons='["close"]'
                                    и нужно использовать если вы используете вывод в селектор.

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

                                      А QuickView позволяет повесить функцию закрытия на имеющуюся кнопку, а не на созданную им?
                                      Т.е. в моем чанке есть элемент, который мог бы выполнять функцию кнопки закрытия, но прописывание ему нужных стилей не помогает…
                                        Володя
                                        20 июля 2018, 12:38
                                        1
                                        +1
                                        А 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
                                          0
                                          Да, сработало. Странно, вчера я пытался так делать, но не выходило.
                                          Видимо, где-то класс терял.

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

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

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

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

                                    Такая необходимость пришла т.к много форм на странице, и у них одинаковые поля, только title разные, а хочется знать с какой кнопки пришло сообщение.
                                      Володя
                                      02 октября 2018, 08:54
                                      0
                                      Привет.
                                      можно в html вызова поместить нужное поле в виде data параметра, например
                                      data-data-title="идентификатор формы"
                                      в чанке поле будет доступно в плейсхолдере
                                      [[!+request.title]]
                                        tracersani
                                        02 октября 2018, 20:11
                                        0
                                        Супер!
                                        Спасибо большое, заработало.
                                      Владимир
                                      02 марта 2019, 09:44
                                      0
                                      Вот тут
                                      data-dialog-buttons='[
                                      			{"action":"close","label":"закрыть","title":"закрыть"}
                                      			]'
                                      можно добавить назначение своего класса css для кнопок «закрыть» и для «соседей»?
                                        Володя
                                        02 марта 2019, 17:42
                                        +1
                                        Обновится и можно как
                                        <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, 19:47
                                      0
                                      А можно пример работы с 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
                                        0
                                        И как в вызове указать несколько параметров сниппета?
                                        указать через набор параметров, но лучше указать чанк а в нем все что вам необходимо.
                                      Sergey Korn
                                      01 июня 2019, 22:38
                                      0
                                      Спасибо за дополнение. Подскажите, как вывести, например сниппет msCart с определенным кастомным tpl?
                                        Илья
                                        28 января 2020, 16:32
                                        0
                                        Сам разобрался, извиняюсь
                                        <a href="{$_modx->resource.id | url}">Подробнее</a>
                                          R2m0x94 (Vasily)
                                          01 апреля 2020, 15:07
                                          0
                                          У меня не работает Quickview. Точнее перестал работать, после того как обновил MODX до последней версии и pdoTools.

                                          Окно Quickview открывается, но ни тв не вызвать, ни феном не пашет. Ни знаю что делать?
                                          — То что в чанке, то он просто текстом выдает, а если шаблоном, то pagetitle передает, description передает, стили скрипты передаёт, но ТВ не видет вообще (у меня PHP 7.3)
                                            R2m0x94 (Vasily)
                                            01 апреля 2020, 15:57
                                            0
                                            В логах только эта строка
                                            [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)
                                              01 апреля 2020, 17:35
                                              0
                                              Проблема решена путем ввода в чанк, пришлось обвернуть результаты вывода в pdoResources, и в вызов QV заменил чанк который обрабатывает сниппет, получилась легкая перетасовка, а то и феном ранее не срабатывал.
                                              Леонид
                                              04 мая 2020, 19:59
                                              0
                                              Здравия желаю граждане.
                                              передаю из чанка посредством ссылки, вызовом модального окна с 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
                                                0
                                                Решил проблему не тривиально, через jQuery
                                                data-dialog-title="[[+pagetitle]]"
                                                передавал значение pagetitle, я просто скопировал и вставил в hidden input
                                                <script>
                                                	var text = $('.bootstrap-dialog-title').text()
                                                    $('#pagetitle_tv').val(text)
                                                </script>
                                                Максим
                                                03 сентября 2021, 10:33
                                                0
                                                Хочу в модальном окне подгружать информацию о товаре. На самой странице нет ни одного вызова сниппета от miniShop2. Если вызывать модальное окно с чанком, в котором вызывается любой из сниппетов от miniShop2, тогда скрипты от miniShop2 НЕ подключаются в чанке (даже если указать и как в инструкции написано). Если указать в параметре services значение minishop2, тогда скрипт подгружается. Но!!! Он подгружается не в модальном окне, а сразу на странице! А раз он подгружается сразу, значит это автоматом замедляет загрузку и отрисовку страницы! Зачем это надо? (вопрос риторический) может человек ниразу не зайдет в модалку.

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

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