10 июля 2019, 14:23 решено! Pavel Zarubin огромное спасибо! Вопросы / Как в ajax файле form.php подключить после вызова чанка обработку fenom тегов и снипетов? 1 0
10 июля 2019, 14:21 //Сниппеты из бд в чанках и на странице {'snippetName' | snippet: [ ...params... ]} Работает! Ты мой спаситель! Прям от души благодарю! Вопросы / Вызов fenom обработчика 26 +1
10 июля 2019, 13:58 Fenom теги заработали (огромное спасибо!), а сниппеты все так же не обрабатываються (даже в феном вызове) Вопросы / Вызов fenom обработчика 26 0
10 июля 2019, 13:51 а fenom теги и вызов сниппетов такая ситуация Вопросы / Вызов fenom обработчика 26 0
10 июля 2019, 13:45 Стандартные теги показывает, тобишь переменные которые передаються в чанк h, l1, l2, l3 (показывает через такой вызов [[+h]]) Вопросы / Вызов fenom обработчика 26 0
10 июля 2019, 12:16 Подставлял уже методом тыка в каждую строку, как не читало fenom теги и снипеты, так и не читает. Есть подозрение что где-то упускаю, что-то но не консоль не чего не показывает, ни сам разобраться не могу( Вопросы / Вызов fenom обработчика 26 0
08 июля 2019, 14:59 Ребята, подскажите пожалуйста! Как в ajax файле form.php подключить после вызова чанка обработку fenom тегов и снипетов? Вот содержимое файла form.php <?php if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' || empty($_POST['action'])) { return; } define('MODX_API_MODE', true); require dirname(dirname(dirname(__FILE__))) . '/index.php'; $modx->getService('error','error.modError'); $modx->setLogLevel(modX::LOG_LEVEL_ERROR); $modx->setLogTarget('FILE'); if ($_POST['action'] == "1" && isset($_POST['mass'])) { //Получаем значение для второго селектора $output = $modx->getChunk('mass',array( 'mass' => strval($_POST['mass']), 'h' => strval($_POST['h']), 'l1' => strval($_POST['l1']), 'l2' => strval($_POST['l2']), 'l3' => strval($_POST['l3']), )); $result = array($output, 'success'); } else { $result = array('Некорректный запрос', 'error'); } if (!empty($result)) { die(json_encode($result)); } Вопросы / Вызов fenom обработчика 26 0
27 мая 2019, 21:34 В общем через создание нового класса так и не получилось (виснет корзина, а при обновлении страницы пишет корзина пуста), но засветилась ошибка в логах, о конфликте с компонентом msExtraFields, снес компонент и выбранная валюта стала передаваться в LiqPay, в общем огромное спасибо! Напишу скрипт на выбор гривны при загрузке страницы и удаления выпадающего списка и будет все ок). Еще раз спасибо! Новые дополнения и их версии / msMultiCurrency 69 0
27 мая 2019, 18:04 На данный момент в minishope в выборе класса оплаты нельзя вбить свой, а в выпадающем меню только PayPal и LiqPay. Есть ли возможность откорректировать родительский класс? Новые дополнения и их версии / msMultiCurrency 69 0
27 мая 2019, 16:43 На сколько я понял скрипт находиться здесь core/components/minishop2/custom/payment/liqpay.class.php <?php if (!class_exists('msPaymentInterface')) { require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/mspaymenthandler.class.php'; } class LiqPay extends msPaymentHandler implements msPaymentInterface { public $config; public $modx; function __construct(xPDOObject $object, $config = array()) { $this->modx = & $object->xpdo; $siteUrl = $this->modx->getOption('site_url'); $assetsUrl = $this->modx->getOption('minishop2.assets_url', $config, $this->modx->getOption('assets_url').'components/minishop2/'); $paymentUrl = $siteUrl . substr($assetsUrl, 1) . 'payment/liqpay.php'; $this->config = array_merge(array( 'paymentUrl' => $paymentUrl ,'checkoutUrl' => $this->modx->getOption('ms2_payment_liqpay_url', null, 'https://www.liqpay.com/api/pay', true) ,'public_key' => $this->modx->getOption('ms2_payment_liqpay_public_key') ,'private_key' => $this->modx->getOption('ms2_payment_liqpay_private_key') ,'currency' => $this->modx->getOption('ms2_payment_liqpay_currency', 'USD') ,'culture' => $this->modx->getOption('ms2_payment_liqpay_culture', 'ru') ,'sandbox' => $this->modx->getOption('ms2_payment_liqpay_sandbox') ,'payway' => $this->modx->getOption('ms2_payment_liqpay_payway', 'card, liqpay, delayed, invoice, privat24', true) ), $config); } /* @inheritdoc} */ public function send(msOrder $order) { $link = $this->getPaymentLink($order); return $this->success('', array('redirect' => $link)); } public function getPaymentLink(msOrder $order) { $id = $order->get('id'); $successUrl = $this->config['paymentUrl']."?action=success&order_id=".$id; $sum = number_format($order->get('cost'), 2, '.', ''); $description='Payment #'.$id; $signature = base64_encode(sha1($this->config['private_key'].$sum.$this->config['currency'].$this->config['public_key'].$id.'buy'.$description.$successUrl.$this->config['paymentUrl'],1)); $request = array( 'url' => $this->config['checkoutUrl'] ,'public_key' => $this->config['public_key'] ,'amount' => $sum ,'order_id' => $id ,'type' => 'buy' ,'pay_way' => $this->config['payway'] ,'language' => $this->config['culture'] ,'sandbox' => $this->config['sandbox'] ,'signature' => $signature ,'description' => $description ,'result_url'=> $successUrl ,'server_url' => $this->config['paymentUrl'] ,'currency' => $this->config['currency'] ); $link = $this->config['checkoutUrl'] .'?'. http_build_query($request); return $link; } /* @inheritdoc} */ public function receive(msOrder $order, $params = array()) { $id = $order->get('id'); $success = isset($_POST['amount']) && isset($_POST['currency']) && isset($_POST['public_key']) && isset($_POST['description']) && isset($_POST['order_id']) && isset($_POST['type']) && isset($_POST['status']) && isset($_POST['transaction_id']) && isset($_POST['sender_phone']); if (!$success) { die(); } $amount = $_POST['amount']; $currency = $_POST['currency']; $public_key = $_POST['public_key']; $description = $_POST['description']; $order_id = $_POST['order_id']; $type = $_POST['type']; $status = $_POST['status']; $transaction_id = $_POST['transaction_id']; $sender_phone = $_POST['sender_phone']; $insig = $_POST['signature']; if ($order_id!=$id) { die(); } $private_key = $this->config['private_key']; $gensig = base64_encode(sha1(join('',compact( 'private_key', 'amount', 'currency', 'public_key', 'order_id', 'type', 'description', 'status', 'transaction_id', 'sender_phone' )),1)); if ($insig != $gensig) { die(); } if ($status == 'sandbox' || $status == 'success') { /* @var miniShop2 $miniShop2 */ $miniShop2 = $this->modx->getService('miniShop2'); @$this->modx->context->key = 'mgr'; $miniShop2->changeOrderStatus($order->get('id'), 2); exit('OK'); } elseif ($status == 'failure') { $this->paymentError('Err: wrong signature.', $params); } } public function paymentError($text, $request = array()) { $this->modx->log(modX::LOG_LEVEL_ERROR,'[miniShop2:LiqPay] ' . $text . ', request: '.print_r($request,1)); header("HTTP/1.0 400 Bad Request"); die('ERR: ' . $text); } } Вот только как прикрутить к нему выше указанный Вами код, реально не выкупаю. Буду весьма признателен за помощь Новые дополнения и их версии / msMultiCurrency 69 0
27 мая 2019, 16:35 Ребята, добрый день! Нужна помощь, использую модуль мультивалютности, задача конвертировать цену передаваемую в LiqPay c евро в гривны, вобщем разработчики модуля msmulticurrency дали мне этот кусок кода, а куда вставить реально не пойму $convertCurrencyId = 2; // ID валюты в которую нужно конвертировать цену. $msmc = $modx->getService('msmulticurrency', 'MsMC'); $convertPrice = $msmc->getPrice($price, 0, $convertCurrencyId, 0, false); Новые дополнения и их версии / [mspLiqPay] — платежи через LiqPay в miniShop2 42 0
27 мая 2019, 15:44 Огромное спасибо! Буду пробовать Новые дополнения и их версии / msMultiCurrency 69 0
27 мая 2019, 14:37 Ребята, добрый день! Нужна ваша помощь. В общем проблема с выводом конвертированной суммы на страницу оплаты через liqPay. Коротко о поставленной мне задачи: У товаров основной валютой должно быть Евро, но в корзине и на страницу оплаты через Liqpay должна быть цена пересчитанная в грн. В общем все настроил, только вот в LiqPay заходит сумма не 3000 грн, 100 грн, где 100 это цена товара в евро. Новые дополнения и их версии / msMultiCurrency 69 0
10 сентября 2018, 20:49 Ребята, решение отличное! Поставил работает четко, но нужна ваша помощь по скрипту. Использую данное решение для онлайн калькулятора с плагином jAutoCalc, при использовании функции добавить новую форму расчета он копирует контейнер первого без заполненных полей, так вот, класс контейнера и имена селектов естественно не меняють и при выборе в новой скопированной форме первого селекта, второй селект обновляеться в обоих формах, возможно привязать данное действие передачи информации с первого во второй селект с привязкой действия к родительскому контейнеру каждой формы? При копировании форм код получаеться такой: [[!pdoMenu? &level=`1` &parents=`2` &tplOuter=`@INLINE [[+wrapper]]` &tpl=`@INLINE <option value="[[+id]]">[[+menutitle]]</option>` &toPlaceholder=`selector-1` ]] <form name="form-calc"> Основная форма <div class="line_items"> <select name="selector-1"> <option selected disabled>Выберите услугу</option> [[+selector-1]] </select> <select name="selector-2"> <option value="" selected disabled>Выберите врача</option> </select> </div> Первая копия <div class="line_items"> <select name="selector-1"> <option selected disabled>Выберите услугу</option> [[+selector-1]] </select> <select name="selector-2"> <option value="" selected disabled>Выберите врача</option> </select> </div> Вторая копия <div class="line_items"> <select name="selector-1"> <option selected disabled>Выберите услугу</option> [[+selector-1]] </select> <select name="selector-2"> <option value="" selected disabled>Выберите врача</option> </select> </div> и т.д. </form> Вопросы / Как сделать динамический зависимый список ресурсов 16 0
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
Работает! Ты мой спаситель! Прям от души благодарю!
Коротко о поставленной мне задачи:
У товаров основной валютой должно быть Евро, но в корзине и на страницу оплаты через Liqpay должна быть цена пересчитанная в грн. В общем все настроил, только вот в LiqPay заходит сумма не 3000 грн, 100 грн, где 100 это цена товара в евро.