Михаил

Михаил

С нами с 27 июня 2014; Место в рейтинге пользователей: #343

Можно ли как-то понять на странице товара добавлен ли он уже в корзину?

Можно ли как-то понять на странице товара добавлен ли он уже в корзину? Мне нужно сделать запрет на повторное добавление товара в корзину.
Михаил
07 ноября 2017, 09:51
modx.pro
1
804
0

msOptionsPrice.modification - outputSeparator

Мне необходимо добавить на страницу с товаром семантическую разметку с помощью синтаксиса JSON-LD.

Для этого решил использовать сниппет msOptionsPrice.modification.

[[!msOptionsPrice.modification?
    &tpl=`tpl.msOptionsPrice.modification.schema.org`
    &outputSeparator=`,`
]]
Но как сделать так чтобы разделитель не ставился после последнего варианта товара и в случае с одним вариантом товара?
Михаил
08 июня 2017, 05:38
modx.pro
2 415
0

Значение опции товара в корзине

Здравствуйте. Не пойму, как мне получить значение артикула для выбранной модификации в корзине?

Например, annalotanrus.ru/krem-barbados.html — для каждого объема своя цена и артикул, указанные в модификациях

annalotanrus.ru/test.html — тут все что доступно в msCart, после добавления товара в корзину. И я не вижу тут артикула.
Михаил
08 июня 2017, 05:22
modx.pro
815
0

Переопределить логику работы корзины в minishop2

Всем здравствуйте!

Вопрос к знатокам minishop2. Необходимо переопределить логику работы корзины в minishop2

Нужно сделать проверку номера телефона по маске при оформлении заказа.

Из документации (https://docs.modx.pro/components/minishop2/development/service/order) я понял, что для этого нужно подключить свой класс заказа и переопределить в нём проверку phone.

Для этого нужно подключить свой класс расширяющий msOrderHandler и изменить метод msOrderHandler::validate()

Для подключения своего класса я воспользовался инструкцией docs.modx.pro/components/minishop2/development/service/connection

Создал файл msOrderHandler_my.class.php со следующим содержимым:

<?php
class myOrderHandler_my extends msOrderHandler {
public function validate($key, $value) {
    switch ($key) {
        case 'phone':
            $value = preg_match('\+7\([0-9]{3}\) [0-9]{3}-[0-9]{2}-[0-9]{2}', $value) ? trim($value) : @$this->order[$key];
        break;
        // Конечно, также можно переопределить и другие валидаторы

        // Если прислано поле, которого тут нет - отправляем в дефолтный класс
        default:
            return parent::validate($key, $value);
    }
    if ($value === false) {
        $value = '';
    }

    return $value;
}
}
И положил msOrderHandler_my.class.php в директорию core/components/minishop2/custom/order

Далее, для подключения сервиса в консоле отправляю на выполнение следующий код:

<?php
if ($miniShop2 = $modx->getService('miniShop2')) {
    $miniShop2->addService('order', 'myOrderHandler_my','{core_path}components/minishop2/custom/order/msOrderHandler_my.class.php');
}
И получаю ошибку:
[2017-01-24 12:40:18] (ERROR @ /home/s4459/www/core/xpdo/xpdo.class.php : 644)
Could not load class: miniShop2 from minishop2.
[2017-01-24 12:40:18] (ERROR @ /home/s4459/www/core/xpdo/xpdo.class.php : 1247)
Problem getting service miniShop2, instance of class miniShop2, from path


Знатоки, подскажите пожалуйста в чем ошибка?
Михаил
24 января 2017, 10:05
modx.pro
2 055
0

Иногда слетает [[%ms2_frontend_currency]]

Всем привет! Иногда слетает [[%ms2_frontend_currency]]. Вместо валюты выводится ms2_frontend_currency (скриншот joxi.ru/YmEaMNpHZWVa5m)

Может кто-то сталкивался?

Спасибо!
Михаил
21 апреля 2016, 14:33
modx.pro
1 754
0

Права доступа для менеджера заказов minishop2

Нужно завести пользователя — менеджера заказов для работы с заказами minishop2
Создал новую группу пользователей и прописал ей две политики доступа — miniShopManagerPolicy и Content Editor (скриншот joxi.ru/1A5xoWJIKW4Go2).

Но видимо этого мало? Как грамотно создать группу пользователей для менеджеров заказов?
Спасибо
Михаил
19 апреля 2016, 11:23
modx.pro
1 993
0

Не подгружается цена при Ajax пагинации

Использую Ajax пагинацию в сниппете PdoPage.

[[!pdoPage?
&element=`msProducts`
&tpl=`tpl.msProducts.row_my`
&includeThumbs=`150x200`
&sortby=`menuindex`
&ajaxMode=`scroll`
&limit=`12`
]]

При прокрутке страницы у вновь подгрузившихся товаров не отображается цена (0 вместо цены).

Цена задется через опции — объем. В чанке tpl.msProducts.row_my прописано

[[!msOptions?
&product=`[[+id]]`
&name=`volume`
&tplOuter=`tpl.msOptions.outer_my`
]] мл

<span class="price"><span class="msop2 product-[[+id]]">[[!+price]]</span></span>
Если поменять объем, то поменяется и цена. Но не могу разобраться почему изначально цена не подгружается.

Спасибо.
Михаил
08 февраля 2016, 06:26
modx.pro
921
0

minishop2 - отправка писем о состоянии заказа

Как подсунуть сниппету msOrder  собственные чанки с оформлением писем чтобы не корежить дефолтные tpl.msEmail.new.user и т.д.? Не нашел нужных параметров у сниппета msOrder.
Михаил
01 февраля 2016, 08:44
modx.pro
2 283
0

Создание правил при смене суффикса контейнера

Хочу поменять у ресурсов-контейнеров суффикс контейнера с / на .html
Установил autoRedirector, поменял суффикс в системных настройка, обновил кэш. URI-ссылки поменялись, но автоматически правила не создались. А ведь должны были?

MODX Revolution 2.3.3-pl (traditional)
Михаил
22 декабря 2015, 11:44
modx.pro
1
1 411
+1