Вопросы
Pdoresource неправильно обрабатывает условие where. РЕШЕНО!
Всем привет!
Сразу к делу. Код сниппета:
Не понимаю, что за магия происходит. Помогите разобраться.
UPD. Когда ввожу 0, 1, 11, 12 и выборка работает нормально. Остальные числа до 99 включительно отдают пустой результат.
Сразу к делу. Код сниппета:
<?php
$where = array(
'Lo:>=' => 100,
'Lo:<=' => 140,
);
$where = $modx->toJSON($where);
$output = $modx->runSnippet('pdoResources',array(
'limit' => 15,
'parents' => 71,
'includeTVs' => 'Lo',
'where' => $where,
'return' => 'json'
));
return $output;Данный сниппет выдает результат из 4 значений, то есть работает корректно. Когда меняю 100 на 99, результатом сниппета становится пустой массив. Что интересно, когда меняю 99 на 10, сниппет отрабатывает правильно.Не понимаю, что за магия происходит. Помогите разобраться.
UPD. Когда ввожу 0, 1, 11, 12 и выборка работает нормально. Остальные числа до 99 включительно отдают пустой результат.
Как сделать условие выборки для 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?