Стоит задача после вывода и выбора товара сразу, без перезагрузки страницы, выводить форму обратной связи с параметрами товара. Поскольку добавление товара в корзину реализовано аяксом, то вроде как для этого нет препятствий. Логика такая - товар добавили в корзину, после этого проверили есть ли добавление и есть ли сам объект в корзине, если есть, то загружаем форму заказа. Для этих целей использую вот этот блок: div data-smodx-data="cost" class="order_data"
{if $basket_result.success && $basket_result.object}
{include file="blocks/order-form.tpl"}
{else}
div class="sum" span class="num" span span class="text"Корзина пуста/span span style="white-space:nowrap;"> div
{/if}
div Но вместо ожидаемого вывода формы ОС непосредственно после клика на кнопке "купить", выводится строка с количеством и суммой товара. Если страницу перегрузить, то тогда выводится и сама форма.
Подскажите, плиз, откуда берется строка, если в шаблоне ее нет? Какой скрипт ее туда всобачивает?
Кстати, немного из опыта: Для того, чтобы с рекламной сети яндекса (РСЯ) получать денег, надо заключить Договор (что вполне логично). Но вот раньше были крупные партнеры у Яши, и можно было работать через них. То есть к ним подключаешься по партнерке и работаешь с ними, а те в свою очередь первая рука для Яндекса. Им, как давним партнерам, были более выгодные условия, и даже работая через них, конечный вебмастер раза в четыре больше денег получал, чем если работать с Яндексом напрямую. Да и процесс подключения был гораздо проще. Но те времена канули в лету. Яша в какой-то момент взял и свернул эту программу, разорвав договора с этими партнерами и обязав всех веб-мастеров работать с ними напрямую. Вторая часть моей истории - заключение Договора с Яшей. Первое, что меня удивило - это обязательное предоставление ИНН. Это какой-то бред. Даже при трудоустройстве на работу и регистрации своей компании не требуется предоставление ИНН, а эти без ИНН нифига не хотят заключать. Но если у вас нет копии ИНН, вы можете попробовать получить свой номер на сайте налоговой на специальной странице и отправить им скрин этой страницы. Второе: отправил я им все скрины, они мне прислали Договор на подпись, я распечатал два экземпляра, подписал и отнес им прям в офис оригиналы (благо они совсем не далеко от меня находятся). Отнес их в прошлый понедельник. И вот уже наступил новый понедельник, а я все не могу перевести в рабочий режим сайт, так как Договор у них все еще не числится. Позвонил к ним в офис, поторопил и в течение часа все нашли и включили (сейчас на проверке у модератора). В разговоре по телефону они сказали, что для того, чтобы быстрее происходила процедура включения, им надо было сразу сканы подписанных с моей стороны Договоров прислать. В общем, если кто решит подключаться, может пригодится.
Вот именно, беда... Поэтому когда я вижу такие пробелы, я и советую забросить ShopModxBox. Это же не так, что просто поставил и все (как большинство простейших модулей). Тут хочешь не хочешь, а программировать приходится. И что делать, когда даже элементарных знаний не хватает? Люди только-только на трехколесном велосипеде научились кататься, и уже хотят в ралли участвовать.
Ничего неожиданного. Выше я писал: 1. Во вложенном шаблоне прописан плейсхолдер [[+page.nav]], но в вызове процессора не прописан передаваемый параметр getPage => true. Без этого параметра не будет вызываться в процессоре сниппет getPage. Вы прописали этот параметр в params в вызове процессора, и постраничность заработала.
Но как я и писал там же, постраничность перестанет нормально работать, если отключить некеширование шаблонов. А не отключить - будет сайт медленней работать. Поэтому возьмите создайте новый Смарти-шаблончик, например inc/category/list.tpl, перекиньте в него ваш код: {processor action="web/catalog/category/products/getdata" ns="modxsite" params="limit=6
&getPage=1
" assign=result}
{* Набиваем через единый шаблон листинга *}
{include file="shop/catalog/list/fetch.tpl"} А вместо него пропишите некешируемый вызов [[!smarty?tpl=`inc/category/list.tpl`]].
Тогда можно будет отключить некеширование шаблонов (в параметрах MODX-шаблонов).
В 2.3+ сильно переработаны контроллеры MODX-а и система Действий (пунктов меню). Раньше были отдельно Действия и отдельно Пункты меню, в которых указывался ID выполняемого Действия (а в Действии в свою очередь прописывался путь к выполняемому контроллеру). А сейчас у них просто есть Пункт меню, в которых прописываются пути к контроллерам. В общем, сейчас основная проблема в том, что побиты пути к контроллерам. http://myshop.ops/manager/components/basket/css/style.css А вот это скорее всего просто не полностью сборка развернулась, так как этот файл там точно есть. Я вот тоже развернул на 2.3.1, и там этот файл есть и он не потерян.
Возможно ли как-то передать значение в чанк? В чанк значение передается также, как и в сниппет: [[!chunkName? &a=12345]]
спасибо всем за комментарии, неожиданно решил проблему, отредактировав category.tpl {extends file="layout.tpl"}
{block name=content}
{processor action="web/catalog/category/products/getdata" ns="modxsite" params="limit=`6`&getPage=`1`" assign=result}
{* Набиваем через единый шаблон листинга *}
{include file="shop/catalog/list/fetch.tpl"}
{/block}