[msOptionsPrice2] - Модификации продукта.
[msOptionsPrice2] — Новая версия с модификациями продукта. Кардинально отличается от предыдущей, просто обновиться не получится.
В целом компонент так же работает с опциями продукта, но теперь опции привязаны к модификации продукта. Так же модификации можно задать свой артикул, вес, кол-во и конечно стоимость. Доступны все опции продукта.
Заранее приношу свои извинения за невозможность апгрейда со старой версии.
Модификации продукта
На странице продукта доступна одноименная вкладка (настройка msoptionsprice_working_templates, в ней перечислить id необходимых шаблонов). Можно создать/изменить модификации продукта.
Для модификации доступны все опции продукта.
Сниппет msOptionsPrice.initialize
Предназначен для подключения стилей и скриптов на фронте сайта.
Достаточно вызвать сниппет в шаблоне продукта.
Для работы скрипта необходимо добавить необходимые классы, пример чанка продукта — gist.github.com/vgrish/b6998560c6a64c0f34109a9e632b9b56
форма продукта — msoptionsprice-product
стоимость продукта — msoptionsprice-cost msoptionsprice-[[*id]]
артикул продукта — msoptionsprice-article msoptionsprice-[[*id]]
вес продукта — msoptionsprice-weight msoptionsprice-[[*id]]
Сниппет msOptionsPrice.modification
Предназначен для вывода модификаций продукта. Часто требуется отдельно вывести информацию о различных модификациях продукта, теперь это достаточно просто сделать. Нужно вызвать сниппет
Картинка модификации
Можно добавить картинку модификации продукта. Доступны изображения из галереи продукта.
В чанк галереи необходимо добавить идентификаторы
дофолтный скрипт работает с галереей fotorama.
Обработка старой цены продукта
В случае с модификациями продукта, разница может быть очень значительна и практически всегда ее сумма выглядит нелогично. Поэтому была добавлена обработка старой цены продукта.
Логика расчета очень простая
(цена продукта / старая цена продукта = цена модификации продукта / старая цена модификации продукта)
Достаточно проставить старую цену в основное поле продукта и старая стоимость модификации будет автоматически рассчитана.
Для смены на фронте нужно добавить необходимые классы. Пример чанка продукта тут gist.github.com/vgrish/b6998560c6a64c0f34109a9e632b9b56#file-gistfile1-txt-L22
В сниппете msOptionsPrice.modification поле так же доступно поле old_price.
Копия модификации
Добавлен процессор на копирование модификации.
превью в корзине
Для вывода превью модификации в корзине магазина можно использовать следующую конструкцию.
gist.github.com/vgrish/3748714377be39401799e3908efd8a59#file-mscart-tpl-L22-L35
опции продукта
Улучшена работа с опциями продукта. Нет необходимости как прежде сначала создавать опции, а затем переключаться на модификации. Доступно создание/ удаление опций продукта напрямую из модификации.
В целом это пока вся информация, в репозитории будут доступны обе версии сразу. Новую можно будет установить только на чистую систему, где прежде не было старой версии.
В новой версии нет пока никакой работы с остатками, все это будет после хотя бы небольшой обкатки компонента.
Не пытайтесь обновиться!!! Если не уверены что оно вам нужно.
ps. Всем спасибо за внимание. Новая версия совместима с пакетом скидок Discontrol
Пример работы: s6200.h3.modhost.pro/katalog/tovar1.html
В целом компонент так же работает с опциями продукта, но теперь опции привязаны к модификации продукта. Так же модификации можно задать свой артикул, вес, кол-во и конечно стоимость. Доступны все опции продукта.
Заранее приношу свои извинения за невозможность апгрейда со старой версии.
Модификации продукта
На странице продукта доступна одноименная вкладка (настройка msoptionsprice_working_templates, в ней перечислить id необходимых шаблонов). Можно создать/изменить модификации продукта.
Для модификации доступны все опции продукта.
Сниппет msOptionsPrice.initialize
Предназначен для подключения стилей и скриптов на фронте сайта.
Достаточно вызвать сниппет в шаблоне продукта.
[[!msOptionsPrice.initialize?]]
Дефолтный скрипт отслеживает изменение формы продукта и подгружает данные о модификации.Для работы скрипта необходимо добавить необходимые классы, пример чанка продукта — gist.github.com/vgrish/b6998560c6a64c0f34109a9e632b9b56
форма продукта — msoptionsprice-product
стоимость продукта — msoptionsprice-cost msoptionsprice-[[*id]]
артикул продукта — msoptionsprice-article msoptionsprice-[[*id]]
вес продукта — msoptionsprice-weight msoptionsprice-[[*id]]
Сниппет msOptionsPrice.modification
Предназначен для вывода модификаций продукта. Часто требуется отдельно вывести информацию о различных модификациях продукта, теперь это достаточно просто сделать. Нужно вызвать сниппет
[[!msOptionsPrice.modification?]]
Картинка модификации
Можно добавить картинку модификации продукта. Доступны изображения из галереи продукта.
В чанк галереи необходимо добавить идентификаторы
data-rid="{$file['product_id']}" data-iid="{$file['id']}"
пример чанка gist.github.com/vgrish/e5c7e541b33eefc4b7c0cb68ec389096дофолтный скрипт работает с галереей fotorama.
Обработка старой цены продукта
В случае с модификациями продукта, разница может быть очень значительна и практически всегда ее сумма выглядит нелогично. Поэтому была добавлена обработка старой цены продукта.
Логика расчета очень простая
цена продукта | старая цена продукта | |
----------------------------------------- | = | ----------------------------------------- |
цена модификации продукта | старая цена модификации продукта |
(цена продукта / старая цена продукта = цена модификации продукта / старая цена модификации продукта)
Достаточно проставить старую цену в основное поле продукта и старая стоимость модификации будет автоматически рассчитана.
Для смены на фронте нужно добавить необходимые классы. Пример чанка продукта тут gist.github.com/vgrish/b6998560c6a64c0f34109a9e632b9b56#file-gistfile1-txt-L22
В сниппете msOptionsPrice.modification поле так же доступно поле old_price.
Копия модификации
Добавлен процессор на копирование модификации.
превью в корзине
Для вывода превью модификации в корзине магазина можно использовать следующую конструкцию.
gist.github.com/vgrish/3748714377be39401799e3908efd8a59#file-mscart-tpl-L22-L35
опции продукта
Улучшена работа с опциями продукта. Нет необходимости как прежде сначала создавать опции, а затем переключаться на модификации. Доступно создание/ удаление опций продукта напрямую из модификации.
В целом это пока вся информация, в репозитории будут доступны обе версии сразу. Новую можно будет установить только на чистую систему, где прежде не было старой версии.
В новой версии нет пока никакой работы с остатками, все это будет после хотя бы небольшой обкатки компонента.
Не пытайтесь обновиться!!! Если не уверены что оно вам нужно.
ps. Всем спасибо за внимание. Новая версия совместима с пакетом скидок Discontrol
Пример работы: s6200.h3.modhost.pro/katalog/tovar1.html
Поблагодарить автора
Отправить деньги
Комментарии: 372
а картинку прикрепить к модификации есть возможность? Очень часто такое необходимо
да, думаю можно сделать… будет время посмотрю.
Было бы здорово, пойду куплю на вырост)
А можно как-то сделать чтобы создание данных для модификаций было не обязательным, чтобы можно было указать только Картинка + цена ??
и по какому признаку тогда будут отличаться модификации? Сейчас это уникальные для каждой модификации опции…
Логично, спасибо
в мозиле на демке не работает и в консоль выдает ошибку на строку 120
если эту строку заменить на ту что ниже, то вроде как работает, но не знаю уже как будет с несколькими формами на странице
var formData = new FormData($(form)[0]);
TypeError: Argument 1 of FormData.constructor does not implement interface HTMLFormElement.если эту строку заменить на ту что ниже, то вроде как работает, но не знаю уже как будет с несколькими формами на странице
var formData = new FormData();
спасибо, попрввил.
картинка было бы здорово
В списке товаров использовать можно? Или только старую модификацию?
да, можно.
как?
аналогично странице продукта.
Спрашивайте конкретнее что неясно.
Спрашивайте конкретнее что неясно.
Есть список товаров, выводимый miniShop через mFilter, стандартно. Инициализирую до mFilter msOptionsPrice.initialize. В плитке товаров выставляю класс формы msoptionsprice-product, класс ценника msoptionsprice-cost msoptionsprice-[[+id]], в самом товаре создаю два цвета, каждому в «Модификациях» задаю цену (=) и выбираю цвет. И вот, плитка товаров, выбираю цвет, выводимый msOptions в товаре, и ничего не происходит)) Ни в логах браузера, ни в логах MODx ничего нет. Видно, что при выборе цвета в браузере в консоли, промаргивает поле с ценой, но она не меняется абсолютно. Где я не прав?
Я не говорю что ктото не прав, просто вы спрашиваете а деталей не сообщаете, вот оказывается там mFilter, естественно нужно как то обработать подгрузку товаров при смене фильтров.
Сейчас посмотрю…
Сейчас посмотрю…
Всё, заработало. Я не особо лазил в код, но фишка оказалось в том, что в форме продукта в плитке с классами .ms2_form.msoptionsprice-product вызов сниппета [[!msOptions]] должен стоять после скрытого инпута с name=«options». Ну, в принципе логично, но иногда тупикуешь из-за таких мелочей. Вам спасибо, прикуплю еще на один сайт дополнение ;)
после скрытого инпута с name=«options»это да, иначе вы массив опций затираете.
Вам спасибоПожалуйста, ну благодаря вам теперь доработал совместимость с mFilter. Теперь все работает из коробки, также автоматом выставляет опции в зависимости от фильтра.
пример живет до завтра тут — s6514.h5.modhost.pro/index.php?id=4&msoption|color=%D1%81%D0%B8%D0%BD%D0%B8%D0%B9
Вот это круто!) Еще раз спасибо!
Приветствую. Проясните ситуацию о выставлении опций, в зависимости от фильтров, не совсем понятно.
Привет.
При условии что каталог продуктов выводится через mFilter, а в карточке товара присутствуют опции при смене опций в mFilter будут выставлены соответсвующие опции в карточке товара. Так же если подключен и скрипт msOptionsPrice2 будет изменена и стоимость продукта если такое модификации продукта существуют.
При условии что каталог продуктов выводится через mFilter, а в карточке товара присутствуют опции при смене опций в mFilter будут выставлены соответсвующие опции в карточке товара. Так же если подключен и скрипт msOptionsPrice2 будет изменена и стоимость продукта если такое модификации продукта существуют.
Как ни пробую, ничего не выходит со сменой. Все последней версии. Немного порылся, на этапе msOptionsPrice.Tools.setOptionValue, на последнем if затык в .js… jQuery 2.2.4
скинь в ТП доступ к админке и ссылку на чанк и страницу вывода, посмотрю что и как.
Спасибо!
Спасибо!
Пару минут.
Отправил в личку через ТП, через задать вопрос не могу, больше года покупке…
Вопрос решен! Спасибо!
пожалуйста!
Есть тест где-то?
нет
На странице товара всё отлично работает.
Я понимаю что малость утомил, но есть небольшой вопрос. Этот плагин будет работать с другими плагинами влияющими на модификацию цены?
я к тому, что я получаю в своём плагине цену так:
можно ли будет сперва использовать один модификатор цены(твой плагин) и потом еще один поверх первого.
У нас в проекте просто идет зависимость цены еще и от города. и надо чтобы бралась цена что в поле или та что в msOptionsPrice и потом еще умножалась на коофициент.
я к тому, что я получаю в своём плагине цену так:
$values = & $modx->event->returnedValues;
и дальше уже работаю с $values['price']
А вот у тебя в плагине как получает? можно ли будет сперва использовать один модификатор цены(твой плагин) и потом еще один поверх первого.
У нас в проекте просто идет зависимость цены еще и от города. и надо чтобы бралась цена что в поле или та что в msOptionsPrice и потом еще умножалась на коофициент.
опции продукта
Улучшена работа с опциями продукта. Нет необходимости как прежде сначала создавать опции, а затем переключаться на модификации. Доступно создание/ удаление опций продукта напрямую из модификации.
Улучшена работа с опциями продукта. Нет необходимости как прежде сначала создавать опции, а затем переключаться на модификации. Доступно создание/ удаление опций продукта напрямую из модификации.
Как добавить модификацию через процессор?
У товара нет никаких модификаций.
Пишу так, выводит ошибку о том что поле price должно быть уникально
Сама ошибка
У товара нет никаких модификаций.
Пишу так, выводит ошибку о том что поле price должно быть уникально
$modification_data = array(
'rid' => 45019,
'type' => 1,
'price' => $good_price,
'article' => $good_article,
'weight' => '',
'count' => 0,
'active' => 1
);
$response = $modx->runProcessor('modification/create', $modification_data, array(
'processors_path' => MODX_CORE_PATH.'components/msoptionsprice/processors/mgr/'
));
if ($response->isError()) {
print_r($response->getResponse());
}
Сама ошибка
Array
(
[success] =>
[message] =>
[total] => 1
[errors] => Array
(
[0] => Array
(
[id] => price
[msg] => Это поле должно быть уникально
)
)
[object] => Array
(
)
)
модификацию нельзя создать без опций. Ваш код верен, нужно только прежде создать опции.
$rid = 3;
$mid = 0;
$price = 100;
$article = '2312';
/* опции модификации */
$options = array(
'color' => 'белый',
'size' => '100'
);
/* создаем опции продукта */
$options = $msoptionsprice->setProductOptions($rid, $options);
/* создаем опции модификации */
$modx->call('msopModificationOption', 'saveOptions',array(&$modx, $mid, $rid, $options));
/* создаем модификацию */
$modification = array(
'rid' => $rid,
'type' => 1,
'price' => $price,
'article' => $article,
'weight' => '',
'count' => 0,
'active' => 1
);
$response = $modx->runProcessor('modification/create', $modification, array(
'processors_path' => MODX_CORE_PATH.'components/msoptionsprice/processors/mgr/'
));
if ($response->isError()) {
print_r($response->getResponse());
}
Что-то не работает, выдает ошибку
Добавил
я так понимаю ругается на $options в строке
Uncaught TypeError: Argument 4 passed to msopModificationOption::saveOptions() must be of the type array, null given
Добавил
$corePath = $modx->getOption('msoptionsprice_core_path', null, $modx->getOption('core_path', null, MODX_CORE_PATH) . 'components/msoptionsprice/');
$msoptionsprice = $modx->getService('msoptionsprice', 'msoptionsprice', $corePath . 'model/msoptionsprice/', array('core_path' => $corePath));
я так понимаю ругается на $options в строке
$modx->call('msopModificationOption', 'saveOptions', array(&$modx, $mid, $rid, $options));
TypeError: Argument 4 passed to msopModificationOption::saveOptions() must be of the type array, null given
ну он пишет что вместо массива вы передали null.Либо у вас options пустой или возможно ошиблись с id продукта и опции не установились.
Добрый день, попытался добавить опции товара по инструкции выше и что-то пошло не так. Создается модификация, но у нее нет свойств. Пытаюсь добавить еще одну вручную, а у нее уже есть 2 опции и другие выбрать не могу, удаляю одну из модификации и на ее месте появляется новое(такое же свойство) но с другим значением…
$rid = $array[id];
$mid=intval(addslashes((string)$xml->Штрихкод));
$count=intval(addslashes((string)$xml->Количество));
$article = $mid;
/* опции модификации */
$options = array(
'color' => $color,
'size' => $size
);
$corePath = $modx->getOption('msoptionsprice_core_path', null, $modx->getOption('core_path', null, MODX_CORE_PATH) . 'components/msoptionsprice/');
$msoptionsprice = $modx->getService('msoptionsprice', 'msoptionsprice', $corePath . 'model/msoptionsprice/', array('core_path' => $corePath));
/* создаем опции продукта */
$options = $msoptionsprice->setProductOptions($rid, $options);
/* создаем опции модификации */
$modx->call('msopModificationOption', 'saveOptions',array(&$modx, $mid, $rid, $options));
/* создаем модификацию */
if((isset($old_price))&&($old_price!=NULL)){
$modification = array(
'rid' => $rid,
'type' => 1,
'price' => $price,
'old_price' => $old_price,
'article' => $article,
'weight' => '',
'count' => $count,
'active' => 1
);
}
else{
$modification = array(
'rid' => $rid,
'type' => 1,
'price' => $price,
'article' => $article,
'weight' => '',
'count' => $count,
'active' => 1
);
}
$response = $modx->runProcessor('modification/create', $modification, array(
'processors_path' => MODX_CORE_PATH.'components/msoptionsprice/processors/mgr/'
));
if ($response->isError()) {
В итоге в консоле пишет что цена должна быть уникальной…Array
(
[success] =>
[message] =>
[total] => 1
[errors] => Array
(
[0] => Array
(
[id] => price
[msg] => Это поле должно быть уникально
)
)
[object] => Array
(
)
)
Да вообще все сломалось и не получается создать модификацию)
вот тема по импорту, посмотрите и сделайте аналогично.
Сделал аналогично, не сработало. И ничего не написало.
if(isset($array['Obhvat'])){
$size=$array['Razmer']."/".$array['Obhvat'];
}
else{
$size=$array['Razmer'];
}
if(isset($array['Cvet'])){
$color=$array['Cvet'];
}
if(isset($array[prices]["f282d7ca-2726-11e3-a84f-0002a54e8623"])){
$price = $array[prices]["f282d7ca-2726-11e3-a84f-0002a54e8623"];
$old_price = $array[prices]["f282d7c9-2726-11e3-a84f-0002a54e8623"];
}
else{
$price = $array[prices]["f282d7c9-2726-11e3-a84f-0002a54e8623"];
}
$rid = $array[id];
$mid=intval(addslashes((string)$xml->Штрихкод));
$count=intval(addslashes((string)$xml->Количество));
$article = $mid;
/* опции модификации */
$options = array(
'color' => $color,
'size' => $size
);
$msoptionsprice = $modx->getService('msoptionsprice');
$msoptionsprice->initialize('web');
/* создаем опции продукта */
//$options = $msoptionsprice->setProductOptions($rid, $options);
/* создаем модификацию */
if((isset($old_price))&&($old_price!=NULL)){
$modification = array(
'price' => $price,
'old_price' => $old_price,
'article' => $article,
'weight' => '',
'count' => $count,
'options' => array(
'color' => $color,
'size' => $size
)
);
}
else{
$modification = array(
'price' => $price,
'article' => $article,
'weight' => '',
'count' => $count,
'options' => array(
'color' => $color,
'size' => $size
)
);
}
/* создаем опции модификации */
$modification = $modx->call('msopModification', 'saveProductModification', array(&$modx, $rid, $modification));
давай ты сначала попробуешь сделать то что описано в статье сверху, проверишь работает ли оно, затем внесешь изменения согласно своим пожеланиям и если оно не будет работать самостоятельно выяснишь где что не так и тогда уже напишешь?
У меня нет ни желания ни времени погружаться в хитросплетения твоего кода…
Спасибо!
У меня нет ни желания ни времени погружаться в хитросплетения твоего кода…
Спасибо!
А есть ли способ заставить меняться картинки с опциями в списке (плитке) товаров?
дефолтный скрипт работает с галереей fotorama, если вы по аналогии добавите его на страницу категории, думаю все так же будет рабоотать.
Либо модифируйте скрипт под свой случай, в модификации указан идентификатор картинки.
ps. можно написать плагин на событие msopOnAfterGetModification и получить url изображения.
Либо модифируйте скрипт под свой случай, в модификации указан идентификатор картинки.
ps. можно написать плагин на событие msopOnAfterGetModification и получить url изображения.
Спасибо! Да, через плагин, думаю, быстрее будет.
Здравствуйте, удалось сделать смену картинки в списке?
Добрый день. Имеем 10 размеров и 2 варианта цвета.
Создаем модификации
1. Размер 6 цвет красный, размер 6 цвет синий. — все ок.
2. Размер 8 цвет красный. — Не создает, говорит, что картинку надо уникальную.
Я что то не так делаю или все же это лишняя проверка? Зачем 8 одинаковых фото для 8 размеров?
Создаем модификации
1. Размер 6 цвет красный, размер 6 цвет синий. — все ок.
2. Размер 8 цвет красный. — Не создает, говорит, что картинку надо уникальную.
Я что то не так делаю или все же это лишняя проверка? Зачем 8 одинаковых фото для 8 размеров?
Добрый день.
Картинка в модификации должна быть уникальна, иначе как по картинке потом определить модификацию?
Поясните что в модификации влияет на стоиомсть…
Возможно вам просто создать модификации под цвет без учета размера, а только по цвету…
Картинка в модификации должна быть уникальна, иначе как по картинке потом определить модификацию?
Поясните что в модификации влияет на стоиомсть…
Возможно вам просто создать модификации под цвет без учета размера, а только по цвету…
Сферический пример в вакууме:
Айфон память 64 — 128 — 256. Цвета белый, черный, со стразами. При прочих равных, телефон со стразами всегда дороже чем белый или черный. А черный дороже белого, но дешевле того что со стразами. Внешне телефоны с разным объемом памяти не отличаются. То есть фото 3, комбинаций 9. По 3 комбинации на каждое фото. Грузить в галерею 9 отдельных фото не имеет смысла.
у меня ситуация аналогична.
Айфон память 64 — 128 — 256. Цвета белый, черный, со стразами. При прочих равных, телефон со стразами всегда дороже чем белый или черный. А черный дороже белого, но дешевле того что со стразами. Внешне телефоны с разным объемом памяти не отличаются. То есть фото 3, комбинаций 9. По 3 комбинации на каждое фото. Грузить в галерею 9 отдельных фото не имеет смысла.
у меня ситуация аналогична.
может я чтото не так понял, но вот смотри попробовал сделать по твоему примеру
s6200.h3.modhost.pro/index.php?id=138
s6200.h3.modhost.pro/index.php?id=138
Так получится одна и та же добавка к цене в зависимости от объема памяти.
А если черный с 64 памяти стоит 2100, черный с 128 стоит 2333 и черный 256 памяти стоит 2654
Белый: 64 — 2050, 128 — 1500, 256 — 1800
Такое уже не получится сделать.
А если черный с 64 памяти стоит 2100, черный с 128 стоит 2333 и черный 256 памяти стоит 2654
Белый: 64 — 2050, 128 — 1500, 256 — 1800
Такое уже не получится сделать.
ну чтото же должно быть у продукта уникальное, вот к этому уникальному привяжите картинку, а дальше уже другими модификациями задавайте стоимость.
Например можно взять артикул, ведь он уникален? Создайте его, задайте для него картинку и дальше…
Например можно взять артикул, ведь он уникален? Создайте его, задайте для него картинку и дальше…
То есть у модификации должно быть минимум одно поле уникальное? и при этом картинки можно не уникальные?
нет, картинка уникальна для каждой модификации. Иначе не определить связь между ними.
не, я муть предложил какую то. вам же надо картинку к цвету цеплять.
Все это похоже на битриксовые оферы товара. Надо посмотреть как у них сделано.
в целом можно сделать уникальность картинки настраиваемой. Но в случае когда картинка не уникальна не будет работать переключение опций по смене изображения в галерее, а будет переключаться картинка при смене опций.
Хотя я так подумал… щас посмотрю, может и получится сделать.
получилось?
Получилось. Спасибо!
А можно чанк такого товара посмотреть?
Спасибо!
Это правда скорее на s6200.h3.modhost.pro/index.php?id=136 похоже, а меня интересовал именно s6200.h3.modhost.pro/index.php?id=138
Или мне так кажется из-за названий опций просто?
Это правда скорее на s6200.h3.modhost.pro/index.php?id=136 похоже, а меня интересовал именно s6200.h3.modhost.pro/index.php?id=138
Или мне так кажется из-за названий опций просто?
Или мне так кажется из-за названий опций просто?кажется )
чанк один и тот же
Хорошо, сейчас на тестовом сайте разберусь обязательно с ними )
теперь работает хорошо. но из за того, что фоторама не сразу подгружает все фотки слайдера (а только те, что входят) — не меняется фотография при изменении модификации.
не в курсе как лечится?
не в курсе как лечится?
попробуйте убрать превьюшки gist.github.com/vgrish/7da99c6d534cdfab18f1a0754a0d23bc
тогда фоторама сам будет генерить превью и возможно это сработает
тогда фоторама сам будет генерить превью и возможно это сработает
не помогло
yadi.sk/i/HTKCeupsxbNWB
различие фоток в слайдере. и соответственно при переключении модификации тега img еще нет
yadi.sk/i/HTKCeupsxbNWB
различие фоток в слайдере. и соответственно при переключении модификации тега img еще нет
напишите в ТП с указанием доступов к админ панели сайта, посмотрю как решить.
Спасибо!
Спасибо!
Простите, куда написать? линк, если можно.
Столкнулся тоже с такой проблемой. Решение помогло — спасибо!!!
Только теперь еще вопрос возник:
Если листать галерею, то автоматически переключаются цвета в опциях, но не подтягиваются связанные с ними размеры. Это как-то можно решить?
Только теперь еще вопрос возник:
Если листать галерею, то автоматически переключаются цвета в опциях, но не подтягиваются связанные с ними размеры. Это как-то можно решить?
Спасибо за обновления) В последнем обновлении не работает поиск по ключу при добавлении опции в модификацию.
уверен? joxi.ru/xAe8MExSYzKNx2
Подскажите пожалуйста где можно скачать первую версию?
активировал в репозитории, попробуйте установить.
не появился take.ms/MT8pX. В качестве поставщика установил modstore.pro
уточните насчет какой первой версии вы имели ввиду? насчет самой самой первой??? ее не будет. Я думал речь шла о пакете msOptionsPrice2 первой версии, ее я и активировал.
Да речь о самой первой версии. Где-то было написано, что она стала бесплатной. Почему её не будет?
она и была в репозитории пока работала. Сейчас она не работает с новой версией магазина, смысл ее держать? Потому и убрал.
А какая минимальная версия магазина нужна (именно miniShop2, а не modx) для 2й версии?
2.4.0
Офтоп.
Володь, у вас там сегодня ВВП гостил. Город причесали наверно.
Володь, у вас там сегодня ВВП гостил. Город причесали наверно.
да ты че… Город такого марафета за последние 30 лет не видел.
Дороги, спорт площадки как грибы после дождя, за несколько дней выросли.
Дороги, спорт площадки как грибы после дождя, за несколько дней выросли.
Всё, на ближайшие 30 лет забудьте, другим тоже нужны дороги и корты :)
У меня 2.2.0 и обновиться очень проблематично т.к. мой предшественник вносил правки в исходный код. Может всё-таки дадите доступ к старой версии для таких «везунчиков» как я? Буду вам очень благодарен, могу купить за какую-то умеренную плату. Если конечно она будет работать на моей версии магазина.
активировал в репозитории старую версию. Описание актуальное для старой версии тут modx.pro/components/4880-msoptionsprice2-different-prices-for-the-options-of-the-goods/
Спасибо, но всё равно не вижу дополнение в репозиторие
Возможно у вас не куплен пакет?
В смысле мне нужно купить msOptionsPrice2 для того, чтобы получить доступ к msOptionsPrice?
нет, речь изначальна шла про msOptionsPrice2, есть старая версия, есть новая что описана тут.
msOptionsPrice2 может быть установлена на minishop2 версии 2.2.0?
msOptionsPrice2 (1.1.4-beta) — работает на любом minishop2
msOptionsPrice2 (2.0.0-beta) — работает на minishop2 > 2.4.0
msOptionsPrice2 (2.0.0-beta) — работает на minishop2 > 2.4.0
ок, спасибо. И после покупки я смогу выбрать любую из них, правильно?
да, должны быть доступны обе версии.
Но я бы советовал вам обновить магазин и не держаться за старое.
Но я бы советовал вам обновить магазин и не держаться за старое.
Помогите плиз. На событие msOnGetProductPrice стоит 2 плагина. Первым отрабатывает плагин msoptionsprice вторым вызывается плагин для изменения цены от кол-ва товаров.
Почему это происходит и как вылечить?
switch ($modx->event->name) {
case 'msOnGetProductPrice':
if ($modx->context->key == 'mgr') {return;}
// Плагин принимает:
// $product - объект msProductData
// $data - массив со свойствами товара, может отсутствовать
// $price - текущая цена товара
// Подключаем массив значений по ссылке - так удобнее
$values = &$modx->event->returnedValues;
// Цена может меняться несколькими плагинами сразу, поэтому проверяем:
if (isset($values['price'])) {
$price = $values['price'];
}
$modx->log(MODX::LOG_LEVEL_ERROR,'Плагин price_currency '.print_r($values,true));
$values
приходит пустое. То есть изменение цены от первого плагины не приходит. Почему это происходит и как вылечить?
это не работает с версии php > 5.3
фикс можно вот такой сделать github.com/modxcms/revolution/pull/13116
фикс можно вот такой сделать github.com/modxcms/revolution/pull/13116
Спасибо посмотрю. еще один вопрос можно?
Есть плагин который в корзине меняет цену в зависимости от кол-ва. (блин плагин выше валюту переводит. поторопился когда писал.)
Есть плагин который в корзине меняет цену в зависимости от кол-ва. (блин плагин выше валюту переводит. поторопился когда писал.)
<?php
switch ($modx->event->name) {
case 'msOnAddToCart': case 'msOnChangeInCart': case 'msOnRemoveFromCart':
$cartArray = $cart->get();
$cartStatus = $cart->status();
$totalCount = $cartStatus['total_count'];
//получаем курс валюты
....
$price = $product->get('price')*$course;
$old_price = round($product->get('old_price')*$course, 0);
//получаем скидку товара
....
$cart->set($cartArray);
break;
}
Как в этой строке $price = $product->get('price')*$course;
можно получить цену модифицированную msOptionsPrice2?
расчет цены идет на событие msOnGetProductPrice достаточно вызвать метод
$product->getPrice(array('msoptionsprice_options' => $options));
где msoptionsprice_options опции продукта
Заработало. Я пытался править modx.class.php из админки. Как подсказал Володя его надо было залить по ftp.
И в плагине правки:
И в плагине правки:
<?php
switch ($modx->event->name) {
case 'msOnGetProductPrice':
if ($modx->context->key == 'mgr') {return;}
// Плагин принимает:
// $product - объект msProductData
// $data - массив со свойствами товара, может отсутствовать
// $price - текущая цена товара
// Подключаем массив значений по ссылке - так удобнее
$values = & $modx->Event->returnedValues;
$values2 = & $modx->event->returnedValues;
...
$price = $price*$course;
$values['price'] = round($price, 0);
$values2['price'] = $values['price'];
...
break;
}
фикс можно вот такой сделать github.com/modxcms/revolution/pull/13116Не работает
// Подключаем массив значений по ссылке - так удобнее
$values = $modx->event->returnedValues;
// Цена может меняться несколькими плагинами сразу, поэтому проверяем:
if (isset($values['price'])) {
$price = $values['price'];
}
$modx->log(MODX::LOG_LEVEL_ERROR,'Плагин price_currency '.print_r($values,true));
print_r($values,true) все равно пустое :(
вы невнимательны…
Поясните пожалуйста.
поставили php5.3 та же проблема :(
поставили php5.3 та же проблема :(
Володя, скажи пожалуйста смогу ли я такое реализовать при помощи msOptionsPrice2:
Есть Опция(общая) размеры sizes (тоже множественный выбор, но не стандартная size), сделал так чтобы были уже готовые значения и можно было просто выбирать.
так вот:
Есть несколько размеров, допустим 10, 30, 50. Они общие, т.е. эта опция для групп ресурсов одинаковая. Соответственно на каждую группу ресурсов своя цена на размеры. Допустим так:
Можно ли чтобы не вбивать в каждый товар размер и его цену(создавать модификации), а назначить глобально как-то, т.е. для Категории как в коде выше?
Вопрос не к компоненту, лучше наверно использовать существующее поле size, но как там связать это все и чтоб были значения(т.е. размеры 10, 30, 50 уже вбиты и можно было только выбирать)?
Есть Опция(общая) размеры sizes (тоже множественный выбор, но не стандартная size), сделал так чтобы были уже готовые значения и можно было просто выбирать.
так вот:
Есть несколько размеров, допустим 10, 30, 50. Они общие, т.е. эта опция для групп ресурсов одинаковая. Соответственно на каждую группу ресурсов своя цена на размеры. Допустим так:
- Категория 1
10 цена 1000р
30 цена 1200р
50 цена 1400р
- Категория 2
10 цена 1100р
30 цена 1300р
50 цена 1500р
В каждом товаре выбираю только размер товара, из предложенных. К примеру:Товар 1 - размеры 10, 30
Товар 2 - размеры 50
Товар 3 - размеры 10,50
Соответственно нужно выводить опции-цены только которые выбраны для товара. Можно ли чтобы не вбивать в каждый товар размер и его цену(создавать модификации), а назначить глобально как-то, т.е. для Категории как в коде выше?
Вопрос не к компоненту, лучше наверно использовать существующее поле size, но как там связать это все и чтоб были значения(т.е. размеры 10, 30, 50 уже вбиты и можно было только выбирать)?
можно не создавать опции, не создавать модификации, а написать плагин на msopOnAfterGetModification
должен отдавать модификацию по опциям продукта.
Так вот в него поместить всю логику по вычислению стоимости модификации в зависисмости от ваших категорий и тд.
Отдаете объект модификация с нужной стоимостью и все. Должно работать.
должен отдавать модификацию по опциям продукта.
Так вот в него поместить всю логику по вычислению стоимости модификации в зависисмости от ваших категорий и тд.
Отдаете объект модификация с нужной стоимостью и все. Должно работать.
Вопрос не к компоненту, лучше наверно использовать существующее поле size, но как там связать это все и чтоб были значения(т.е. размеры 10, 30, 50 уже вбиты и можно было только выбирать)?Это наверно проще создать опцию как раньше с помощью плагина и в сторе комбика поместить те значения что вам нужны
Кто-нибудь знает как отписаться от получения новых комментариев отсюда на почту?
После установки дополнения не отображается список опций на карточке товара. Если обновить страницу, то появляется.
Разработчик приложения рекомендовал повысить версию php. Пробовал 5.4 и 7.0. Проблема осталась.
Пробовал удалять приложения (SeoPro, Summary, Collections и другие). Ничего не меняется.
Может кто сталкивался с данной проблемой и может поделиться решением. Не хочется полностью переделывать проект на shopkeepere из-за этой проблемы…
P.S. Установлена последняя версия minishop 2.4.4-pl и mSearch 1.6.4-pl
Разработчик приложения рекомендовал повысить версию php. Пробовал 5.4 и 7.0. Проблема осталась.
Пробовал удалять приложения (SeoPro, Summary, Collections и другие). Ничего не меняется.
Может кто сталкивался с данной проблемой и может поделиться решением. Не хочется полностью переделывать проект на shopkeepere из-за этой проблемы…
P.S. Установлена последняя версия minishop 2.4.4-pl и mSearch 1.6.4-pl
После установки дополнения не отображается список опций на карточке товара. Если обновить страницу, то появляетсяне вводите людей в смуту, у вас опции выводятся стандартным сниппетом minishop и компонент тут не причем.
Добрый день, подскажите, возможно ли у каждой модификации создавать свои цвета? Т.е. у меня товар — стул есть экокожа, есть ткань, есть натуральная кожа. И у каждой модификации есть не несколько видов своих цветов. Возможна ли такая реализация?
добрый день!
Купил msOptionsPrice2, возникли некоторые вопросы по работе:
1. При смене опции меняется артикул и цена, все ок. Как можно передать в корзину артикул модификации? Цена передается, артикул нет.
2. Если у товара нет модификации, артикул товара не отображается
3. Возможно ли использовать radio вместо select в списке опции?
miniShop2 2.4.6-pl1, пришлось обновить так как с 2.2 не работал
msOptionsPrice2 2.1.20-beta
Купил msOptionsPrice2, возникли некоторые вопросы по работе:
1. При смене опции меняется артикул и цена, все ок. Как можно передать в корзину артикул модификации? Цена передается, артикул нет.
2. Если у товара нет модификации, артикул товара не отображается
3. Возможно ли использовать radio вместо select в списке опции?
miniShop2 2.4.6-pl1, пришлось обновить так как с 2.2 не работал
msOptionsPrice2 2.1.20-beta
Добрый день.
1. На данный момент никакого механизма по передаче артикула нет. Можно передавать артикул как опцию продукта.
2. Поправил, обновитесь.
3. Да, конечно. Пример чанка gist.github.com/vgrish/46de7e0c9eb453a4ccb77064b3b78916
1. На данный момент никакого механизма по передаче артикула нет. Можно передавать артикул как опцию продукта.
2. Поправил, обновитесь.
3. Да, конечно. Пример чанка gist.github.com/vgrish/46de7e0c9eb453a4ccb77064b3b78916
Спасибо за ответ.
Возможно вопрос не к совсем к Вам, но может подскажете:
Опции к товару добавляются через «Множественный выбор» в таком порядке joxi.ru/KAxbe4nF4WROKm от дешевого в дорогому, соответственно выбран самый дешевый, на при сохранении порядок меняется joxi.ru/zANa0gdclbKGy2. Получается что сортировка сама меняется. Можно ли как-то выводить нужную сортировку?
>>>1. На данный момент никакого механизма по передаче артикула нет. Можно передавать артикул как опцию продукта.
Жаль, один из факторов покупки данного компонента, что есть возможность передать уникальный артикул. По факту получается это просо js манипуляция на фронтенде карточки товара.
Возможно вопрос не к совсем к Вам, но может подскажете:
Опции к товару добавляются через «Множественный выбор» в таком порядке joxi.ru/KAxbe4nF4WROKm от дешевого в дорогому, соответственно выбран самый дешевый, на при сохранении порядок меняется joxi.ru/zANa0gdclbKGy2. Получается что сортировка сама меняется. Можно ли как-то выводить нужную сортировку?
>>>1. На данный момент никакого механизма по передаче артикула нет. Можно передавать артикул как опцию продукта.
Жаль, один из факторов покупки данного компонента, что есть возможность передать уникальный артикул. По факту получается это просо js манипуляция на фронтенде карточки товара.
Опции к товару добавляются через «Множественный выбор» в таком порядке joxi.ru/KAxbe4nF4WROKm от дешевого в дорогому, соответственно выбран самый дешевый, на при сохранении порядок меняется joxi.ru/zANa0gdclbKGy2. Получается что сортировка сама меняется. Можно ли как-то выводить нужную сортировку?попробуйте выставить настройку msoptionsprice_sort_modification_option_values в нет
Жаль, один из факторов покупки данного компонента, что есть возможность передать уникальный артикул. По факту получается это просо js манипуляция на фронтенде карточки товара.артикула как такового нет в продукте корзины github.com/bezumkin/miniShop2/blob/53f541cb4fabe3ad32f9e0608a5abf5d25cd9a4d/core/components/minishop2/model/schema/minishop2.mysql.schema.xml#L362-L370
есть только опции, потому если вы передадите артикул как опцию он нигде не потеряется. Других вариантов я пока не вижу.
Спасибо за ответ.
>>>попробуйте выставить настройку msoptionsprice_sort_modification_option_values в нет
поставил работает, но после обновления до 2.1.22 beta перестало работать, значение в настройках стоит нет, проверил.
>>>попробуйте выставить настройку msoptionsprice_sort_modification_option_values в нет
поставил работает, но после обновления до 2.1.22 beta перестало работать, значение в настройках стоит нет, проверил.
в ms2 есть параметр размер. можно ли как то сделать так, чтобы к этому параметру был привязан аналогичный другой параметр мощность. т.е. один размер — одна мощность. второй размер — соответствующая мощность?
и во фронте при изменении модификации завязанной на размер автоматом обновлялся инпут ридонли мощности?
если этот вопрос не связан с Вашим дополнением, можете направить куда рыть, чтобы направление было правильным? :)
и во фронте при изменении модификации завязанной на размер автоматом обновлялся инпут ридонли мощности?
если этот вопрос не связан с Вашим дополнением, можете направить куда рыть, чтобы направление было правильным? :)
Если я вас правильно понял то можно попробовать так.
Плагин на событие msopOnGetModificationById примерно так
далее событие msoptionsprice_product_action
Плагин на событие msopOnGetModificationById примерно так
if ($modx->event->name = 'msopOnGetModificationById') {
$m = null;
$msoptionsprice = $modx->getService('msoptionsprice');
// пробуем получить модификацию по свойству
foreach ($options as $k => $v) {
$m = $msoptionsprice->getModificationByOptions($rid, array($k => $v));
if ($m) {
break;
}
}
if ($m) {
// получаем все свойства модификации
$options = $modx->call('msopModificationOption', 'getOptions', array(&$modx, $m['id'], $rid));
$modification->set('options', $options);
$modification->set('rid', $rid);
// сигнализируем что модификация найдена и не нужно выводить пустую модификацию по дефолту
$modx->event->returnedValues['found'] = true;
}
далее событие msoptionsprice_product_action
$(document).on('msoptionsprice_product_action', function (e, action, form, r) {
if (action == 'modification/get') {
var m = r.data.modification || {};
var o = r.data.options || {};
if (m.rid) {
if (!msOptionsPrice.Tools.empty(o)) {
for (key in o) {
if (!o.hasOwnProperty(key)) {
continue;
}
var value = o[key];
value = msOptionsPrice.Tools.formatOptionValue(key, value);
// выставляем свойства модификации
msOptionsPrice.Tools.setInputValue(key, value, m.rid);
}
}
}
}
});
А где мы привязываем конкретный размер к конкретной мощности?
Или это делается когда в модификацию добавляются ключи? т.е. надо внимательно следить за тем, чтобы на 1 размер 2 мощности не привязать?
Или это делается когда в модификацию добавляются ключи? т.е. надо внимательно следить за тем, чтобы на 1 размер 2 мощности не привязать?
Или это делается когда в модификацию добавляются ключи?да, все верно.
т.е. надо внимательно следить за тем, чтобы на 1 размер 2 мощности не привязать?Да наверно нужно как то следить.
плагин modx, или ms2? что-то не совсем понял куда его.
плагин modx, или ms2? что-то не совсем понял куда его.плагин modx конечно на событие msopOnGetModificationById
но при создании плагина нет такого события… =(
скорее всего вам нужно обновить пакет до последней версии
да, действительно. обновил, все появилось. в итоге при изменении размера на странице товара мощность не меняется на привязанную.
при этом цена изменяется только в том случае, если вручную выставлена правильная модификация.
И можно ли как то избавится от вывода опций через снипет [[msOptions]] и заменить его на простой input?
при этом цена изменяется только в том случае, если вручную выставлена правильная модификация.
И можно ли как то избавится от вывода опций через снипет [[msOptions]] и заменить его на простой input?
либо смоделируйте ситуацию на тестовом сайте, либо скиньте доступ в ТП.
Не видя тяжело чтото советовать.
Не видя тяжело чтото советовать.
И можно ли как то избавится от вывода опций через снипет [[msOptions]] и заменить его на простой input?можно а зачем?
MODX 2.5.4. Поставил последний minishop2, накатил msOptionsPrice2. Создал товар, но новой вкладки не увидел. Необходимы еще какие то манипуляции? В гайде об этом ни слова.
Скорее всего
На странице продукта доступна одноименная вкладка (настройка msoptionsprice_working_templates, в ней перечислить id необходимых шаблонов)
Добрый день хочу приобрести Ваш плагин, совместим ли он с minishop2.2?
Добрый день.
совместим ли он с minishop2.2?нет, работает с версии 2.4.0
Заметил такую штуку.
Если у товара есть доп поле (TV) и в его Возможные значения вписано что-то типа такого:
Если убрать @EVAL, то всё нормально.
Если у товара есть доп поле (TV) и в его Возможные значения вписано что-то типа такого:
@EVAL return $modx->runSnippet('msProducts', array('parents'=>'0', 'depth'=>'2', 'limit' => '300', 'tpl' => '@INLINE [[+pagetitle]]==[[+id]]||','tplLast' => '@INLINE [[+pagetitle]]==[[+id]]' ));
то карточка в админке не открывается.Если убрать @EVAL, то всё нормально.
Привет. Поправил, обновись!
! спс
Здравствуйте!
Скажите может ли компонент вывести в корзине стоимость заказа со скидкой и без? к примеру:
Сумма заказа со скидкой: 1 000 руб
Сумма заказа без скидки: 500 руб
Скажите может ли компонент вывести в корзине стоимость заказа со скидкой и без? к примеру:
Сумма заказа со скидкой: 1 000 руб
Сумма заказа без скидки: 500 руб
Доброе утро.
В компоненте нет никаких скидок и он не влияет на корзину… Естественно никакого функционала по выводу стоимости заказа со скидкой и без нет.
В компоненте нет никаких скидок и он не влияет на корзину… Естественно никакого функционала по выводу стоимости заказа со скидкой и без нет.
Прошу прощения, перепутал компоненты, хотел спросить про Discontrol. Может ли он выводить?
Используйте сниппет dcDiscounts modx.pro/components/8840-discontrol-control-discounts-store/
1. Возможно вести учет остатков при условии, что у товара нет модификаций и опций?
2. В случае отмены заказа товар возвращается на склад?
3. К какому событию / процессу / статусу заказа привязана операция уменьшения остатков?
4. Есть опция запрета покупки или уведомления пользователя в случае покупки количества товара, которое превышает остатки?
Спасибо.
2. В случае отмены заказа товар возвращается на склад?
3. К какому событию / процессу / статусу заказа привязана операция уменьшения остатков?
4. Есть опция запрета покупки или уведомления пользователя в случае покупки количества товара, которое превышает остатки?
Спасибо.
1. Возможно вести учет остатков при условии, что у товара нет модификаций и опций?нет, контролируются только остатки модификаций
2. В случае отмены заказа товар возвращается на склад?да
3. К какому событию / процессу / статусу заказа привязана операция уменьшения остатков?msOnCreateOrder
4. Есть опция запрета покупки или уведомления пользователя в случае покупки количества товара, которое превышает остатки?да, отслеживается ко-во товара в корзине, если нет доступного кол-во выводится предупреждение — товар не добавляется.
Есть ли возможность указывать модификации при импорте через csv или сторонние дополнения?
Поддерживаются только стандартные свойства — color, size или можно добавлять свои? У меня должны быть свойства — дозировка, объем, теоретически можно color, size приспособить для этих целей. Но в идеале, конечно, использовать свои.
Поддерживаются только стандартные свойства — color, size или можно добавлять свои? У меня должны быть свойства — дозировка, объем, теоретически можно color, size приспособить для этих целей. Но в идеале, конечно, использовать свои.
Это дополнение подойдет для фронт-энд конструктора пиццы? Корж + сыр + салями ну и т.д. Можно ли, допустим, 2 порции одного сыра добавить к коржу?
Добрый день!
Смотрю вашу демо версию и возникает вопрос, можно опции вывести в виде фото?
В частности выбор цвета.
Смотрю вашу демо версию и возникает вопрос, можно опции вывести в виде фото?
В частности выбор цвета.
Для выбора цвета есть дополнение msOptionsColor. Там же и паттерн(фото) можно поставить.
Есть возможность вывести так? Пример
это больше на наборы товаров похоже. есть modstore.pro/packages/ecommerce/mssetincart
и есть modstore.pro/packages/integration/msaddlinked
и есть modstore.pro/packages/integration/msaddlinked
Спасибо за ответ!
Но не совсем понял почему Вы склоняете меня к этим модулям, мне нужно что бы доп опции были в виде, фото, названия, цены, описания. Если я не ошибаюсь, этот модуль за это и отвечает, что бы выводить дополнительные опции. Или я ошибаюсь?
Но не совсем понял почему Вы склоняете меня к этим модулям, мне нужно что бы доп опции были в виде, фото, названия, цены, описания. Если я не ошибаюсь, этот модуль за это и отвечает, что бы выводить дополнительные опции. Или я ошибаюсь?
модуль предназначен для созданий модификаций продукта на основе опций.
Как частный случай возможно его использование при условиии модфикация продукта = одна опция.
Вы можете установить пакет на тестовом сайте и посмотреть что к чему modhost.pro/
Как частный случай возможно его использование при условиии модфикация продукта = одна опция.
Вы можете установить пакет на тестовом сайте и посмотреть что к чему modhost.pro/
не появиться ли в будущем настройки, в которую можно вписать только те опции которые надо выводить при добавлении модификации. Например указать в поле color,size и при добавлении новой модификации в поле Ключ чтобы были только эти два пункта, так как часто опций много, а для модификаций используются парочка и приходиться ждать пока все подгрузятся
добавил настройку «include_modification_options» — сюда писать ключи что необходимы
спасибо!
пожалуйста!)
В списке модификаций хорошо бы добавить столбик «наименование»
Вот тут —
Иначе в моем случае везде стоят нули
Вот тут —
Иначе в моем случае везде стоят нули
не понял, про какие нули идет речь и какие наименования.
Поясните, спасибо!
Поясните, спасибо!
правой кнопкой на модификации и «обновить». в открывшемся окне есть «наименование». Вот его хорошо бы вывести в список модификаций на скрине из прошлого сообщения.
иначе у меня получается вот так — screenshot.ru/upload/images/2017/04/23/EKRANA2017-04-23V15.16.3767c89.png
иначе у меня получается вот так — screenshot.ru/upload/images/2017/04/23/EKRANA2017-04-23V15.16.3767c89.png
настройка msoptionsprice_grid_modification_fields, добавьте туда поле name
Спасибо!
Здравствуйте. А можно как-нибудь реализовать select как в msOptions, но только отсортировав его по цене?
А то клиент вбил много данных, и в листинге показывает одну цену, а в карточке товара другую (изза модификации).
Заранее спасибо.
А то клиент вбил много данных, и в листинге показывает одну цену, а в карточке товара другую (изза модификации).
Заранее спасибо.
Доброе утро.
Варианты:
— в листинге подключить msoptionsprice с опциями
— если модификации построены на одной опции, то можно на основе msOptionsPrice.modification
вывести опции с учетом цен
— какой то еще вариант…
Варианты:
— в листинге подключить msoptionsprice с опциями
— если модификации построены на одной опции, то можно на основе msOptionsPrice.modification
вывести опции с учетом цен
— какой то еще вариант…
Автору компонента спасибо большое за быструю техническую поддержку. Помог решить проблему в ТП очень быстро. При общении более, чем адекватен. Замечательный разработчик!
Доброго времени суток, Володя! Не разобрался как «перетаскивать» модификации в табличке, вроде как строчка подхватывается по «drug and drop», но не даёт перемещать. Что я делаю не так?
PS: нужно для сортировки опций в select'е.
PS: нужно для сортировки опций в select'е.
Добрый день.
Для сортировки значений опций можно пользовать сниппет msOptionsPrice.option
Не разобрался как «перетаскивать» модификации в табличке, вроде как строчка подхватывается по «drug and drop», но не даёт перемещатьтам нет сортировки.
Для сортировки значений опций можно пользовать сниппет msOptionsPrice.option
[[!msOptionsPrice.option?
&options=`color,size`
&sortOptions=`
size:SORT_DESC:SORT_NUMERIC,
color:SORT_DESC:SORT_STRING
`
]]
было бы круто там сортировать! ведь есть же поле msopModification.rank в табличке, а выводит тогда можно вот так:
{$_modx->runSnippet('@FILE components/pdotools/elements/snippets/snippet.pdoresources.php', [
'eelementsPath' => $_modx->config.core_path ~ "components/",
'elementsPath' => $_modx->config.core_path,
'showLog' => 0,
'loadModels' => 'msoptionsprice',
'class' => 'msopModificationOption',
'sortby' => 'msopModification.rank',
'where' => [
'rid' => $_modx->resource.id,
'key' => 'color',
],
'leftJoin' => [
"msopModification" => [
"class" => "msopModification",
"alias" => "msopModification",
"on" => "msopModification.id = msopModificationOption.mid"
],
],
'tpl' => '@FILE elements/chunks/msOptions/tpl.html',
'tplWrapper' => '@FILE elements/chunks/msOptions/tplWrapper.html',
'wrapIfEmpty' => 0,
])}
обновитесь, поправил сортировку.
Спасибо!
Спасибо!
Спасибо за оперативные исправления!
Подскажите, можно ли назначить в модификациях цену по-умолчанию, чтобы она выводилась в списке продукции (в категории магазина) через сниппет msProduct? (сейчас выводитсяминимальная цена цена с максимальным msopModification.rank, взятая из модификаций, хотелось бы указывать её вручную – не через поле msopModification.rank)
Подскажите, можно ли назначить в модификациях цену по-умолчанию, чтобы она выводилась в списке продукции (в категории магазина) через сниппет msProduct? (сейчас выводится
Спасибо за оперативные исправления!пожалуйста!
Подскажите, можно ли назначить в модификациях цену по-умолчанию, чтобы она выводилась в списке продукции (в категории магазина) через сниппет msProduct?
можно попробовать плагином
gist.github.com/vgrish/85b5d8e9e3a159975b330cc90d63f3ca
но ведь дело в том что сниппет msProduct берет значение не из msProduct.price, а как я понимаю, по логике работы плагина msOptionsPrice по событию msOnGetProductPrice и по логике
Но все равно, идею понял! удивительно подробные разъяснения с примерами!
И как задел на будующее – было бы замечательно указывать дефолнтную цену у модификаций, к примеру самой популярной модификации, заказываемой в магазине (можно даже по истории заказов раз в месяц выявлять самые популярные модификации и делать ценник по-умолчанию по этим данным)
core/components/msoptionsprice/model/msoptionsprice/systems/msoptionspricemsongetproductprice.class.php
И ему совершенно побоку что стоит в msProduct.priceНо все равно, идею понял! удивительно подробные разъяснения с примерами!
И как задел на будующее – было бы замечательно указывать дефолнтную цену у модификаций, к примеру самой популярной модификации, заказываемой в магазине (можно даже по истории заказов раз в месяц выявлять самые популярные модификации и делать ценник по-умолчанию по этим данным)
Доработал сортировку, чтобы msopModification.rank начинался с 0 для каждого ресурса msopModification.rid, чтобы можно было удобно left-джойнить цену по-умолчанию.
исправления:
в яваскрипте modification.grid.js
исправления:
в яваскрипте modification.grid.js
:141
params: {
action: config.action || 'mgr/modification/sort',
resource_id: store[data.rowIndex].json.rid,
source: source,
target: target
},
в процессоре sort.class.php:28
$resource_id = (int)$this->getProperty('resource_id');
if (empty($source) || empty($target)) {
return $this->modx->error->failure();
}
if ($source->get('rank') < $target->get('rank')) {
$this->modx->exec("UPDATE {$this->modx->getTableName($this->classKey)}
SET rank = rank - 1 WHERE
rid = " . $resource_id . "
AND rank <= {$target->get('rank')}
AND rank > {$source->get('rank')}
AND rank > 0
");
} else {
$this->modx->exec("UPDATE {$this->modx->getTableName($this->classKey)}
SET rank = rank + 1 WHERE
rid = " . $resource_id . "
AND rank >= {$target->get('rank')}
AND rank < {$source->get('rank')}
");
}
внесите пожалуйста изменения, если все ок, чтобы с обновлением не потерялась логика. спасибо.
В корзине при выводе модификаций почему-то выглядит так:
Откуда в конце хвост:
Откуда в конце хвост:
Array, 0
Хороший вопрос. У меня тоже этот Array вылазит.
используйте такую конструкцию для исключения служебных опций gist.github.com/vgrish/3748714377be39401799e3908efd8a59#file-mscart-tpl-L86-L99
Спасибо! Все работает.
Еще вопросы есть по опциям.
Как исключить выборочно опции по ключу ms2_product_ххх?
Как исключить все опции, но включить только нужные?
Еще вопросы есть по опциям.
Как исключить выборочно опции по ключу ms2_product_ххх?
Как исключить все опции, но включить только нужные?
Как исключить выборочно опции по ключу ms2_product_ххх?использовать регулярное выражение…
Как исключить все опции, но включить только нужные?использовать отрицание
not in [...]
Можно образец, пожалуйста.
Лучше 1 раз увидеть, чем 100 раз услышать.
Лучше 1 раз увидеть, чем 100 раз услышать.
Как исключить выборочно опции по ключу ms2_product_ххх?
{foreach $options as $name => $value}
{if ($name|preg_match:'#key')}{else}{continue}{/if}
{/foreach}
Как исключить все опции, но включить только нужные?
foreach $product.options as $key => $option}
{if $key not in ['color','size']}{continue}{/if}
{/foreach}
Отлично.
Правда после покупки код ломает всё… Как исправить?
Правда после покупки код ломает всё… Как исправить?
скорее всего вы где-то нарушили синтаксис…
напишите в ТП с указанием доступов к админке и ссылкой на шаблон корзины, разберемся в чем дело.
Спасибо!
напишите в ТП с указанием доступов к админке и ссылкой на шаблон корзины, разберемся в чем дело.
Спасибо!
Доброго времени!
Купил уже пакет, разбираемся учу менеджеров пользоваться, но вот заинтересовало как вы реализовали работу слайдера и опций.
Долго изучал предоставленный вами материал (Чанки, Демо сайт) Сделал всё идентично сказанному.
Через фото раму, фото выделяется, но только если в Sellect Я выберу опцию, а если нажать по миниатюре фото в галерее, то опция будет стоять на месте.
Как вы сделали весь процесс?
Купил уже пакет, разбираемся учу менеджеров пользоваться, но вот заинтересовало как вы реализовали работу слайдера и опций.
Долго изучал предоставленный вами материал (Чанки, Демо сайт) Сделал всё идентично сказанному.
Через фото раму, фото выделяется, но только если в Sellect Я выберу опцию, а если нажать по миниатюре фото в галерее, то опция будет стоять на месте.
Как вы сделали весь процесс?
Скорее всего вы не модифицировали чанк галереи, там добавляются необходимые параметры
gist.github.com/vgrish/e5c7e541b33eefc4b7c0cb68ec389096#file-tpl-msgallery-L10
если не получается напишите в ТП с указанием доступов к админке сайта и ссылкой на чанк/ шаблон продукта, разберемся.
Спасибо!
gist.github.com/vgrish/e5c7e541b33eefc4b7c0cb68ec389096#file-tpl-msgallery-L10
если не получается напишите в ТП с указанием доступов к админке сайта и ссылкой на чанк/ шаблон продукта, разберемся.
Спасибо!
Чанки модифицированы. По шагам сделал всё по вашей инструкции, но увы.
Я не могу отследить весь процесс события, но при клике в Галерее, событие отрабатывает на форме продукта, но при этом нечего не меняется.
Я не могу отследить весь процесс события, но при клике в Галерее, событие отрабатывает на форме продукта, но при этом нечего не меняется.
В какую ТП вы мне предложили обратиться? Часть форума по тематике вопросы?
В какую ТП вы мне предложили обратиться?В поддержку магазина modstore.pro/office/support#office/support/add
Отследил по степам что происходит после клика в галерее. по шагам отрабатываемые строки скрипта инициализации продукта.
1. if(inputs){inputs.each(function(){msOptionsPrice.Tools.setValue(this,value,key);});}
2. inputs.each(function(){msOptionsPrice.Tools.setValue(this,value,key);}); (результат: value = «Белый», key = «colors»)
3. return;},setGalleryImage:function(rid,iid){var fotorama=$('.fotorama__img[data-rid="'+rid+'"]').closest(msOptionsPrice.Product.gallery).find('.fotorama').data('fotorama');if(!!fotorama){if(fotorama.activeFrame['iid']==iid){return;}
4. ,setGalleryImage:function(rid,iid){var fotorama=$('.fotorama__img[data-rid="'+rid+'"]').closest(msOptionsPrice.Product.gallery).find('.fotorama').data('fotorama');if(!!fotorama){if(fotorama.activeFrame['iid']==iid){return;}
5. key in data.options){if(!data.options.hasOwnProperty(key)){continue;}
6. if(!msOptionsPrice.Tools.empty(errors)){console.log(errors.join('
'));}} (при этом уже стоит результат «errors=[]»)
7. }}).done(function(response){}).fail(function(jqXHR,textStatus,errorThrown){});}};msOptionsPrice.Tools={arrayIntersect:function(array1,array2){var result=array1.filter(function(n){return array2.indexOf(n)!==-1;});return result;},inArray:function(needle,haystack){for(key in haystack){if(haystack[key]==needle)return true;}
Это все процессы в инициализации.
При клике по фото скрипт получает данные ключа опций, а так-же значение этого ключа.
У скрипта есть направление в name=«options[key]», но при этом значение не меняется в этом селекте
1. if(inputs){inputs.each(function(){msOptionsPrice.Tools.setValue(this,value,key);});}
2. inputs.each(function(){msOptionsPrice.Tools.setValue(this,value,key);}); (результат: value = «Белый», key = «colors»)
3. return;},setGalleryImage:function(rid,iid){var fotorama=$('.fotorama__img[data-rid="'+rid+'"]').closest(msOptionsPrice.Product.gallery).find('.fotorama').data('fotorama');if(!!fotorama){if(fotorama.activeFrame['iid']==iid){return;}
4. ,setGalleryImage:function(rid,iid){var fotorama=$('.fotorama__img[data-rid="'+rid+'"]').closest(msOptionsPrice.Product.gallery).find('.fotorama').data('fotorama');if(!!fotorama){if(fotorama.activeFrame['iid']==iid){return;}
5. key in data.options){if(!data.options.hasOwnProperty(key)){continue;}
6. if(!msOptionsPrice.Tools.empty(errors)){console.log(errors.join('
'));}} (при этом уже стоит результат «errors=[]»)
7. }}).done(function(response){}).fail(function(jqXHR,textStatus,errorThrown){});}};msOptionsPrice.Tools={arrayIntersect:function(array1,array2){var result=array1.filter(function(n){return array2.indexOf(n)!==-1;});return result;},inArray:function(needle,haystack){for(key in haystack){if(haystack[key]==needle)return true;}
Это все процессы в инициализации.
При клике по фото скрипт получает данные ключа опций, а так-же значение этого ключа.
У скрипта есть направление в name=«options[key]», но при этом значение не меняется в этом селекте
p/s — Я перепутал по пункту 2. Значения скрипт эти получает из формы как раз при клике, а не из галереии.
Выдаёт последнюю выбранную опцию
Выдаёт последнюю выбранную опцию
Еще вопрос. Как лучше перехватить цену после выбора модификации (после обработки msOp2), чтобы конвертировать согласно курсу валют?
Спасибо)
Было бы круто блокировать кнопку «Купить», пока цена не выставится, по типу того, как это делает компонент ExtraFields.
Снова вопрос. Если в списке товаров (с mFilter), мы выбираем опции, то они выставляются и в каждом товаре (вчера с Володей выяснили, что работает с select`ом). Так вот, если, например, нужно опции проставлять чекбоксами, то остается активным только последняя опция в товаре.
Default.js: msOptionsPrice.Tools.setValue -> switch -> case tagName == 'INPUT' && tagType == 'checkbox'… В случае, если выбрано 2 опции в фильтре товаров, то тут он сначала выставляет первой опции галочку, потом снимает, потом снимает со второй, потом ставит...)) Стоит сделать проверку, думаю, на наличие опций из массива, а не перебирать, так 4 цикла получается. Дальше не успел, вернусь через пару часов за комп.
Default.js: msOptionsPrice.Tools.setValue -> switch -> case tagName == 'INPUT' && tagType == 'checkbox'… В случае, если выбрано 2 опции в фильтре товаров, то тут он сначала выставляет первой опции галочку, потом снимает, потом снимает со второй, потом ставит...)) Стоит сделать проверку, думаю, на наличие опций из массива, а не перебирать, так 4 цикла получается. Дальше не успел, вернусь через пару часов за комп.
Предлагаю заменить:
value.filter(function (item, r) {
if ($this.val() == item) {
$this.prop('checked', true);
}
else {
$this.prop('checked', false);
}
}, this);
наif (msOptionsPrice.Tools.inArray($this.val(), value)) {
$this.prop('checked', true);
}
, или что-то вроде того. Или я что-то не так понял в плане функционала?
да, вполне верное замечание. Данный функционал сам не пользую потому не тестировал…
Внес правки, можно обновиться.
Спасибо!
Внес правки, можно обновиться.
Спасибо!
Теперь следующая проблема в выставлении цен с этими чекбоксами:
1. В админке невозможно создать разные модификации с одним ключем, но разными значениями (чтобы создать наборы из комбинаций опций).
2. Если модификации выставлять с ценником +к стоимости товара, то на фронте выставляется стоимость по последней опции.
Эти два пункта исключают возможность выставлять цены опциями в чекбоксах))
Могу предоставить тот же сайт, он пока не очень работает, можешь там поэкспериментировать, если нужно.
1. В админке невозможно создать разные модификации с одним ключем, но разными значениями (чтобы создать наборы из комбинаций опций).
2. Если модификации выставлять с ценником +к стоимости товара, то на фронте выставляется стоимость по последней опции.
Эти два пункта исключают возможность выставлять цены опциями в чекбоксах))
Могу предоставить тот же сайт, он пока не очень работает, можешь там поэкспериментировать, если нужно.
1. В админке невозможно создать разные модификации с одним ключем, но разными значениями (чтобы создать наборы из комбинаций опций).это как?
Да, и после последнего обновления, цена у товара выставляется от последней модификации, а не указанная в самом товаре, не зависимо от того, выбрана она, или нет.
пиши на почту, надо по месту смотреть…
Это был неведомый глюк, после пересоздания опций все стало ок.
У меня похожий глюк. Пока не разобрался в чем дело, но началось после обновления PdoTools до 2.9.0
сомневаюсь что есть какая либо взаимосвязь с pdoTools.
В любом случае есть ТП можно/ нужно писать туда по вопросам и тд…
Спасибо!
В любом случае есть ТП можно/ нужно писать туда по вопросам и тд…
Спасибо!
Володя, еще один вопрос, думаю, кому-то пригодится, как посоветуешь проставлять в товарах еще и цены в долларах / евро, если, например, цена изначально в национальной валюте? Допустим, цену можно считать плагином на msopOnGetFullCost, но как донести эти доп. цены до товара (еще и аяксом)?
пока никак не посоветую… над сесть подумать и тд… с ходу чтото ничего путного в головву не приходит.
Доброго дня.
В msOptionsPrice.modification увидел параметр «toPlaceholder» с параметрами Да/Нет.
Замечательно, а как плейсхолдер-то называется в который сниппет сохраняет результаты?
Ведь самому указать название нельзя
В msOptionsPrice.modification увидел параметр «toPlaceholder» с параметрами Да/Нет.
Замечательно, а как плейсхолдер-то называется в который сниппет сохраняет результаты?
Ведь самому указать название нельзя
Приветствую.
Это банальная очепятка в типе свойства.
просто задайте название плейсхолдера в параметре toPlaceholder
Это банальная очепятка в типе свойства.
просто задайте название плейсхолдера в параметре toPlaceholder
c приходом шаблонизатора это вообщем то и не нужно…
Спасибо за пояснение.
пожалуйста!
Не могу создать модификацию товара через админку. Ругается что поле цена не уникально. Также нельзя создать пару ключ-значение, не выводятся списки ключей и значений
Добрый день!
Подскажите, пожалуйста! Как реализовать изменение цены не от количества, а от веса, с помощью данного модуля?
Например, 1 кг продукта стоит 500 рублей. пользователь вводит, что хочет 333 грамма и товар с соответствующей ценой добавляется в корзину.
Подскажите, пожалуйста! Как реализовать изменение цены не от количества, а от веса, с помощью данного модуля?
Например, 1 кг продукта стоит 500 рублей. пользователь вводит, что хочет 333 грамма и товар с соответствующей ценой добавляется в корзину.
Добрый день.
Если поле вес предполагает свободное значение то можно реализовать через плагин.
Пишите в ТП, решим.
Спасибо!
Если поле вес предполагает свободное значение то можно реализовать через плагин.
Пишите в ТП, решим.
Спасибо!
Привет Володя, не могу утверждать, что это баг, но ко мне обратились с такой проблемой:
При добавление в моификацию опции, отображались не все опции
joxi.ru/82Qpan0sj73Kem
Чтож полез в процессор «mgr/misc/option/getkeys.class.php», вывел массив в лог joxi.ru/1A5QnldhnYkE4A
Там получил все опции нормально.
Пошел дальше с мыслью, что где-то исключается и как вариант лимит стоит, посмотрел функцию getData(). Там установил лимит на 0 и начали отображаться все опции.
joxi.ru/12M7daECM9X6xr
Версия последняя.
При добавление в моификацию опции, отображались не все опции
joxi.ru/82Qpan0sj73Kem
Чтож полез в процессор «mgr/misc/option/getkeys.class.php», вывел массив в лог joxi.ru/1A5QnldhnYkE4A
Там получил все опции нормально.
Пошел дальше с мыслью, что где-то исключается и как вариант лимит стоит, посмотрел функцию getData(). Там установил лимит на 0 и начали отображаться все опции.
joxi.ru/12M7daECM9X6xr
Версия последняя.
Вот вот, я тоже думал, что она должна быть, но ее нет… капец, как так
скинь в ТП доступы к админке и ссылку на товар где это можно увидеть, посмотрю в чем дело.
Спасибо!
Спасибо!
{$_modx - > runSnippet('!msOptionsPrice.modification', [
'tpl' => 'tpl.imagess',
'includeThumbs' => '360x800',
'sortby' => 'rank',
'processOptions' => 1
])}
Володь, подскажи пожалуйста как можно отсортировать опции по rank у категории, rank хранится в ms2_category_optionsjoxi.ru/D2PVZOJspybd3r
пока никак, будет время посмотрю этот момент.
привет. Я правильно понимаю что ты хочешь отсортировать опции конкретной модификации согласно порядку опций категории? Что в таком случае делать с опциями msProductData которых нет в категории?
Опиши более детально что ты хочешь с этим сделать, спасибо!
Опиши более детально что ты хочешь с этим сделать, спасибо!
По сути ты правильно описал то что я придумал. Но возможно у тебя есть другое предложение или идея как сортировать опции.
Лучший пример — это ситуация:
Есть 10 неких опций, Тест 1-10. Спустя месяцы захотелось добавить опцию Тест 11, но так чтобы она отображался в карточке товара после опции Тест 3.
т.е.:
т.е. не просто так же идет назначение опции для категории при ее создании в настройках ms2
Блин пока писал пост ты уже что-то сделал)))
Лучший пример — это ситуация:
Есть 10 неких опций, Тест 1-10. Спустя месяцы захотелось добавить опцию Тест 11, но так чтобы она отображался в карточке товара после опции Тест 3.
т.е.:
Тест 1
Тест 2
Тест 3
Тест 11
Тест 4
...
Тест 10
Что в таком случае делать с опциями msProductData которых нет в категории?Вот я как то тебе задавал этот вопрос. Повторюсь, а зачем в списке опций для модификации, отображаются те опции которые вообще не должны быть у этой категории? joxi.ru/KAg7zleC4DBalA
т.е. не просто так же идет назначение опции для категории при ее создании в настройках ms2
Блин пока писал пост ты уже что-то сделал)))
Повторюсь, а зачем в списке опций для модификации, отображаются те опции которые вообще не должны быть у этой категории?это опции из таблицы msProductData и как бы они существуют для всех товаров. Я допустим только ими и пользуюсь, а вот этот «удобный для вас» механизм создания и всяких других операций с опциями мне вообще неинтересен...)
Блин пока писал пост ты уже что-то сделал)))ну добавил сортировку по умолчанию, вроде то и надо было.
В админке при просмотре модификации работает и соответствует сортировке в категории.
А на фронте что-то надо поменять? какой параметр? т.к. там отображается в конце
А на фронте что-то надо поменять? какой параметр? т.к. там отображается в конце
{$_modx - > runSnippet('!msOptionsPrice.modification', [
'tpl' => 'tpl.imagess',
'includeThumbs' => '360x800',
'sortby' => 'rank',
'processOptions' => 1
])}
ничего не надо менять, так все должно работать.
Если чтото не пашет пиши дальше уже в ТП, будем разбираться.
Спасибо!
Если чтото не пашет пиши дальше уже в ТП, будем разбираться.
Спасибо!
добавил сортировку согласно rank по умолчанию. Если это то что было необходимо просто обновись и все заработает.
Здравствуйте,
Есть возможность выводить в каталоге разные модификации товара (критерий размер-цена, как сделано в карточке товара на демо-сайте) с возможностью добавить их в корзину как отдельные товары?
Спасибо.
Есть возможность выводить в каталоге разные модификации товара (критерий размер-цена, как сделано в карточке товара на демо-сайте) с возможностью добавить их в корзину как отдельные товары?
Спасибо.
Добрый день.
Есть возможность выводить в каталоге разные модификации товара (критерий размер-цена, как сделано в карточке товара на демо-сайте)вы сейчас говорите о каталоге модификаций? Если да, то нет, на данный момент такой возможности нет. ТОлько если в каждом товаре запустить сниппет для вывода модификаций.
Нет, я спрашиваю только про вывод в категорию.
Клиент хочет следующее:
На странице каталога/категории есть несколько товаров, у каждого задана модификация размер-цена.
В каждой карточке выведенной в каталог сделать отдельными строками ввод количества и возможность заказа каждой из модификаций как отдельный товар в корзине.
Пример — есть пицца маргарита размером 32см, 40см и 50см. Я хочу заказать 3 маргариты 32см и 2 маргариты 40 см из каталога/категории товаров пицца.
Это реализуемо?
Клиент хочет следующее:
На странице каталога/категории есть несколько товаров, у каждого задана модификация размер-цена.
В каждой карточке выведенной в каталог сделать отдельными строками ввод количества и возможность заказа каждой из модификаций как отдельный товар в корзине.
Пример — есть пицца маргарита размером 32см, 40см и 50см. Я хочу заказать 3 маргариты 32см и 2 маргариты 40 см из каталога/категории товаров пицца.
Это реализуемо?
как и говорил выше
в каждом товаре запустить сниппет для вывода модификацийпример
{'!pdoPage'|snippet: [
'element' => 'msProducts',
'tpl' => "@INLINE
{'!msOptionsPrice.modification'|snippet: [
'product' => {{+id}},
]}
"
]}
Т.е. я пропишу эту конструкцию в tpl.msProducts.row и будет мне счастье?
именно… можно создать тестовый сайт на modhost.pro/ и там экспериментировать.
Спасибо! теперь проект стал казаться менее проблемным)))
Я собственно так обычно и делаю, пока планирую какие компоненты будут нужны и какой соответственно бюджет расходов на платные компоненты, поэтому здесь и беспокою.
Этим компонентом пока не пользовался, поэтому вопрос и возник, т.к. предположил что данный компонент такое может уметь делать.
Спасибо за подробный ответ! Как только согласуем ТЗ — в магазин за компонентом)
Этим компонентом пока не пользовался, поэтому вопрос и возник, т.к. предположил что данный компонент такое может уметь делать.
Спасибо за подробный ответ! Как только согласуем ТЗ — в магазин за компонентом)
Здравствуйте! С помощью вашего дополнения хочу реализовать подобный конфигуратор товара www.adidas.ru/mi-superstar-rt/4001936_M.html?cm_sp=MIADIDAS_CLP_MIADIDAS_HOME-_-MI_SUPERSTAR_RT-_-CTA_MI_SUPERSTAR_RT
Скажите, есть ли возможность выводить отдельный набор изображений для каждой модификации? То есть не одно изображение на модификацию, а несколько (галерея модификации). Если нет, планируется ли добавить такой функционал? А если не планируете, можете ли рассмотреть возможность добавления такого функционала индивидуально?
Спасибо
Скажите, есть ли возможность выводить отдельный набор изображений для каждой модификации? То есть не одно изображение на модификацию, а несколько (галерея модификации). Если нет, планируется ли добавить такой функционал? А если не планируете, можете ли рассмотреть возможность добавления такого функционала индивидуально?
Спасибо
Здравствуйте! Используя данное дополнение на цветочном сайте столкнулся со следующей проблемой. Создал необходимые модификации, а точнее размер и упаковка
[[!msOptions? &tpl=`tpl.bouquet-size`&options=`bouquet-size`]]
, [[!msOptions? &tpl=`tpl.product-option`&options=`package`]]
и [[!msOptions? &tpl=`tpl.product-option` &options=`kraft`]]
. Все работает великолепно но загвоздка, в том, что когда выбираем штучный товар скажем «Роза .....» и упаковку для неё, то price меняется с учетом модификации ( и это правильно) но если нам нужна не одна, а скажем пять «Роза .....» то при изменении count, цена за каждый товар будет прибавляться с учетом модификации. Следовательно вопрос такой, как сделать чтобы цена с модификацией (упаковка), прибавлялась только один раз к данному товару (count = 1), а если этого товара нам нужно больше одного (count > 1), то цена добавляется без учета цены за эту модификацию(упаковка)? Подскажите пожалуйста решение или место где копать.
Добрый день.
Возможно в данном случае с упаковкой нужно использовать чтото другое для модификации цены.
Напишите в ТП с указанием доступов к админке сайт и ссылкой на тестируемый товар. Посмотрю что можно сделать.
Спасибо!
Возможно в данном случае с упаковкой нужно использовать чтото другое для модификации цены.
Напишите в ТП с указанием доступов к админке сайт и ссылкой на тестируемый товар. Посмотрю что можно сделать.
Спасибо!
Добрый день! Возможно ли как-то отсортировать вывод опций в другом порядке?
Уже не актуально, нашел что искал…
&sortOptions=`size:SORT_ASC:SORT_NUMERIC`
да, с помощью msOptionsPrice.option можно сортировать опции.
Если вас это устраивает то отлично.
Если вас это устраивает то отлично.
А можно как-нибудь сортировать в том же порядке, что и в настройках карточки?
Ситуация следующая: у товара есть размеры XXS, XS, S, M, L, XL, XXL, XXXL.
При вызове msOptionsPrice.option все размеры сортируются только в алфавитном порядке, то есть: M, L, S, XS, XL, XXS, XXL, XXXL.
Параметр size:SORT_DESC меняет только направление, а size:SORT_ASC:SORT_NUMERIC, естественно, ничего вообще не меняет, т.к. тут буквенные размеры.
Как сделать, чтобы выводился порядок XXS, XS, S, M, L, XL, XXL, XXXL?
Ситуация следующая: у товара есть размеры XXS, XS, S, M, L, XL, XXL, XXXL.
При вызове msOptionsPrice.option все размеры сортируются только в алфавитном порядке, то есть: M, L, S, XS, XL, XXS, XXL, XXXL.
Параметр size:SORT_DESC меняет только направление, а size:SORT_ASC:SORT_NUMERIC, естественно, ничего вообще не меняет, т.к. тут буквенные размеры.
Как сделать, чтобы выводился порядок XXS, XS, S, M, L, XL, XXL, XXXL?
Добрый день.
Вы определитесь, что вы хотите сортировать? На скрине модификации, ниже текст про опции…
Вы определитесь, что вы хотите сортировать? На скрине модификации, ниже текст про опции…
Как сделать, чтобы выводился порядок XXS, XS, S, M, L, XL, XXL, XXXL?Если речь о выводе опций, попробуйте вывести опции с помощью родного сниппета msOptions
подскажите как настроить модификации с опциями товаров? или это не работает?
пример:
выбор размера, влияет на цену и вес — это как у вас в примерах, всё отлично работает.
есть у меня ещё опции товаров, ключ p6 — Список с автодополнением, там разные значения так скажем.
а как сделать что бы они менялись при выборе размера, в модификации добавил
пробовал и так
пример:
выбор размера, влияет на цену и вес — это как у вас в примерах, всё отлично работает.
есть у меня ещё опции товаров, ключ p6 — Список с автодополнением, там разные значения так скажем.
а как сделать что бы они менялись при выборе размера, в модификации добавил
пробовал и так
[[!msOptions? &tpl=`tpl.product-option` &options=`p6`]]
и так<span class='msoptionsprice-p6 msoptionsprice-[[*id]]'>[[+p6]]</span>
а как сделать что бы они менялись при выборе размера— оформить как опции товара и тогда они будут меняться
— написать js на событие msoptionsprice_product_action и сделать смену
подробности и вопросы задавайте в ТП, спасибо!
Здравствуйте, подскажите пожалуйста как можно реализовать такую возможность, чтобы цена при модификации у определенных товаров прибавлялась один раз независимо от количества этого товара. Я так понимаю копаться надо в msoptionsprice.class.php и реализовать некий массив
$cat = array();
$in_cat = false;
$parents = $modx->getParentIds($id);
foreach($parents as $row) {
if(in_array($row, $cat)) {
$in_cat = true;
break;
}
}
if(!$in_cat)
return;
после чего будем смотреть родителей и если есть совпадение будет отрабатывать модификация цены, которая не зависимо от количества данного товара сработает один раз и далее будет суммироваться цена без модификации (родная для одного товара). Извиняюсь если написал не очень, но смысл вроде передал.
Здравствуйте, подскажите пожалуйста как добавить стандартные поля(например производитель) и свои поля в модификации?
Я правильно понимаю что для своих полей надо просто добавить соответствующие дополнительные опции minishop2 и тогда они станут доступны в модификациях?
Я правильно понимаю что для своих полей надо просто добавить соответствующие дополнительные опции minishop2 и тогда они станут доступны в модификациях?
Здравствуйте! Очень не хватает галереи для каждой модификации, как, например тут www.wildberries.ru/catalog/2232073/detail.aspx?targetUrl=GP
Планируется ли такое улучшение?
Планируется ли такое улучшение?
Доброе утро.
Галерея модификации уже давно есть joxi.ru/l2Z3kMWtwqYKpA
Пропишите в настройку msoptionsprice_window_modification_tabs
Галерея модификации уже давно есть joxi.ru/l2Z3kMWtwqYKpA
Пропишите в настройку msoptionsprice_window_modification_tabs
modification,gallery
Возможно, вы меня не правильно поняли. Я имел ввиду, чтобы например при выборе цвета «белый» не просто фото в галерее переключалось на фото модификации, но чтобы выводились только те фото, которые указаны в галерее данной модификации, а остальные фото не отображались.
чтобы выводились только те фото, которые указаны в галерее данной модификации, а остальные фото не отображались.
Для этого можно написать немного кода, например
Для этого можно написать немного кода, например
$(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
Спасибо огромное!
Сниппет [[!msOptionsPrice.modification?]] как я понял, работает только для ресурсов типа «товар». Есть потребность выводить на странице категории товара не только товары, но и их модификации. Скажите, пожалуйста, предусмотрена ли такая возможность
Володя, при создании опции она автоматически появляются на вкладке «Цвет». Чтобы там появились паттерны, нужно обновить каждую опцию. А можно ли как-то обновить все опции товара/товаров?
Здравствуйте!
Подскажите, пожалуйста, как можно реализовать условие: если значения опций разные, то добавить в корзину два товара с разными параметрами, иначе один.
Например, у меня есть товар линз, если характеристики правого и левого глаза разные, то нужно добавить два товара один для левого, другой для правого.
Подскажите, пожалуйста, как можно реализовать условие: если значения опций разные, то добавить в корзину два товара с разными параметрами, иначе один.
Например, у меня есть товар линз, если характеристики правого и левого глаза разные, то нужно добавить два товара один для левого, другой для правого.
Добрый день.
Не думаю что данную задачу нужно решать с помощью данного компонента.
Вам стоит на странице товара — линза выводить две формы продукта и кнопку по которой вызывать сабмит у этих форм. В корзине будет то что в итоге пользвоатель выбрал.
пример
Не думаю что данную задачу нужно решать с помощью данного компонента.
Вам стоит на странице товара — линза выводить две формы продукта и кнопку по которой вызывать сабмит у этих форм. В корзине будет то что в итоге пользвоатель выбрал.
пример
<!-- форма 1 -->
<form class="form-horizontal ms2_form col-md-4" method="post" data-group="product">
<input type="hidden" name="id" value="[[*id]]"/>
<input type="submit" name="ms2_action" value="cart/add" style="display:none"/>
[[msOptions?options=`color,size`]]
</form>
<!-- форма 2 -->
<form class="form-horizontal ms2_form col-md-4" method="post" data-group="product">
<input type="hidden" name="id" value="[[*id]]"/>
<input type="submit" name="ms2_action" value="cart/add" style="display:none"/>
[[msOptions?options=`color,size`]]
</form>
<button class="btn btn-default" onclick="product_submit()">
<i class="glyphicon glyphicon-barcode"></i> [[%ms2_frontend_add_to_cart]]
</button>
<script>
function product_submit() {
$(miniShop2.form).filter('[data-group="product"]').submit();
};
</script>
Здравствуйте!
Добавляю в корзину модификацию. Модификация добавляется с ценой основного товара, а не модификации. В чем может быть причина?
Тест s15298.h10.modhost.pro/index.php?id=3
Корзина s15298.h10.modhost.pro/index.php?id=6
Добавляю в корзину модификацию. Модификация добавляется с ценой основного товара, а не модификации. В чем может быть причина?
Тест s15298.h10.modhost.pro/index.php?id=3
Корзина s15298.h10.modhost.pro/index.php?id=6
Добрый вечер.
По вопросам работы платных компонентов следует писать в ТП.
Приложите доступы к админке сайта, посмотрю в чем дело.
Спасибо!
По вопросам работы платных компонентов следует писать в ТП.
Приложите доступы к админке сайта, посмотрю в чем дело.
Спасибо!
Я его еще не купил, хотел потестировать на тестовом сайте для начала.
s15298.h10.modhost.pro/manager/
s15298
IjlV2lwWTRX2
s15298.h10.modhost.pro/manager/
s15298
IjlV2lwWTRX2
Добрый день! Я ваш компонент может так как на картинке
Владимир, здравствуйте!
Подскажите пожалуйста, как программно добавить модификацию товара в корзину. ТП не могу писать, прошел год с момента покупки.
Заранее спасибо.
Подскажите пожалуйста, как программно добавить модификацию товара в корзину. ТП не могу писать, прошел год с момента покупки.
Заранее спасибо.
Не знаю, как это расценивать, баг или недочет. Вообщем ситуация следущая. Есть товар, у этого товара цена зависит от цвета и от типа покрытия.
У этого товара нет в некоторых цветах других покрытий и выводится цена карточки товара.
Пример:
krovlya-yuga.ru/products/keram_cherepica/czelnaya-cherepicza-creaton-seriya-ratio-hongeda/
черный цвет, покрытие глазурь — такой товар есть, а вот цвет черный, покрытие — натуральное — такого товара нет и выводится цена карточки товара. Кто сталкивался с таким?
У этого товара нет в некоторых цветах других покрытий и выводится цена карточки товара.
Пример:
krovlya-yuga.ru/products/keram_cherepica/czelnaya-cherepicza-creaton-seriya-ratio-hongeda/
черный цвет, покрытие глазурь — такой товар есть, а вот цвет черный, покрытие — натуральное — такого товара нет и выводится цена карточки товара. Кто сталкивался с таким?
Здравствуйте, интересует способен ли ваш плагин осуществлять следующее:
Сценарий использования такой:
Интернет магазин. продает краски. Есть банка с краской, это один товар, у товара следующие опции:
Объем — 18 литров, 180 литров.
Цвета — Белый, черный, красный, синий.
Вопрос:
Может ли ваш плагин рассчитывать итоговую цену позиции сразу по двум опциям: объему и по цвету?
Например:
18 литров (100 руб) + синей цвет (50 руб) = 150 руб за позицию
180 литров (1000 руб) + красный цвет (100 руб) = 1100 руб за позицию
180 литров (1000 руб) + синий цвет (50 руб) = 1050 руб за позицию
Еще вопросы:
1. Как можно вывести цену выбранной комбинации на странице товара рядом с кнопкой «В корзину»?
2. В MiniShop2 заказы правильно сохранятся для распечатки заказа менеджерам?
Спасибо.
Сценарий использования такой:
Интернет магазин. продает краски. Есть банка с краской, это один товар, у товара следующие опции:
Объем — 18 литров, 180 литров.
Цвета — Белый, черный, красный, синий.
Вопрос:
Может ли ваш плагин рассчитывать итоговую цену позиции сразу по двум опциям: объему и по цвету?
Например:
18 литров (100 руб) + синей цвет (50 руб) = 150 руб за позицию
180 литров (1000 руб) + красный цвет (100 руб) = 1100 руб за позицию
180 литров (1000 руб) + синий цвет (50 руб) = 1050 руб за позицию
Еще вопросы:
1. Как можно вывести цену выбранной комбинации на странице товара рядом с кнопкой «В корзину»?
2. В MiniShop2 заказы правильно сохранятся для распечатки заказа менеджерам?
Спасибо.
Как сделать связь модификации с изображением товара но не на слайдере фоторама, а на slick slider, я понимаю что нужно скрипты менять, вероятнее всего в файле «msoptionsprice/js/web/default.js» но что именно, мне не понятно, и вообще, возможно ли это?
в стандартном варианте с слайдером фоторама всё работает
в стандартном варианте с слайдером фоторама всё работает
Добрый день. Подскажите, получилось у вас решить задачу со slick slider?
Можно ли сделать чтобы у каждой опции был свой уникальный url с заголовком?
seoFilter
Купил компонент, установил.
В товаре не появилась вкладка «Модификации».
Что за дела?
В товаре не появилась вкладка «Модификации».
Что за дела?
Добрый день.
modstore.pro/packages/ecommerce/msoptionsprice2
Спасибо!
modstore.pro/packages/ecommerce/msoptionsprice2
На странице продукта доступна одноименная вкладка (настройка msoptionsprice_working_templates, в ней перечислить id необходимых шаблонов).по вопросам работы платных дополнений следует писать в ТП.
Спасибо!
Как через процессор удалить все модификации товара?
Как скрыть не активные опции или как им присвоить свой класс, что бы сделать не активными?
Как отображать количество товаров в наличии? Как вообще поля называется? remains?
Как отображать количество товаров в наличии? Как вообще поля называется? remains?
Добрый вечер.
По вопросам работы платных дополнений пишите пожалуйста в ТП.
Спасибо.
По вопросам работы платных дополнений пишите пожалуйста в ТП.
Спасибо.
К сожалению закончилась ( и документации нет на сей счет.
добрый день,
обнаружилась проблема со спецсимволами в опциях.
т.е. например, символ "/" не воспринимается в значении опций — «120/220».
ввести такой параметр можно и он буден виден, но если указана зависимость одного параметра от другого, то выбрать его с списке select невозможно, такой параметр неактивен.
пример — proekt316.ru/truba-sendvich-1000-mm
тут, опция «Диаметр» зависит от опции «Толщина».
возможно решить проблему?
обнаружилась проблема со спецсимволами в опциях.
т.е. например, символ "/" не воспринимается в значении опций — «120/220».
ввести такой параметр можно и он буден виден, но если указана зависимость одного параметра от другого, то выбрать его с списке select невозможно, такой параметр неактивен.
пример — proekt316.ru/truba-sendvich-1000-mm
тут, опция «Диаметр» зависит от опции «Толщина».
возможно решить проблему?
Добрый.
замените в чанке вывода опций
замените в чанке вывода опций
| json_encode: 256 | htmlentities
на | json_encode: 320 | htmlentities
спасибо, теперь, всё работает!
Собственно, вопрос — гуглил, не нашел.
Есть ли решения, как использовать в управлении сайтом msOptionsPrice2 для удобства, но иметь разные страницы для каждой модификации? Выгрузка в маркет требует отдельной страницы для каждого товара, а без бубна я решений не обнаружил.
Есть ли решения, как использовать в управлении сайтом msOptionsPrice2 для удобства, но иметь разные страницы для каждой модификации? Выгрузка в маркет требует отдельной страницы для каждого товара, а без бубна я решений не обнаружил.
Приветствую! Наблюдаю странное поведение старой цены.
Даже на вашем демо-сайте.
1. Идём сюда — s6200.h3.modhost.pro/katalog/tovar1.html
Выбираем айфон цвета — «Белый», размер памяти — 256
yadi.sk/i/iaUKW-L9izOPqQ
И кладём в корзину.
Переходим на страницу корзины и видим старую цену: 13 645.74 руб
Тут всё ок.
2. Снова идём на эту же страницу с товаром.
Но теперь кладём в корзину саму модификацию — yadi.sk/i/YQJIsBoduyia7A
Переходим в корзину и видим что старая цена у нас совершенно другая — yadi.sk/i/2fD84ME5EajDvg
По логике, это скорей всего старая цена которая указана в поле old_price самого Minishop2
Точно так же, ваш модуль ведет себя и на моём сайте.
Он не отправляет старую цену модификации в корзину.
В корзине всегда выводится old_price из поля минишопа. — yadi.sk/i/XYFbAXVVoqs5Pg
Даже на вашем демо-сайте.
1. Идём сюда — s6200.h3.modhost.pro/katalog/tovar1.html
Выбираем айфон цвета — «Белый», размер памяти — 256
yadi.sk/i/iaUKW-L9izOPqQ
И кладём в корзину.
Переходим на страницу корзины и видим старую цену: 13 645.74 руб
Тут всё ок.
2. Снова идём на эту же страницу с товаром.
Но теперь кладём в корзину саму модификацию — yadi.sk/i/YQJIsBoduyia7A
Переходим в корзину и видим что старая цена у нас совершенно другая — yadi.sk/i/2fD84ME5EajDvg
По логике, это скорей всего старая цена которая указана в поле old_price самого Minishop2
Точно так же, ваш модуль ведет себя и на моём сайте.
Он не отправляет старую цену модификации в корзину.
В корзине всегда выводится old_price из поля минишопа. — yadi.sk/i/XYFbAXVVoqs5Pg
Привет! У меня вопрос по отображению превью модификации товара в корзине, почему-то при выводе товаров через msCart $product.options.modification тут пусто, и модификация не отображается, с чем это может быть связанно?
не правильно определялась модификация, разобрался
А можете подсказать? У меня та же проблема…
Добрый день!
Есть ли возможность добавить кастомное поле в список модификаций, созданное через minishop2 Plugins?
Есть ли возможность добавить кастомное поле в список модификаций, созданное через minishop2 Plugins?
Здравствуйте, подскажите вы узнали как это сделать?
С чем может быть связано что вкладка появляется не во всех товарах?
В товаре без категории появляется, в других нет.
Вопрос снят. не все шаблоны указал в настройках.
В товаре без категории появляется, в других нет.
Вопрос снят. не все шаблоны указал в настройках.
Здравствуйте! Подскажите, пожалуйста, можно ли с помощью msOptionsPrice2 реализовать следующее.
Есть товар — диван. У него в качестве модификации есть выбор материала обивки под заказ (разный материал — разная наценка к базовой стоимости). На странице товара при клике на выпадающий список вариантов обивки надо, чтобы появлялись не просто текстовые значения (типа, красный, зеленый и т.д.), а изображения материала. Очень наглядно это представлено на сайте икеи (пример).
Можно ли средствами msOptionsPrice2 реализовать это?
И второй вопрос: можно ли сделать так, чтобы изображения для материала хранились и отображались отдельно от изображений самого товара?
Есть товар — диван. У него в качестве модификации есть выбор материала обивки под заказ (разный материал — разная наценка к базовой стоимости). На странице товара при клике на выпадающий список вариантов обивки надо, чтобы появлялись не просто текстовые значения (типа, красный, зеленый и т.д.), а изображения материала. Очень наглядно это представлено на сайте икеи (пример).
Можно ли средствами msOptionsPrice2 реализовать это?
И второй вопрос: можно ли сделать так, чтобы изображения для материала хранились и отображались отдельно от изображений самого товара?
Подскажите, как задать условие в mFilter2, чтобы вывести фильтр только с теми модификациями, у которых count>0?
Нужно в кастомном классе в двух местах нужно поправить условие, чтобы count был не больше 1, а больше 0.
prntscr.com/sco83t, а также установить public $showZeroCount в значние false
prntscr.com/sco83t, а также установить public $showZeroCount в значние false
Какие обязательные условия должны быть соблюдены чтобы вывести old_price в корзине?
Вывожу так
Вывожу так
{set $modification = []}
{if $product.options? and $product.options.modification?}
{set $modification = $_modx->runSnippet('!msOptionsPrice.modification',[
'product' => $product.id,
'includeThumbs' => 'small',
'where' => json_encode([
'msopModification.id' => $product.options.modification
]),
'return' => 'data',
'processOptions' => 1
])}
{set $modification = $modification[0]}
{/if}
{if $modification['old_price']?}
{set $product.old_price = $modification['old_price']}
{/if}
{$product.old_price}
Выводит 0
Добрый день. Подскажите, пожалуйста, пытаюсь создать модификации на основе 1 опции. Опция в виде выпадающего списка создана через minishop2. После создания модификаций, если 1 из опций не назначена товару в админке, все значения опций выводятся в 1 строку select>тег option через запятую, если назначена, то она выводится единственной опцией в одном select. Аналогичные модификации, созданные ранее на основе нескольких опций (1 из них size), работает верно. В чем может быть ошибка?
Не советую постоянные проблемы с ним, выходили ошибки вот такого характера вернул деньги.
Failed to load resource: the server responded with a status of 404 (Not Found)
modification.window.js?v=2.5.0-pl:27 Uncaught TypeError: msoptionsprice.config.window_modification_fields.indexOf is not a function
at S.(modification.window.js?v=2.5.0-pl:27)
at Object.each (ext-base.js:21)
at msoptionsprice.window.modification.(modification.window.js?v=2.5.0-pl:22)
at h.Event.fire (ext-all.js:21)
at msoptionsprice.window.modification.fireEvent (ext-all.js:21)
at msoptionsprice.window.modification.render (ext-all.js:21)
at msoptionsprice.window.modification.show (ext-all.js:21)
at msoptionsprice.grid.modification.fn (modification.grid.js?v=2.5.0-pl:649)
at MODx.Ajax._runCallback (modx.js?v=fb0b0b89:652)
at MODx.Ajax.success (modx.js?v=fb0b0b89:611)
extra.css:1
Ждать приходится долго ответа, товар не стоит 990р.
Failed to load resource: the server responded with a status of 404 (Not Found)
modification.window.js?v=2.5.0-pl:27 Uncaught TypeError: msoptionsprice.config.window_modification_fields.indexOf is not a function
at S.(modification.window.js?v=2.5.0-pl:27)
at Object.each (ext-base.js:21)
at msoptionsprice.window.modification.(modification.window.js?v=2.5.0-pl:22)
at h.Event.fire (ext-all.js:21)
at msoptionsprice.window.modification.fireEvent (ext-all.js:21)
at msoptionsprice.window.modification.render (ext-all.js:21)
at msoptionsprice.window.modification.show (ext-all.js:21)
at msoptionsprice.grid.modification.fn (modification.grid.js?v=2.5.0-pl:649)
at MODx.Ajax._runCallback (modx.js?v=fb0b0b89:652)
at MODx.Ajax.success (modx.js?v=fb0b0b89:611)
extra.css:1
Ждать приходится долго ответа, товар не стоит 990р.
видимо вы в настройку window_modification_fields добавили спецсимвол
не кто не что не добавлял, просто у вас дополнение работает коряво, жду денег наконец-то потратил уйма времени и пустую.
ок
советую с начало дорабатывать дополнение, а потом уже размещать.
Документацию нормально напишите как msExtraFields, у многих вопросы.
А решений дождаться не реально всё через js у вас решается.
Документацию нормально напишите как msExtraFields, у многих вопросы.
А решений дождаться не реально всё через js у вас решается.
не добавляет параметры и не возможно изменить.
Очень негативно теперь отношусь к вашей продукции.
Очень негативно теперь отношусь к вашей продукции.
Спасибо за ваше мнение.
Уже по ответу видно, что вам лишь деньги интересны.
А то что продукт не качественный всё равно вам.
А то что продукт не качественный всё равно вам.
Как меня бесят такие люди как Вы, которые заплатят копейки и считают что им по гроб жизни теперь все должны. Не нравится — забирай оплату и пиши своё решение. Отличное дополнение за свои деньги, да кое-что приходится дорабатывать, но это уже нюансы для конкретных областей применения. Всё предусмотреть невозможно.
как сделать вот такую штуку?
Чтоб цена отображалась модификации как на етом сайте www.zlatamebel.ua/ua/product/antonio-ug
и самое главное что цена вводится в доларах а отображається в гривне. СПАСИБО
Чтоб цена отображалась модификации как на етом сайте www.zlatamebel.ua/ua/product/antonio-ug
и самое главное что цена вводится в доларах а отображається в гривне. СПАСИБО
как вивести цену модификации в msOptionprice2
На Вашей демо версии скачет цена при рендеринге страницы. s6200.h3.modhost.pro/katalog/tovar1.html
Здесь видно, что сначала выводится 30 256р, а после заменяется на 10 064р.
Возможно ли как-то исправить этот баг?
Здесь видно, что сначала выводится 30 256р, а после заменяется на 10 064р.
Возможно ли как-то исправить этот баг?
А как можно вывести(перехватить) остаток или может кто то реализовал при остатке 0 надпись «Под заказ», а если больше 0 то надпись «В наличии»
$(document).on('msoptionsprice_product_action', function (e, action, form, response) {
var mid = $('input[name="curmid"]').val();
//console.log(response);
if(response.data.modification.count == 0){
$('.modprice-' + response.data.modification.rid).each(function(){$(this).css('display', 'none')}); //показываем НЕТ В НАЛИЧИИ
$('.modpricenone-' + response.data.modification.rid).each(function(){$(this).css('display', 'inline')}); //показываем В НАЛИЧИИ
$('.jsAddToCart').prop('disabled', true);
}else{
//тут наоборот
$('.modprice-' + response.data.modification.rid).each(function(){$(this).css('display', 'inline')});
$('.modpricenone-' + response.data.modification.rid).each(function(){$(this).css('display', 'none')});
$('.jsAddToCart').prop('disabled', false);
}
});
Писать тут assets/components/msoptionsprice/js/web/default.js но лучше сделать копию, поменять путь в настройках, и в копии писать.
Спасибо огромное за совет.
Поставил minishop2 и потом mOptionsPrice2, открыл товар на редактирование, перешёл на вкладку Модификации, нажал на кнопку Создать хотел выбрать опцию material, которую предварительно создал, но её нет в списке доступных опций. В логе вот это
Вопрос к @Володя почему так?
[2020-11-29 20:22:45] (ERROR @ core/components/msoptionsprice/processors/mgr/misc/option/getkeys.class.php : 171) PHP warning: Invalid argument supplied for foreach()
[2020-11-29 20:22:48] (ERROR @ core/components/msoptionsprice/processors/mgr/option/getlist.class.php : 190) PHP warning: Invalid argument supplied for foreach()
Вопрос к @Володя почему так?
Здравствуйте, вы решили почему выдает данные ошибки? У меня такая же ситуация после переноса сайта.
Решил. Проверьте чтобы в настройках БД было так sql_mode=only_full_group_by.
Смотрите у меня vps на reg.ru это тут ibb.co/GkBRmTg смотреть?
Для начала можно в Гугле посмотреть о чём вообще речь. Через консоль в админке попробовать сменить, а если не получится тогда к хостеру за советом. Мне данный алгоритм всегда помогает;-)
Спасибо решил вопрос через тех. поддержку спасибо за совет!
У меня такая же проблема, а подскажите пожалуйста, как решили? Просто тех поддержка молчит (((
как Вам помогли? мне на reg.ru ответили «Изменить sql_mode глобально не возможно»(
Подскажите, это значит можно добавлять модификацию используя свои опции, созданные через TV? или нужно как-то еще?
В minishop2 можно создавать свои опции, TV к ним никакого отношения не имеют.
нашел, спасибо
Подскажите, как можно все-таки вывести модификации на странице каталога?
в данном варианте кода ругается на "+"
{'!pdoPage'|snippet: [
'element' => 'msProducts',
'tpl' => "@INLINE
{'!msOptionsPrice.modification'|snippet: [
'product' => {{+id}},
]}
"
]}
в данном варианте кода ругается на "+"
{'!pdoPage'|snippet: [
'element' => 'msProducts',
'tpl' => "@INLINE
{'!msOptionsPrice.modification'|snippet: [
'product' => {{+id}},
]}
"
]}
Конечно ругается, это не синтаксис fenom. Там должно быть $id без фигурных скобок.
данный вариант тут в комментах сам Владимир и писал, $id — так я тоже пробовал, но почему-то выводит не 2 модификации которые есть, а повторяет их 20 раз.
И так вызывать сниппет я бы не стал, как-то очень громоздко выходит, там же ещё шаблон будет.
Здравствуйте, скажите пожалуйста, в чем может быть причина?
Инициализация прописана, классы для смены значения прописаны.
В консоли ошибок нет, в «Журнале ошибок» в MODX тоже ошибок нет, при переключении не обновляется значения
Инициализация прописана, классы для смены значения прописаны.
В консоли ошибок нет, в «Журнале ошибок» в MODX тоже ошибок нет, при переключении не обновляется значения
UPD.
Прошу прощения, упустил параметр
Прошу прощения, упустил параметр
форма продукта — msoptionsprice-product
прописал его, все отлично работает.
В письме менеджеру приходят данные о заказе и соответственно характеристиках товара. За это отвечает чанк tpl.msEmail. В нем вывожу артикул. Артикул: {$product.article}. Но на почту приходит артикул не модификации. А тот артикул который указан в свойствах товара по умолчанию! Как это можно исправить?
Добрый день! Возможно ли в данному модуле реализовать данный функционал, без особых проблем?
prnt.sc/10utdxr
prnt.sc/10utdxr
Здравствуйте, может кто сталкивался, есть созданные поля через msFieldsManager, часть полей через при создании модификации можно найти (поле Ключ) и добавляется, а часть полей по какой то причине не видит msOptionsPrice2
В чем может быть проблема?
В чем может быть проблема?
Здравствуйте. Пытаюсь сделать выбор опций товара в ajax окне. Почти всё получилось, за исключением одного: при загрузке окна, отображаются все варианты (т.е. в том числе не существующие модификации). При выборе какой-либо опции, несуществующие варианты скрываются и все ок… В обычной карточке товара, все изначально ОК. В js, к сожалению, не силен.
не знаю, может не правильно сделал, но вроде заработало — Дописал (продублировал из default.js) в самом ajax окне скрипт:
<script>
$(document).ready(function(){
msOptionsPrice.Product.processOptions(this);
});
</script>
И возникла еще одна проблема с ajax окном совместная работа msOptionsPrice и msAddLinked: msAddLinked у меня изначально не захотел работать в аяксе, поэтому я скопировал функцию msal.calculatePrice к себе в скрипты и вызываю ее уже оттуда… Заработало, но когда переключаю модификации в msOptionsPrice, цена переключается на саму цену модификации и не учитывает стоимость дополнительных товаров (причем чаще всего так получается, но иногда и нормально).
Уже как-то всплывал этот вопрос, но он остался без ответа — Работает ли компонент, с полями добавленными через плагины miniShop2? Попробовал самописное поле добавить через плагин, не видно в модификациях, попробовал через компонент msFieldsManager, он по сути делает то же самое, но всё равно не видно этих полей в модификациях. Может я что-то делаю не так или всё таки плагины ms2 не работают в компоненте?
Подскажите пожалуйста как выполнить сортировку у msOptionsPrice.modification по опции size?
Здравствуйте, как сделать так чтобы опции в которых остаток 0 скрывались
Здравствуйте, а так и должно быть? Видео
Здравствуйте!
Ребята, помогите пожалуйста.
вызываю [[!msOptionsPrice.modification]] для вывода существующих опций товара
zolotayacherepaha.ru/china/5/trexetazhnyij-pastyirskij-mednyij-splav-remen-buddyi-visit-dver-ukrasheniya-dvernoj-magazin-s-dvernyim-zvonkom-turistskie-zhivopisnyie-metallicheskie-kolokolchiki-ukrasheniya-alibaba.html
но вместо картинок опций выводится заглушка
Писал автору, но видимо у него нету времени, совсем.
мне кажется, причина в этом чанке
tpl.msOptionsPrice.modification
Ребята, помогите пожалуйста.
вызываю [[!msOptionsPrice.modification]] для вывода существующих опций товара
zolotayacherepaha.ru/china/5/trexetazhnyij-pastyirskij-mednyij-splav-remen-buddyi-visit-dver-ukrasheniya-dvernoj-magazin-s-dvernyim-zvonkom-turistskie-zhivopisnyie-metallicheskie-kolokolchiki-ukrasheniya-alibaba.html
но вместо картинок опций выводится заглушка
Писал автору, но видимо у него нету времени, совсем.
мне кажется, причина в этом чанке
tpl.msOptionsPrice.modification
{if $_pls['small']?}
<img src="{$small}" alt="{$product_pagetitle}" title="{$product_pagetitle}"/>
{else}
<img src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
alt="{$product_pagetitle}" title="{$product_pagetitle}"/>
{/if}
Здравствуйте. У вас получилось решить эту проблему? Столкнулся с тем же(
Здравствуйте, на сайте цены забиты в USD, конвертируются в Руб.
При обновлении курса необходимо пересчитать цену для каждой модификации, цена автоматом не пересчитывается.
Сейчас приходится проваливаться в каждый товар -> выбирать все модификации -> нажимать «Включить»
— тогда происходит обновление модификаций и цен в рублях.
Возможно есть какой то способ через консоль обновить все модификации? или настроить чтобы пересчитывалась цена в рублях для всех модификаций при обновлении курса автоматически.
PS: Обновление курса через модуль msMultiCurrency, CurrencyRate, курс обновляется через крон.
При обновлении курса необходимо пересчитать цену для каждой модификации, цена автоматом не пересчитывается.
Сейчас приходится проваливаться в каждый товар -> выбирать все модификации -> нажимать «Включить»
— тогда происходит обновление модификаций и цен в рублях.
Возможно есть какой то способ через консоль обновить все модификации? или настроить чтобы пересчитывалась цена в рублях для всех модификаций при обновлении курса автоматически.
PS: Обновление курса через модуль msMultiCurrency, CurrencyRate, курс обновляется через крон.
не может добавить модификацию по опции. просто не добавляет. тут уже идеи закончились.
подскажите пожалуйста, может кто сталкивался такой проблемой?
при создании модификации (как на видео выше) в отчете выдает только эту запись:
[2022-04-19 18:04:23] (ERROR @ /home/site/public_html/core/components/msoptionsprice/processors/mgr/option/getlist.class.php: 190) PHP warning: Invalid argument supplied for foreach()
чтоб, было понятнее, запечатлел на видео проблему:
viraldoor.by/support/errore.mp4
подскажите пожалуйста, может кто сталкивался такой проблемой?
при создании модификации (как на видео выше) в отчете выдает только эту запись:
[2022-04-19 18:04:23] (ERROR @ /home/site/public_html/core/components/msoptionsprice/processors/mgr/option/getlist.class.php: 190) PHP warning: Invalid argument supplied for foreach()
чтоб, было понятнее, запечатлел на видео проблему:
viraldoor.by/support/errore.mp4
аналогичная проблема((( удалось решить?
msOptionsPrice2(msoptionsprice2-2.5.22-beta), я установил на MODX Revolution 2.8.3-pl.
Все работает отлично, кроме expander на Product modification tab, см. вложение.
Странная проблема на одном сайте. Если цена модификации типа "+ к цене", то он плюсует дважды. Т.е условно Товар — пицца, модификация Тесто тонкое с ценой "+ 100", то он прибавит 200.
Как подружить msOptionsPrice2 и babel? Что бы синхронизировать остатки товаров и свойства?
Подскажите пожалуйста! Как сделать чтобы msOptionsPrice не модицировал цена по умолчанию… Т.е после загрузки страницы не ставил цену и input type=«hidden» name=«options[color]» value=«Яркое блестящее серебро (HPB)»
, а модицировал только при выборе опции кликом… А то получается что первоначальная цена (цена товара дофолтовая) не доступна…
, а модицировал только при выборе опции кликом… А то получается что первоначальная цена (цена товара дофолтовая) не доступна…
Приветствую!
хотел бы узнать Володя @Володя больше не занимаетесь развитием/улучшением msOptionsPrice2?
вопросы такие:
— уход от jQuery
— по каждому товару из плитки запрос на сервер, лучше было бы один большой запрос
хотел бы узнать Володя @Володя больше не занимаетесь развитием/улучшением msOptionsPrice2?
вопросы такие:
— уход от jQuery
— по каждому товару из плитки запрос на сервер, лучше было бы один большой запрос
Он в последний раз на формуе был в 21 году. Вряд ли ответит
Да нет. Я захожу иногда, почитываю что тут происходит…
Доброе утро.
— джеквери чем неугодил?
— по плиткам это да актуально
Версия что сейчас в репозитории меня многим не устраивает и выпилить джеквери и переделать запрос по плиточкам по факту ничего кардинально не изменит.
— джеквери чем неугодил?
— по плиткам это да актуально
Версия что сейчас в репозитории меня многим не устраивает и выпилить джеквери и переделать запрос по плиточкам по факту ничего кардинально не изменит.
Оо здравствутйе! Я думал вы пропали совсем и даже сильно не надеялся на ответ)
Тенденция такая сейчас, что все компоненты переходят на чистый js. Меня тоже сподвигло перейти на чистый js, около полугода пишу. В начале было не очень) Ну и помимо тендеции это лишняя подключаемая библиотека, например у меня на сайте нигде нет jQuery и тут его придется подключить.
мне примерно через месяц понадобится msOptionsPrice2, и не хотелось бы попасть в ситуацию когда купил msOptionsPrice2 и на след день вышла msOptionsPrice3.
И в целом для магазина три основных компонента, miniShop2, mSearch2, msOptionsPrice2. Если miniShop2 развивается нет нет, то последние два «отстают», извините меня за душноту опять же оба подключают jQuery.
Тенденция такая сейчас, что все компоненты переходят на чистый js. Меня тоже сподвигло перейти на чистый js, около полугода пишу. В начале было не очень) Ну и помимо тендеции это лишняя подключаемая библиотека, например у меня на сайте нигде нет jQuery и тут его придется подключить.
Версия что сейчас в репозитории меня многим не устраивает и выпилить джеквери и переделать запрос по плиточкам по факту ничего кардинально не изменит.Расскажите что не так и какие планы в целом?
мне примерно через месяц понадобится msOptionsPrice2, и не хотелось бы попасть в ситуацию когда купил msOptionsPrice2 и на след день вышла msOptionsPrice3.
И в целом для магазина три основных компонента, miniShop2, mSearch2, msOptionsPrice2. Если miniShop2 развивается нет нет, то последние два «отстают», извините меня за душноту опять же оба подключают jQuery.
В плагине на событие msopOnModificationBeforeSave не получается сравнить старые и новые значения, ибо в этот момент новые значения уже сохранились у модификации. Вроде событие должно срабатывать до сохранения и можно сравнить массив $_POST и значения модификации. Но они равны.
Проверяйте кодировку таблиц и сравнение БД, должно быть utf8_general_ci, utf8mb4_general_ci или utf8mb4_unicode_ci.
Также в файле core/config/config.inc.php должна быть выставлена нужная кодировка:
Также в файле core/config/config.inc.php должна быть выставлена нужная кодировка:
$database_connection_charset = 'utf8mb4';
$database_dsn = 'mysql:host=127.0.0.1;dbname=111;charset=utf8mb4';
Спасибо за наводку.
Проблема оказалась в кодировке столбцов таблицы msop_modifications, была указана latin1_swedish_ci.
Замена на utf8mb4_unicode_ci исправила ситуацию.
Проблема оказалась в кодировке столбцов таблицы msop_modifications, была указана latin1_swedish_ci.
Замена на utf8mb4_unicode_ci исправила ситуацию.
Приветствую! Подскажите, пожалуйста, возможно ли увеличить цену ко всем модификациям msOptionPrice2. У меня в каталоге матрасы различных размеров — модификации.
Пример:
Размер 80х190 см… 4500 руб
Размер 80х200 см… 4700 руб
Размер 90х190 см… 5900 руб
Размер 90х200 см… 6200 руб
и тд.
Есть два города. Возможно ли сделать так, чтобы при выборе города №2 ко всем ценам в модификациях добавлялась сумма, к примеру, +700 руб.?
Пример:
Размер 80х190 см… 4500 руб
Размер 80х200 см… 4700 руб
Размер 90х190 см… 5900 руб
Размер 90х200 см… 6200 руб
и тд.
Есть два города. Возможно ли сделать так, чтобы при выборе города №2 ко всем ценам в модификациях добавлялась сумма, к примеру, +700 руб.?
Доброго времени суток, есть проблема — не добавляются опции
https://ibb.co/tLMjFV5
https://ibb.co/5hqJBRx
https://ibb.co/pWwsQMZ
msOptionsPrice2 2.5.22-beta
Minishop2 3.0.7
https://ibb.co/tLMjFV5
https://ibb.co/5hqJBRx
https://ibb.co/pWwsQMZ
msOptionsPrice2 2.5.22-beta
Minishop2 3.0.7
Всем привет!
Как же все таки вывести msOptionsPrice2 — чекбоксами?
Точнее они то выводятся, но работают криво, как писали выше. считает по последнему и всегда как будто активный висит какой то.
Как вывести цену модификации?
Как же все таки вывести msOptionsPrice2 — чекбоксами?
Точнее они то выводятся, но работают криво, как писали выше. считает по последнему и всегда как будто активный висит какой то.
Как вывести цену модификации?
Добрый день, у нас перестало работать ваше дополнение, не меняется старая цена при переключение опций?
Наш сайт playplast.ru/products/teplica-agro-plyus.html
При переключение монтаж у нас не манятся старая цена, хотя условия сделаны.
Например выбираем ПОЛИКАРБОНАТ 4мм, 800гр + ДЛИНА 4 метра + МОНТАЖ да, должна старая цена манятся, но почему-то не меняется.
вот кусок кода который мы используем
Наш сайт playplast.ru/products/teplica-agro-plyus.html
При переключение монтаж у нас не манятся старая цена, хотя условия сделаны.
Например выбираем ПОЛИКАРБОНАТ 4мм, 800гр + ДЛИНА 4 метра + МОНТАЖ да, должна старая цена манятся, но почему-то не меняется.
вот кусок кода который мы используем
[[!msOptionsPrice.initialize?]]
<div class="twoColumns container pt-xl-23 pb-xl-20 pt-lg-20 pb-lg-20 py-md-16 py-10" id="msProduct">
<form class="form-horizontal ms2_form msoptionsprice-product" method="post">
<input type="hidden" name="id" value="[[*id]]">
<input type="hidden" name="count" value="1">
<input type="hidden" name="options" value="[]">
<div class="row mb-6">
<div class="col-12 col-lg-6 order-lg-1">
<!-- productSliderImage -->
<div class="productSliderImage mb-lg-0 mb-2 slick-initialized slick-slider">
<div class="slick-list draggable">
[[msGallery]]
</div>
</div>
</div>
<div class="col-12 col-lg-6 order-lg-3">
<!-- productTextHolder -->
<div class="productTextHolder overflow-hidden">
<h1 class="fwEbold mb-2">[[*pagetitle]]</h1>
<div class="mb-2">
[[*introtext]]
</div>
<div class="w-100 price_inne_war">
<b>Цена:</b>
<strong class="price d-inline-block mb-2"><strong class="msoptionsprice-cost msoptionsprice-[[*id]]">[[+price]] </strong> руб.</strong>
<strong class="old_price d-inline-block mb-2">[[+old_price:gt=0:then=<s class="msoptionsprice-old-cost msoptionsprice-[[*id]]">[[+old_price]]</s>]]руб.</strong>
</div>
[[!msOptions?
&options=color,polikarbonat,size,fundament,polusborka_torczov,montazh,doska,tolshhina,razmer,shirina,bak,monolitnyij_polikarbonat,sotovyij_polikarbonat,orgsteklo_tolshhinu,czvet
&tpl=tpl.msOptions-tovar
]]
<div class="mb-4">
<div class="row">
<span class="mb-2 mt-2">Способы оплаты:</span>
<img class="col-1" style="height: 100%; width: 12%;" src="assets/pablic_tema/img/icons/Mir.png">
<img class="col-1" style="height: 100%; width: 12%;" src="assets/pablic_tema/img/icons/Visa.png">
<img class="col-1" style="height: 100%; width: 12%;" src="assets/pablic_tema/img/icons/mastercard2.png">
<img class="col-1" style="height: 100%; width: 14%;" src="assets/pablic_tema/img/icons/Sber.png">
</div>
</div>
<div class="mb-2 mt-3">
<div class="center d-inline-block">
<div class="input-group le-quantity2">
<a class="minus" href="#reduce"><i class="fas fa-minus"></i></a>
<div class="le-quantity">
<input name="count" class="counter inp_price" type="text" value="1" />
</div>
<a class="plus" href="#add"><i class="fas fa-plus"></i></a>
</div>
</div>
<div class="d-inline-block ml-3">
<button type="submit" class="le-button huge" name="ms2_action" value="cart/add">Добавить в корзину</button>
</div>
</div>
[[$Social_Network]]
</div>
</div>
</div>
</form>
</div>
Помогите решить данную ситуацию
Старая цена меняется же recordit.co/rHbjjMczi6
В старую цену должно добавиться 6000р это выходит 21000 + 6000 = 27000 а она не изменяется
и да самое интересное что ПОЛИКАРБОНАТ и ДЛИНА при переключение меняется, а вот когда меняешь МОНТАЖ, то не меняется (
Старая цена остаётся та же, а новая меняется вот в чём загвозка, а должна ((
Старая цена остаётся та же, а новая меняется вот в чём загвозка, а должна ((
какой то баг и не можем понять в чём причина (
Добрый день! Хочу вывести выбор размера пицц в каталоге. Сами карточки вывожу так:
[[!msProducts?
&parents=`33`
&limit=`0`
&includeContent=`1`
&tpl=`msProductIndex`
&toPlaceholder=`catalog`
&includeThumbs=`250x250`
&includeTVs=`crop`
&innerJoin=`{«msCategory»: {«class»:«msCategory», «alias»:«msCategory», «on»:«msProduct.parent = msCategory.id»}}`
&sortby=`msCategory.menuindex ASC,msProduct.menuindex`
]]
При вызове [[!msOptionsPrice.initialize?]] в шаблоне каталога выводит /components/msoptionsprice/action.php 508 (Loop Detected)
В карточке товара, все работает отлично.
что делать хз(
[[!msProducts?
&parents=`33`
&limit=`0`
&includeContent=`1`
&tpl=`msProductIndex`
&toPlaceholder=`catalog`
&includeThumbs=`250x250`
&includeTVs=`crop`
&innerJoin=`{«msCategory»: {«class»:«msCategory», «alias»:«msCategory», «on»:«msProduct.parent = msCategory.id»}}`
&sortby=`msCategory.menuindex ASC,msProduct.menuindex`
]]
При вызове [[!msOptionsPrice.initialize?]] в шаблоне каталога выводит /components/msoptionsprice/action.php 508 (Loop Detected)
В карточке товара, все работает отлично.
что делать хз(
Добрый день. Написать в поддержку не пробовали?
Пробовал, год истек(((
может есть мысль какая?)
Добрый день.
Появилась ли полная документация по данному компоненту (msOptionPrice )?
Интересуют все события, и если есть события js и их описания.
Появилась ли полная документация по данному компоненту (msOptionPrice )?
Интересуют все события, и если есть события js и их описания.
Добрый день. Нет полная документация к сожалению не появилась. Если есть конкретный вопрос спрашивайте.
По событиям — оно только одно на получение аякс запроса от коннектора.
По событиям — оно только одно на получение аякс запроса от коннектора.
Ок. просто есть много modx событий у пакета но не ясно какие параметры передаются. Отсюда не понятно можно ли решить свою логику с помощью них.
Да у MODX много событий.
Причем тут MODX, если речь про пакет msOptionPrice2.
Если не хотите описывать события — так и скажите.
Если не хотите описывать события — так и скажите.
Алексей, ну я же вам прямо написал — задавайте конкретный вопрос.
И что документация к сожалению не появилась. Ну если она не появилась, то неужели сейчас вот появится? С учётом того что апгрейда не было несколько лет.
Я всегда рад помочь, но для этого мне нужно знать что вам конкретно необходимо.
И что документация к сожалению не появилась. Ну если она не появилась, то неужели сейчас вот появится? С учётом того что апгрейда не было несколько лет.
Я всегда рад помочь, но для этого мне нужно знать что вам конкретно необходимо.
Мне необходимо описание всех событий пакета msOptionPrice2. Хочется понимать на что я могу повлиять на что нет. Ибо зачем мне по каждому чиху писать вам в ТП или на сайте?
Добрый день.
[msopOnBeforeGetModification]
[rid] - integer
[iid] - integer
[options] - array
[excludeIds] - array
[excludeType] - array
[msopOnAfterGetModification]
[rid] - integer
[iid] - integer
[options] - array
[excludeIds] - array
[excludeType] - array
[modification] - object
[msopOnBeforeGetCost]
[rid] - integer
[price] - double
[modification] - array
[isAjax] - boolean
[msopOnAfterGetCost]
[rid] - integer
[cost] - double
[modification] - array
[isAjax] - boolean
[msopOnGetFullCost]
[product] - object
[rid] - integer
[cost] - double
[options] - array
[modifications] - array
[msopOnBeforeGetMass]
[rid] - integer
[weight] - double
[modification] - array
[isAjax] - boolean
[msopOnAfterGetMass]
[rid] - integer
[mass] - double
[modification] - array
[isAjax] - boolean
[msopOnGetFullMass]
[product] - object
[rid] - integer
[mass] - double
[options] - array
[modifications] - array
[msopOnModificationBeforeSave]
[mode] - string
[modification] - object
[cacheFlag] - NULL
[msopOnModificationSave]
[mode] - string
[modification] - object
[cacheFlag] - NULL
[msopOnModificationBeforeRemove]
[modification] - object
[ancestors] - array
[msopOnModificationRemove]
[modification] - object
[ancestors] - array
[msopOnGetModificationById]
[id] - integer
[rid] - integer
[found] - boolean
[options] - array
[modification] - object
[msopOnModificationNotFound]
[id] - integer
[rid] - integer
[found] - boolean
[options] - array
[modification] - object
[msopOnManagerPrepareObjectData]
[type] - string
[data] - array
[self] - object
Спасибо.
Пожалуйста, будут вопросы — обращайтесь.
Вот доп. вопрос созрел.
Суть такая, что на всем сайте есть скидка 10%. Необходимо на лету выставить некоторым модификациям эту скидку в цену и отобразить еще и старую цену (которая является текущей ценой без скидки).
т.е: Реально ли повлиять на цену old_price, да еще и выставить на фронте в модификацию любое свое поле, а потом чтобы в js его на событии поймать?
Суть такая, что на всем сайте есть скидка 10%. Необходимо на лету выставить некоторым модификациям эту скидку в цену и отобразить еще и старую цену (которая является текущей ценой без скидки).
т.е: Реально ли повлиять на цену old_price, да еще и выставить на фронте в модификацию любое свое поле, а потом чтобы в js его на событии поймать?
Можно попробовать на событие msopOnGetFullCost
<?php
switch ($modx->event->name) {
case 'msopOnGetFullCost':
$values = $modx->Event->returnedValues;
$values['cost'] = $cost - 10; // тут изменяем стоимость.
$modx->event->returnedValues = $values;
break;
}
Не, оно то возвращает цену но эта цена уходит потом в корзину, что мне не нужно. Мне чисто отображение.
А PR принимаете на новые возможности?
А PR принимаете на новые возможности?
Не, оно то возвращает цену но эта цена уходит потом в корзину, что мне не нужно. Мне чисто отображение.если вам чисто отображение то ловите запрос на js и меняйте что вам необходимо.
Если вы сформулируете точнее что вам надо — получите точнее ответ.
А PR принимаете на новые возможности?не вижу смысла, теперь только под MODX3.
Володя, подскажи пожалуйста на какое событие нужно создать скрипт, что бы при фильтрации через msearch2 выбиралась нужная опция. Сейчас работает только при повторном обновлении страницы в дефолтным классом. И почему у кастомного msopfilters.class.php нет выбора нужной опции при фильтрации. И почему то при добавлении зависимостей, очень медленно работает. Речь о фильтрации и выводе в каталоге.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.