Быстрый просмотр карточки товара Fancybox3
Привет! Сделал быстрый просмотр карточки товара с помощью Fancybox3, а так же плагина SwitchTemplate (элементарно переключает шаблон с помощью ключа в ссылке), на карточке товара в каталоге вызываю его вот таким образом:
Вот к примеру такой шаблон быстрого просмотра:
Причем если выводить простые ресурсы MODX то работает идеально, таблицы MIGX работает так же идеально, проделывал такое на Shopkeeper3 с товарами в MIGX так же работает без проблем, выводится всё, тут какой то затык, и не понятно в чем проблема, по сути всё точно также, подгрузить, просто с другим шаблоном.
Для вывода в каталоге использую mFilter2 (куплен официально) вот так:
Настройки касаемые Fenom стоят такие:
Использовать Fenom в чанках --->Да
Разрешить MODX в Fenom --->Да
Использовать Fenom на страницах --->Да
В логах — пусто.
<a data-fancybox data-type="ajax" data-src="{$id|url}?mode=quick" href="javascript:;" class="css-class">Быстрый просмотр</a>
Карточка товара открывается, она старается подтянуть данные, но происходит всё очень странно. Вот к примеру такой шаблон быстрого просмотра:
<div class="container-fluid">
<div class="quick-popup">
<form class="form-horizontal ms2_form" method="post">
<input type="hidden" name="id" value="[[*id]]" />
<input type="hidden" name="options" value="[]">
<div class="prod">
<h2 class="pro-title">{$_modx->resource.pagetitle}</h2>
<div class="price-box">
<span class="new-price">{$_modx->resource.price} ₽</span>
</div>
<p>Артикул: <span>{$_modx->resource.article} </span></p>
<p>Бренд: <span>{$_modx->getPlaceholder('vendor.name')}</span></p>
<input type="number" name="count" id="product_price" class="input-sm form-control" value="1" />
<button id="myButton1" type="submit" name="ms2_action" value="cart/add" class="pro-btn">В корзину</button>
</div>
</form>
</div>
</div>
Если {$_modx->resource.pagetitle} заменить на [[*pagetitle]] то всё работает без проблем, подтягивется имя, всё как надо, если же например выводить [[+price]] или [[*price]] то цена не выведется, выводится только с помощью Fenom (но! товар добавляется в корзину с правильной ценой, как полагается), а вот производитель (vendor) не выводится вообще никак, как ты его не пытайся выдергивать:{$_modx->getPlaceholder('vendor.name')}
//----------------------
{var $vend = $_modx->getPlaceholder('vendor.name')}
{$vend}
//----------------------
[[+vendor.name]]
//----------------------
[[!+vendor.name]]
причем что если открыть без ajax, а как обычную страницу то всё выводится отлично, в чем может быть проблема? по сути просто переключается шаблон, и данные с товара грузятся в ч-з ajax. Прошу помощи, или указать верное направление. Спасибо.Причем если выводить простые ресурсы MODX то работает идеально, таблицы MIGX работает так же идеально, проделывал такое на Shopkeeper3 с товарами в MIGX так же работает без проблем, выводится всё, тут какой то затык, и не понятно в чем проблема, по сути всё точно также, подгрузить, просто с другим шаблоном.
Для вывода в каталоге использую mFilter2 (куплен официально) вот так:
[[!mFilter2?
&parents=`[[*id]]`
&tplOuter=`cat_outer`
&paginator=`pdoPage`
&class=`msProduct`
&element=`msProducts`
&depth=`3`
&where=`{"template":"2"}`
&tpls=`grid,list`
&includeTVs=`image1`
&suggestions=`1`
&showLog=`1`
&filters=`
resource|parent:categories,
ms|vendor:vendors,
ms|price:number
`
]]
Если что прошу сильно не пинать, это первый магазин на MS2, и первый раз использую Fenom, документацию на гитхабе читал. Стоит всё самое последнее с modstore.pro Настройки касаемые Fenom стоят такие:
Использовать Fenom в чанках --->Да
Разрешить MODX в Fenom --->Да
Использовать Fenom на страницах --->Да
В логах — пусто.
Комментарии: 5
вот производитель (vendor) не выводится вообще никак, как ты его не пытайся выдергивать:
{$_modx->resource['vendor.name']}
Спасибо гигантское! Так работает, а почему остальные варианты не работают, и с полем price так может происходить? Мне просто для понимания.
почему остальные варианты не работают, и с полем price так может происходить?если за данный функционал отвечает SwitchTemplate, то наверно он не обеспечивает корректной обработки…
Я не понял, а зачем переключать шаблон?
Вот и всё решение
<a data-fancybox data-type="ajax" data-src="{$id | url}" href="javascript:;" data-filter="#msProduct">Быстрый просмотр</a>
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.