[msOptionsPrice2] - Небольшие изменения.

[msOptionsPrice2] с версии 2.2.6 beta добавлена обработка старой цены продукта.
Плейсходер [[+old_price]] — можно задать значение вручную в админке, либо при модификации стоимости туда попадает старая цена продукта.

В итоге мы видим перечеркнутую стоимость товара, вот к примеру minishop2.com/catalog/category-3/item-66

Обработка старой цены продукта
В случае с модификациями продукта, разница может быть очень значительна и практически всегда ее сумма выглядит нелогично. Поэтому была добавлена обработка старой цены продукта.
Логика расчета очень простая
цена продукта   старая цена продукта
----------------------------------------- =             -----------------------------------------
цена модификации продукта   старая цена модификации продукта

(цена продукта / старая цена продукта = цена модификации продукта / старая цена модификации продукта)
Достаточно проставить старую цену в основное поле продукта и старая стоимость модификации будет автоматически рассчитана.

Для смены на фронте нужно добавить необходимые классы. Пример чанка продукта тут gist.github.com/vgrish/b6998560c6a64c0f34109a9e632b9b56#file-gistfile1-txt-L22

В сниппете msOptionsPrice.modification поле так же доступно поле old_price.

Копия модификации
Добавлен процессор на копирование модификации.

Надеюсь заполнение станет намного удобнее.

рабочий пример s6200.h3.modhost.pro/katalog/tovar1.html
Володя
17 января 2017, 15:30
1
1 637
+9
Поблагодарить автора Отправить деньги

Комментарии: 14

Виктор
18 января 2017, 08:57
0
Не появилось поля для указания старой цены модификации, где оно заполняется?
    Володя
    18 января 2017, 09:03
    +2
    Поля старой цены модификации и нет. Значение рассчитывается автоматически исходя из отношения полей цены и старой цены продукта магазина.
      Виктор
      18 января 2017, 12:10
      0
      Работает отлично! (Не работало по причине браузерного кэша)
Константин Ильин
28 мая 2017, 19:02
0
Здравствуй Володя!

В чанке tpl.msOptionsPrice.modification пытаюсь вывести дамп масива $_pls
{$_pls | print_r : true}
В логе php ошибка о нехватке памяти, аж все 500мб теряются…
PHP Fatal error:  Allowed memory size of 524288000 bytes exhausted (tried to allocate 511180801 bytes)
Хочу узнать как подключать оригиналы изображений, для этого и лезу в этот массив, да вообще другие переменные посмотреть
    Константин Ильин
    28 мая 2017, 19:13
    0
    Быстро мне пришла мысль указать для вызова несуществующий чанк и получил весь дамп:)
    {$_modx->runSnippet('!msOptionsPrice.modification', [
                'tpl' => 'no',
                'includeThumbs' => 'small',
    
            ])}
      Володя
      28 мая 2017, 20:28
      +1
      пришла мысль указать для вызова несуществующий чанк
      верная мысль)
        Константин Ильин
        28 мая 2017, 20:39
        0
        Володь, а как лучше получать название Опции например max_height(Максимальная высота)?
        В массиве название опции не содержится, только текущее значение для модификации.

        Я хочу вывести стартовую(только первую) модификацию и ее опции с названием
          Володя
          29 мая 2017, 08:57
          +1
          можно указать параметр processOptions, тогда в массиве опций будут все значения, название, описание и тд. и нужно будет переделать вызов стандартного чанка.
Константин Ильин
01 июня 2017, 19:06
0
Володь, а почему после создания опции в модификации ее можно только удалить или удалить из опции.
Особенно это на копирование влияет, т.е. я скопировал, захожу обновить а менять опции нельзя тока удалить, не очень комильфо когда опций много. Это с чем связанно?
joxi.ru/gmv6wPnhLJ7pBm
    Володя
    01 июня 2017, 20:15
    +1
    а то что опции одновременно добавляются и удаляются и у товара, а так же в этот момент обновляются на странице ресурса и совсем не комильфо если будет просто редактирование…
    кароче так чтоб избежать лишних проблем.
Константин Ильин
12 июня 2017, 18:54
0
Володь, не подскажешь, что за настройка пхп нужна чтоб нормально работало, ато при попытке выбрать картинку из галерии выдает:
[2017-06-12 15:05:32] (ERROR @ /var/www/www-root/data/www/site/core/components/msoptionsprice/processors/mgr/misc/product/getimages.class.php : 169) PHP warning: Invalid argument supplied for foreach()
Картинок конечно не получаю…

Версия PHP 7.0.18 (native)
    Володя
    12 июня 2017, 19:24
    0
    Привет. Скинь доступы в ТП. Завтра посмотрю в чем дело. Спасибо.
    varanika
    17 февраля 2019, 13:59
    0
    С версии 7.1 пустой индекс массива может вызвать ошибку.
    Заменить
    foreach ($data['results'] as $array) {
    на
    foreach ($data['results'] as $i => $array) {
    в 169 строке
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.