Вопросы
Как в карточке товара каталога вывести несколько картинок с помощью сниппета msProducts?
У меня в каталоге выводится список товаров через сниппет msProducts
Для этого в чанке (product.tpl) запускаю сниппет msGallery
Есть ли способ сразу получить все картинки не делая лишний запрос?
{$_modx->runSnippet('msProducts', [
'parents' => 5,
'includeThumbs' => 'middle,retinamiddle',
'tpl'=> '@FILE chunks/product.tpl'
])}В карточке товара необходимо вывести все картинки из галлереи.Для этого в чанке (product.tpl) запускаю сниппет msGallery
<li>
<h3>{$pagetitle}</h3>
<figure>
{$_modx->runSnippet('msGallery', [
'product' => $id,
'tpl'=> '@FILE chunks/middle_images.tpl'
])}
</figure>
</li>Чанк (middle_images.tpl) с картинками выглядит так{foreach $files as $file}
<img src="{$file['middle']}" srcset="{$file['retinamiddle']} 2x">
{/foreach}Получается при выводе каждого товара идет дополнительный запрос для получения картинок.Есть ли способ сразу получить все картинки не делая лишний запрос?
Сортировка результатов поиска mSearchForm
Есть вопрос по mSearchForm. Как поменять сортировку товаров в выпадающем окне после ввода в строку поиска?
Например, если я ввожу в строку «ricardo ад 10», то мне должны показываться сначала товары с таким названием, но показывается сначала несколько ricardo ад 100, а только потом ricardo ад 10.
Например, если я ввожу в строку «ricardo ад 10», то мне должны показываться сначала товары с таким названием, но показывается сначала несколько ricardo ад 100, а только потом ricardo ад 10.
Событие msOnGetProductPrice установить old_price
У меня на сайте у товара цена может быть указана в разных валютах. На сайт выводится только цена в национальной валюте. Чтобы цена менялась в зависимости от валюты создал плагин:
case 'msOnGetProductPrice':
if ($modx->context->key == 'mgr') {return;}
if (!isset($modx->event->returnedValues['price'])) {
$modx->event->returnedValues['price'] = $price;
}
$price = & $modx->event->returnedValues['price'];
$currency = $modx->getOption('currency_' . strtolower($product->currency));
$price = ceil($price * $currency);
$product->set('price', $price);
$old_price = $product->old_price;
if(isset($old_price) && $old_price != 0){
$old_price = ceil($old_price * $currency);
$product->set('old_price', $old_price);
}
break;Цена(price) меняется и в каталоге и на странице товара. А вот старая цена(old_price) меняется только на странице товара, а вот в каталоге НЕТ. Minishop2. Возможность онлайн-оплаты заказа после подтверждения менеджером
Приветствую.
Нужно, чтобы при оформлении заказа, покупатель не мог оплатить заказ онлайн. А возможность оплатить онлайн появлялась, после того, как менеджер поставит определенный статус в админке. Для оплаты онлайн используется Robokassa.
Так-то алгоритм у меня есть:
1)Сделать обычную доставку
2)После заказа, менеджер заходит в админку, меняет статус на «Ожидает оплаты»
3)В ЛК у покупателя в списке заказов условие на этот статус и появляется ссылка «Оплатить», которая ведет на страницу оплаты.
4)После оплаты возвращается success и меняется статус заказа на «Оплачен»
И проблем реализовать его нет. Единственное, придется разобраться с API Робокассы и сделать свою страницу оплаты
— Но может кто подскажет быстрее способ с использованием готового модуля? В частности интересует modstore.pro/packages/payment-system/msprobokassa
Или в Minishop2 где-нибудь настройка есть — оплаты после подтверждения менеджером?
Нужно, чтобы при оформлении заказа, покупатель не мог оплатить заказ онлайн. А возможность оплатить онлайн появлялась, после того, как менеджер поставит определенный статус в админке. Для оплаты онлайн используется Robokassa.
Так-то алгоритм у меня есть:
1)Сделать обычную доставку
2)После заказа, менеджер заходит в админку, меняет статус на «Ожидает оплаты»
3)В ЛК у покупателя в списке заказов условие на этот статус и появляется ссылка «Оплатить», которая ведет на страницу оплаты.
4)После оплаты возвращается success и меняется статус заказа на «Оплачен»
И проблем реализовать его нет. Единственное, придется разобраться с API Робокассы и сделать свою страницу оплаты
— Но может кто подскажет быстрее способ с использованием готового модуля? В частности интересует modstore.pro/packages/payment-system/msprobokassa
Или в Minishop2 где-нибудь настройка есть — оплаты после подтверждения менеджером?
formit ajaxform
Суть проблемы в том что при реализации формы через AjaxForm страница обновляется и не проходит валидацию. ПИсьмо приходит.
шаблон вызова
шаблон вызова
[[!AjaxForm?
&snippet=`FormIt`
&form=`tpl.AjaxForm`
&emailTpl=`tpl.email`
&hooks=`FormItSaveForm,email`
&emailSubject=`test`
&emailTo=`test@gmail.com`
&validate=`name:required,surname:required,phone:isNumber:required,email:email:required,message:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]] Код о снятии с публикации ресурса?
Здравствуйте!
Помогите реализовать код о снятии с публикации ресурса miniShop2 при нажатии на кнопку.
Можно переделать вот этот код?
Помогите реализовать код о снятии с публикации ресурса miniShop2 при нажатии на кнопку.
Можно переделать вот этот код?
<?php
$res = $modx->getObject('modResource',$id);
$createdby = $res->get('createdby');
$user = $modx->user->getOne('Profile');
$profile = $user->get('id');
if($createdby == $profile){
if($_GET['user'] == $profile ) {
$unid = $_GET['id'];
$resource = $modx->getObject('modResource', $unid );
$resource->set('published',1);
$resource->save();
}
}Заранее благодарю за помощь! Не работает formIt
Ребят, всем привет. Возникла такая проблема, formIt не отправляет и не сохраняет формы. Отправляю все и пишет «Форма отправлена», после смотрю — не где нечего нет, не в FormIt не на почте. В логах одна ошибка PHP Deprecated: Unparenthesized `a? b: c? d: e` is deprecated. Use either `(a? b: c)? d: e` or `a? b: (c? d: e)` in /var/www/vladisla/data/www/vladislavchumak.com.ua/core/model/modx/modx.class.php on line 678\n, referer: vladislavchumak.com.ua/manager/?, как исправить это дело?? Подскажите пожалуйста, уже второй день сижу над ней. Вызов сниппета:
Как реализовать такой алгоритм ModX?
1. При клике на кнопку на сервер по ajax должен улетать запрос с ID ресурса.
2. Ajax-запрос ловит эти данные и записывает в соответствующий ресурс в TV новое значение 1 и параллельно очищает кэш.
3. При выводе ресурсов в критерии ставим условие, чтобы в вашем TV не было значения 1.
2. Ajax-запрос ловит эти данные и записывает в соответствующий ресурс в TV новое значение 1 и параллельно очищает кэш.
3. При выводе ресурсов в критерии ставим условие, чтобы в вашем TV не было значения 1.
Проблема с ControlErrorLog из-за чего возникает ошибка?
Есть ли готовое решение для просмотра скрытых дочерних ресурсов в админке в виде таблицы?
Есть ли готовое решение для просмотра скрытых дочерних ресурсов в админке в виде таблицы а-ля как это сделано в минишопе.
Есть «контейнер» с новостями, в кол-ве 700 штук. Естественно для контейнера сразу было принято решение ставить hide_children_in_tree. Но сразу после этого возникает другая проблема — сложность редактирования т.к. дочерних ресурсов уже не видно и приходится прибегать к костылям в виде frontendManager и редактирование из фронта ресурса.
Есть «контейнер» с новостями, в кол-ве 700 штук. Естественно для контейнера сразу было принято решение ставить hide_children_in_tree. Но сразу после этого возникает другая проблема — сложность редактирования т.к. дочерних ресурсов уже не видно и приходится прибегать к костылям в виде frontendManager и редактирование из фронта ресурса.
