Вопросы
Как сделать условие выборки для article.
Создал для быстрой вставки товаров в тело любой страницы, хочу чтобы не него можно было вносить назания товара (Артикль). Раньше было сделано по id ресурса через resources
вызов такой:
Артикли на кириллице
вызов такой:
{include 'file:chunks/blocks/pdo_project.tpl' $resources='212,207,197'}Код чанка такой:{set $params = [
'depth' => '0',
'resources' => $resources,
'element' => 'msProducts',
'tpl' => '@FILE chunks/cards/card.tpl',
'includeThumbs' => 'medium',
'limit' => 80,
'includeTVs' => 'price1,area',
'tvPrefix' => '',
'parents' => 0 ,
]}
<div class="rows row row-cols-1 row-cols-sm-2 row-cols-md-3 catalog mt-2">
{'!pdoPage' | snippet : $params}
</div>Сейчас пытаюсь через where заменить 'resources' => $resources на 'where'=> '{"article:IN":$articles}',но ничего не работает. Артикли на кириллице
Сортировка по опциям msProducts [решено]
Доброго.
Уже пол дня убил на попытку наладить сортировку msProducts, прошу помощи аудитории, так как документации и гугла явно не хватает :)
Дано: miniShop2, товары с опциями, всё обычное.
Задача: отсортировать по опции 'obschaya-ploschad', примеры значений опции: 211.8, 240 и т.д.
Делаю так:
Уже пол дня убил на попытку наладить сортировку msProducts, прошу помощи аудитории, так как документации и гугла явно не хватает :)
Дано: miniShop2, товары с опциями, всё обычное.
Задача: отсортировать по опции 'obschaya-ploschad', примеры значений опции: 211.8, 240 и т.д.
Делаю так:
$modx->runSnippet('msProducts', [
'parents' => 2,
'sortbyOptions' => 'obschaya-ploschad:number',
'sortby' => '{"obschaya-ploschad":"ASC"}',
'limit' => 24,
'offset' => $offset,
'tpl' => 'tpl.catalog.row',
'setTotal' => 1
]); переписать путь к файлу стилей
Добрый день. только начал изучать modx. стоит задача по клике на кнопку менять подключаемые файлы стилей. просто используя php я это сделал. но как это сделать в modx не понимаю.
это нативный php
$css = 'style.css';
$css2 = 'style2.css';
$filename = 'index.php';
$file = file_get_contents($filename);
$title_pattern = $css;
$test = preg_replace("~$title_pattern~", $css2, $file);
file_put_contents($filename, $test);
header('Location: index.php');
а это уже код внутри modx
кнопка на странице, где 124 это номер сниппета
а это сам сниппет
<?php
function getStyle() {
$css = '[[$styles]]'; // чанк исходного файла css
$css2 = '[[$styles2]]'; //чанк файла на который надо поменять
$filename = [[$head]]; //чанк — место где происходит замена css файлов
$file = file_get_contents($filename);
$title_pattern = $css;
$test = preg_replace("~$title_pattern~", $css2, $file);
return file_put_contents($filename, $test);
}
это нативный php
$css = 'style.css';
$css2 = 'style2.css';
$filename = 'index.php';
$file = file_get_contents($filename);
$title_pattern = $css;
$test = preg_replace("~$title_pattern~", $css2, $file);
file_put_contents($filename, $test);
header('Location: index.php');
а это уже код внутри modx
кнопка на странице, где 124 это номер сниппета
а это сам сниппет
<?php
function getStyle() {
$css = '[[$styles]]'; // чанк исходного файла css
$css2 = '[[$styles2]]'; //чанк файла на который надо поменять
$filename = [[$head]]; //чанк — место где происходит замена css файлов
$file = file_get_contents($filename);
$title_pattern = $css;
$test = preg_replace("~$title_pattern~", $css2, $file);
return file_put_contents($filename, $test);
}
Игнорировать мультикатегории в msProducts
Добрый день! Можно ли как-то сделать вывод товаров без учета мультикатегорий, чтобы не отображались те, что связаны с этой категорией из другой категории?
PayPal minishop2 ошибка при оплате
/home/u212443042/domains/maisondentremets.com/public_html/core/components/minishop2/custom/payment/paypal.class.php : 84) [miniShop2] Payment error while request. Request: Array
(
[METHOD] => SetExpressCheckout
[PAYMENTREQUEST_0_CURRENCYCODE] => GBP
[PAYMENTREQUEST_0_ITEMAMT] => 4.21
[PAYMENTREQUEST_0_SHIPPINGAMT] => 10
[PAYMENTREQUEST_0_AMT] => 14.21
[RETURNURL] => https://maisondentremets.com/assets/components/minishop2/payment/paypal.php?action=success
[CANCELURL] => https://maisondentremets.com/assets/components/minishop2/payment/paypal.php?action=cancel
[PAYMENTREQUEST_0_INVNUM] => 18
[L_PAYMENTREQUEST_0_NAME0] => Avocado Guacamole
[L_PAYMENTREQUEST_0_AMT0] => 4.96
[L_PAYMENTREQUEST_0_QTY0] => 1
[L_PAYMENTREQUEST_0_NAME1] => Standard (Free)
[L_PAYMENTREQUEST_0_AMT1] => 0
[L_PAYMENTREQUEST_0_QTY1] => 1
)
, response: SSL certificate problem: unable to get local issuer certificateКак можно решить проблему? recaptcha v2 tickets
начал искать как прикрутить recaptcha v2 к TicketComments, нигде не нашел, только встроенная проверка сложение, не знаю правильно или нет но прикрутить удалось таким способом код от установленого formit и recaptchav2
в форму добавил
[ [!recaptchav2_render] ]
[ [!+fi.error.recaptchav2_error] ]
выключил встроенную проверку &enableCaptcha=`0`
добавил &customValidators=`recaptchav2` &validate=`g-recaptcha-response:required` &g-recaptcha-response.vTextRequired=`Вы не прошли проверку на спам`
получился код вызова
[ [!TicketComments? &allowGuest=`1` &autoPublishGuest=`0` &enableCaptcha=`0` &customValidators=`recaptchav2` &validate=`g-recaptcha-response:required` &g-recaptcha-response.vTextRequired=`Вы не прошли проверку на спам` ] ]
может кому поможет, у меня все работает
автору дополнения tickets надо было бы как то давно описать и прикрутить гугл капчу, думаю математическая проверка давно устарела
в форму добавил
[ [!recaptchav2_render] ]
[ [!+fi.error.recaptchav2_error] ]
выключил встроенную проверку &enableCaptcha=`0`
добавил &customValidators=`recaptchav2` &validate=`g-recaptcha-response:required` &g-recaptcha-response.vTextRequired=`Вы не прошли проверку на спам`
получился код вызова
[ [!TicketComments? &allowGuest=`1` &autoPublishGuest=`0` &enableCaptcha=`0` &customValidators=`recaptchav2` &validate=`g-recaptcha-response:required` &g-recaptcha-response.vTextRequired=`Вы не прошли проверку на спам` ] ]
может кому поможет, у меня все работает
автору дополнения tickets надо было бы как то давно описать и прикрутить гугл капчу, думаю математическая проверка давно устарела
Как вывести результаты pdoResources в формате json, но с моим tpl
Всем привет!
Вывод с параметром &return=`json` меня не совсем устраивает, так как он выводит все поля документа без возможности обработки вложенными сниппетами.
Например, у меня есть TV в формате MIGX для добавления множества фото к документу и их необходимо обработать с помощью phpthumbon, а также другие необходимы обработки внутри чанков.
Если я делаю свой шаблон с закосом под структуру json:
{
«id»: "{$id}",
«pagetitle»: "{$pagetitle}",
},
То это не работает. Выводит в таком виде, но не работает там, куда отправляется эта json-ссылка.
Что делать?
Вывод с параметром &return=`json` меня не совсем устраивает, так как он выводит все поля документа без возможности обработки вложенными сниппетами.
Например, у меня есть TV в формате MIGX для добавления множества фото к документу и их необходимо обработать с помощью phpthumbon, а также другие необходимы обработки внутри чанков.
Если я делаю свой шаблон с закосом под структуру json:
{
«id»: "{$id}",
«pagetitle»: "{$pagetitle}",
},
То это не работает. Выводит в таком виде, но не работает там, куда отправляется эта json-ссылка.
Что делать?
Запретить добавлять товар в некоторые "мульти-категории"
Добрый день.
В админ панели у каждого товара minishop2 есть вкладка Категории. В ней есть возможность установкой галочки поместить товар в ресурс, если он создан как категория товара.
Какие есть разумные способы ограничить выбор этих категорий? К примеру есть два каталога — каталог1 и каталог2. Необходимо не дать возможность разместить товар из каталога 1 внутри второго или любых подкатегориях второго?
Посмотрел список событий docs.modx.pro/komponentyi/minishop2/razrabotka/sobyitiya, думал можно это отработать на уровне плагина, но похожих событий не нашел.
Спасибо.
В админ панели у каждого товара minishop2 есть вкладка Категории. В ней есть возможность установкой галочки поместить товар в ресурс, если он создан как категория товара.
Какие есть разумные способы ограничить выбор этих категорий? К примеру есть два каталога — каталог1 и каталог2. Необходимо не дать возможность разместить товар из каталога 1 внутри второго или любых подкатегориях второго?
Посмотрел список событий docs.modx.pro/komponentyi/minishop2/razrabotka/sobyitiya, думал можно это отработать на уровне плагина, но похожих событий не нашел.
Спасибо.
Как получить переменные через событие af_compleate и AjaxForm?
Приветствую уважаемое сообщество.
использую связку AjaxForm + formit + свой хук
в своём сниппете пытаюсь передать массив и потом отловить его через событие af_compleate
хук:
Подскажите пожалуйста как я могу получить данные из своего сниппета через af_complete?
использую связку AjaxForm + formit + свой хук
в своём сниппете пытаюсь передать массив и потом отловить его через событие af_compleate
хук:
$arr = array(
'var' => 'value',
'var2' => 'value2',
)
return $AjaxForm->success('Форма обработана', $arr);JS:$(document).on('af_complete', function(event, response) {
var form = response.form;
if (form.attr('id') == 'add-contract') {
console.log(response);
console.log(response.data);
}
});приходит пустой массив.Подскажите пожалуйста как я могу получить данные из своего сниппета через af_complete?
minishop смена цены товара в зависимости от кол-ва налету
minishop смена цены товара в зависимости от кол-ва налету
сейчас в корзине к примеру, если поставить большое количества то ценик на товаре (за еденицу товара) не обновляется, хотя итоговый пеерасчет происходит сразу
подскажите как сделать чтобы сразу менялась сумма за единицу товара
как я понимаю за это должен отвечать msSalePrice но как его увязать?
а также на странице товара перед добавлением в корзины открывается модальное окно
и там тоже самое — ценик не меняется на лету :(
код окна
сейчас в корзине к примеру, если поставить большое количества то ценик на товаре (за еденицу товара) не обновляется, хотя итоговый пеерасчет происходит сразу
подскажите как сделать чтобы сразу менялась сумма за единицу товара
как я понимаю за это должен отвечать msSalePrice но как его увязать?
а также на странице товара перед добавлением в корзины открывается модальное окно
и там тоже самое — ценик не меняется на лету :(
код окна
<form class="form-horizontal ms2_form" method="post">
<input type="hidden" name="id" value="[[*id]]"/>
<div class="cart">
<h2>Вы добавили товар в корзину</h2>
<div class="cart-title py-4">
<div class="cart-title-img col-md-3"></div>
<div class="cart-title-name col-md-3">Наименование товара</div>
<div class="cart-title-amount text-center col-md-3">Кол-во</div>
<div class="cart-title-price col-md-3">Сумма</div>
</div>
<!-- Start Cart Item -->
<div class="cart-item mb-3">
<div class="cart-item-img col-md-3">
<img src="[[+image]]" alt="">
</div>
<div class="cart-item-name col-md-3">
<a>[[*pagetitle]]</a>
</div>
<div class="cart-item-amount col-md-3">
<span class="minus">-</span>
<input type="number" name="count" id="product_price" class="number"
step="[[msProductOptions?
&onlyOptions=`count_add`
&tpl=`optionValTpl`
]]"
value="[[!startcount]]"
min="[[!startcount]]">
<span class="plus">+</span>
</div>
<div class="cart-item-price col-md-3">
<span id="ciPrice" class="mssaleprice-cost">[[+price]]</span>руб.
</div>
<!--<div class="cart-item-delete text-center">
<span class="fa-layers fa-fw">
<i class="fa-inverse fas fa-times" data-fa-transform="shrink-6"></i>
</span>
</div>-->
</div>
<!-- End Cart Item -->
<hr>
<!-- Start Cart Total -->
<div class="row">
<div class="ml-auto col-12 col-md-5 col-xl-3">
<div class="cart-total mb-3">
<span>Итого:</span>
<span><span id="itogopotovaru"></span> руб.</span>
</div>
</div>
</div>
<!-- End Cart Total -->
<div class="cart-item-btns row d-flex flex-wrap mb-4">
<div class="col-12 order-1 order-md-0 col-md-5 col-xl-3">
<div class="cart-back">
<a style="cursor:pointer" onclick="return continueBuy();">Продолжить покупки</a>
</div>
</div>
<div class="col-12 col-md-5 col-xl-3 ml-auto mb-3 mb-md-0">
<a style="cursor:pointer" onclick="return oformit();" class="btn-submit">Перейти в корзину</a>
</div>
</div>
<hr>
</div>
<!-- Спрятанная кнопка submit -->
<div style="display:none">
<button id="fs" type="submit" class="btn btn-default" name="ms2_action" value="cart/add">
<i class="glyphicon glyphicon-barcode"></i> [[%ms2_frontend_add_to_cart]]
</button>
</div>
<!-- -->
</form>а это код в корзине