[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
Плейсходер [[+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
Не появилось поля для указания старой цены модификации, где оно заполняется?
Работает отлично! (Не работало по причине браузерного кэша)
Здравствуй Володя!
В чанке tpl.msOptionsPrice.modification пытаюсь вывести дамп масива $_pls
В чанке 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)
Хочу узнать как подключать оригиналы изображений, для этого и лезу в этот массив, да вообще другие переменные посмотреть
Быстро мне пришла мысль указать для вызова несуществующий чанк и получил весь дамп:)
{$_modx->runSnippet('!msOptionsPrice.modification', [
'tpl' => 'no',
'includeThumbs' => 'small',
])}
пришла мысль указать для вызова несуществующий чанкверная мысль)
Володь, а как лучше получать название Опции например max_height(Максимальная высота)?
В массиве название опции не содержится, только текущее значение для модификации.
Я хочу вывести стартовую(только первую) модификацию и ее опции с названием
В массиве название опции не содержится, только текущее значение для модификации.
Я хочу вывести стартовую(только первую) модификацию и ее опции с названием
можно указать параметр processOptions, тогда в массиве опций будут все значения, название, описание и тд. и нужно будет переделать вызов стандартного чанка.
Володь, а почему после создания опции в модификации ее можно только удалить или удалить из опции.
Особенно это на копирование влияет, т.е. я скопировал, захожу обновить а менять опции нельзя тока удалить, не очень комильфо когда опций много. Это с чем связанно?
joxi.ru/gmv6wPnhLJ7pBm
Особенно это на копирование влияет, т.е. я скопировал, захожу обновить а менять опции нельзя тока удалить, не очень комильфо когда опций много. Это с чем связанно?
joxi.ru/gmv6wPnhLJ7pBm
а то что опции одновременно добавляются и удаляются и у товара, а так же в этот момент обновляются на странице ресурса и совсем не комильфо если будет просто редактирование…
кароче так чтоб избежать лишних проблем.
кароче так чтоб избежать лишних проблем.
Понял, контенщиков ждет тяжелая работа))
Володь, не подскажешь, что за настройка пхп нужна чтоб нормально работало, ато при попытке выбрать картинку из галерии выдает:
[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)
Привет. Скинь доступы в ТП. Завтра посмотрю в чем дело. Спасибо.
С версии 7.1 пустой индекс массива может вызвать ошибку.
Заменить
foreach ($data['results'] as $array) {
на
foreach ($data['results'] as $i => $array) {
в 169 строке
Заменить
foreach ($data['results'] as $array) {
на
foreach ($data['results'] as $i => $array) {
в 169 строке
Этот ваш old_price в корзину отправляется? Или он только в карточке товара работает? =)
В корзине, old_price берется из дефолтного минишоповского поля old_price, вместо old_price модификации.
Я бы и сам поправил, но в ваших хитровымудренных сплетениях хитровымудренного недокументированного кода — черт ногу сломит.
Я бы и сам поправил, но в ваших хитровымудренных сплетениях хитровымудренного недокументированного кода — черт ногу сломит.
Добрый вечер.
Пишите пожалуйста в ТП.
Спасибо.
Пишите пожалуйста в ТП.
Спасибо.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.