Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #4
Володя
26 февраля 2018, 09:57
+1
Переместите
<input type="hidden" name="id" value="{$id}">
<input type="hidden" name="key" class="key-product" value="">
<input type="hidden" name="options" value="[]">
в начало формы, то есть сразу за
<form  method="post"  class="form-product ms2_form msoptionsprice-product">
ато получается при отправке данных вы затираете массив опций пустым массивом.
Володя
20 февраля 2018, 18:01
+1
Почистить кэш браузера, если все так же, отрыть и посмотреть наличие ошибок в консоли при загрузке страницы.
Володя
19 февраля 2018, 14:52
0
Нет. Данная настройка лишь поможет скорректировать ваше реальное время с временем на сервере.
Володя
19 февраля 2018, 14:00
0
как-то показывать время, с учётом часового пояса пользователя сайта?
попробуйте использовать для этого настройку server_offset_time
Володя
19 февраля 2018, 13:44
1
+1
пример плагина для расчета стоимости userevents.vgrish.ru/manager/?a=element/plugin/update&id=7
Добавить проверку на время
case "UserEventsOnBeforeGetOrderCost":
        /** @var UserEventsOrderInterface $orderHandler */
        $orderHandler = $modx->getOption("order", $scriptProperties);
        if (!$orderHandler OR !($orderHandler instanceof UserEventsOrderInterface)) {
            return;
        }
        $values = $modx->Event->returnedValues;
        $data = $orderHandler->get();
     
        $rid = $modx->getOption("resource", $data);

        $cost = 0;
        // расчет стоимости согласно своей логике
        if ($resource = $modx->getObject("modResource", $rid)) {
            $cost = $resource->get("id") * 100;
        }
        
        $add_cost = 0;

	// проверка на вечернее время
        $time = isset($data['time']) ? $data['time'] : '';
        if ($time) {
            $time = array_map('floatval', explode(',', $time));
            if ($time[0] >= 19) {
                $add_cost += $cost / 100 * 30;
            }
        }
        
        $cost += $add_cost;

        $values["cost"] = $cost;

        $modx->event->returnedValues = $values;
        break;
Володя
19 февраля 2018, 10:21
+1
Поэтому хочу попробовать Twig, чтобы забыть про подобные ошибки
Так попробуй!) Все познается в сравнении.
односкобочным синтаксисом сдаётся перед специфическим механизмом парсинга MODX
Мне односкобочный синтаксис очень люб. Гибкость, быстрота и легкая расширяемость феном — что еще нужно?
Прямых конкурентов я не вижу…

забыть про подобные ошибки
не сталкиваюсь с таким, потому и решать не приходилось.

Володя
18 февраля 2018, 11:42
+2
Давно забросил. Попробовав смарти, твиг, феном могу уверенно сказать что фен просто прекрасен.
Володя
15 февраля 2018, 10:45
0
Никак. Либо сниппет, либо чанк.
Ставьте чанк и в чанке пишите вызов любых сниппетов.
Володя
14 февраля 2018, 21:02
0
в опциях есть массив.
можно исключить например так
{if $key in ['modification','modifications','msal']}{continue}{/if}
modx.pro/help/14507/#comment-93700
Володя
14 февраля 2018, 11:52
+1
$modx->resource->$album_id
на
$modx->resource->id.$album_id
Володя
14 февраля 2018, 11:09
3
+1
чтобы выводились только те фото, которые указаны в галерее данной модификации, а остальные фото не отображались.
Для этого можно написать немного кода, например
$(document).on('msoptionsprice_product_action', function (e, action, form, r) {
    if (action == 'modification/get' && r.success && r.data) {
        var m = r.data.modification || {};

        var thumbs = m.thumbs || {main:['default.png']};
        var fotorama = $(form).closest(msOptionsPrice.Product.parent).find('.fotorama').data('fotorama');

        if (fotorama) {
            var images = [];
            (thumbs.main || []).filter(function (href) {
                images.push({img: href, caption: ''})
            });
            fotorama.load(images);
        }
    }
});
рабочий пример тут s6200.h3.modhost.pro/6/12010.html
Володя
13 февраля 2018, 17:37
0
Кастомный метод заказа. В нем переопределите метод validate, вот эту часть github.com/bezumkin/miniShop2/blob/master/core/components/minishop2/model/minishop2/msorderhandler.class.php#L206-L219
Володя
12 февраля 2018, 17:00
0
Удачи!)
Володя
12 февраля 2018, 16:54
0
Было, было руководство, в далеком году как только оно появилось я его сохранял.
Сейчас не знаю есть ли где. Надеюсь никто против не будет yadi.sk/d/lwdEHTVI3SKZKH
Володя
12 февраля 2018, 16:36
0
Добрый день.
Сниппет получает данные и с помощью чанка оформляете вывод как ваша душа желает.
Володя
12 февраля 2018, 11:00
0
И все чудно, кроме того, что я пока не могу найти способа средствами только git получить изменения на основном рабочем сервере.
настраиваете вебхук примерно вот так gist.github.com/vgrish/a1600a6aa77c1cf33a68e473b7ff82a1
заливаются новые файлы и собирается пакет…
Володя
12 февраля 2018, 09:49
+1
Из коробки доступно расширение основных классов docs.modx.pro/components/minishop2/development/service/

Пишите свои классы по вашим хотелкам…