[msOptionsPrice2] - Модификации продукта.

[msOptionsPrice2] — Новая версия с модификациями продукта. Кардинально отличается от предыдущей, просто обновиться не получится.

В целом компонент так же работает с опциями продукта, но теперь опции привязаны к модификации продукта. Так же модификации можно задать свой артикул, вес, кол-во и конечно стоимость. Доступны все опции продукта.



Заранее приношу свои извинения за невозможность апгрейда со старой версии.


Модификации продукта
На странице продукта доступна одноименная вкладка (настройка 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
Володя
03 сентября 2016, 10:18
modx.pro
11
35 324
+8
Поблагодарить автора Отправить деньги

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

Ilya Ev
05 сентября 2016, 15:07
+1
а картинку прикрепить к модификации есть возможность? Очень часто такое необходимо
    Володя
    05 сентября 2016, 16:23
    +1
    да, думаю можно сделать… будет время посмотрю.
      Ilya Ev
      05 сентября 2016, 17:04
      +1
      Было бы здорово, пойду куплю на вырост)
        Володя
        06 сентября 2016, 11:42
        +1
        добавил картинку модификации.



        рабочий пример тут s6200.h3.modhost.pro/index.php?id=136
          Евгений Webinmd
          06 сентября 2016, 14:34
          0
          А можно как-то сделать чтобы создание данных для модификаций было не обязательным, чтобы можно было указать только Картинка + цена ??
            Володя
            06 сентября 2016, 14:40
            0
            и по какому признаку тогда будут отличаться модификации? Сейчас это уникальные для каждой модификации опции…
          Евгений Webinmd
          07 сентября 2016, 11:52
          +1
          в мозиле на демке не работает и в консоль выдает ошибку на строку 120
          var formData = new FormData($(form)[0]);
          TypeError: Argument 1 of FormData.constructor does not implement interface HTMLFormElement.

          если эту строку заменить на ту что ниже, то вроде как работает, но не знаю уже как будет с несколькими формами на странице
          var formData = new FormData();
            Володя
            07 сентября 2016, 13:40
            0
            спасибо, попрввил.
    Евгений Webinmd
    05 сентября 2016, 17:30
    0
    картинка было бы здорово
      Виктор Долгий
      05 сентября 2016, 20:59
      0
      В списке товаров использовать можно? Или только старую модификацию?
        Володя
        05 сентября 2016, 23:39
        0
        да, можно.
          Виктор Долгий
          06 сентября 2016, 01:33
          0
          как?
            Володя
            06 сентября 2016, 09:10
            0
            аналогично странице продукта.
            Спрашивайте конкретнее что неясно.
              Виктор Долгий
              06 сентября 2016, 18:04
              0
              Есть список товаров, выводимый miniShop через mFilter, стандартно. Инициализирую до mFilter msOptionsPrice.initialize. В плитке товаров выставляю класс формы msoptionsprice-product, класс ценника msoptionsprice-cost msoptionsprice-[[+id]], в самом товаре создаю два цвета, каждому в «Модификациях» задаю цену (=) и выбираю цвет. И вот, плитка товаров, выбираю цвет, выводимый msOptions в товаре, и ничего не происходит)) Ни в логах браузера, ни в логах MODx ничего нет. Видно, что при выборе цвета в браузере в консоли, промаргивает поле с ценой, но она не меняется абсолютно. Где я не прав?
                Володя
                06 сентября 2016, 22:11
                0
                Я не говорю что ктото не прав, просто вы спрашиваете а деталей не сообщаете, вот оказывается там mFilter, естественно нужно как то обработать подгрузку товаров при смене фильтров.
                Сейчас посмотрю…
                  Виктор Долгий
                  06 сентября 2016, 22:21
                  +1
                  Всё, заработало. Я не особо лазил в код, но фишка оказалось в том, что в форме продукта в плитке с классами .ms2_form.msoptionsprice-product вызов сниппета [[!msOptions]] должен стоять после скрытого инпута с name=«options». Ну, в принципе логично, но иногда тупикуешь из-за таких мелочей. Вам спасибо, прикуплю еще на один сайт дополнение ;)
                    Володя
                    06 сентября 2016, 22:31
                    +1
                    после скрытого инпута с name=«options»
                    это да, иначе вы массив опций затираете.
                    Вам спасибо
                    Пожалуйста, ну благодаря вам теперь доработал совместимость с mFilter. Теперь все работает из коробки, также автоматом выставляет опции в зависимости от фильтра.
                    пример живет до завтра тут — s6514.h5.modhost.pro/index.php?id=4&msoption|color=%D1%81%D0%B8%D0%BD%D0%B8%D0%B9
                      Виктор Долгий
                      06 сентября 2016, 22:38
                      0
                      Вот это круто!) Еще раз спасибо!
                        Виктор Долгий
                        14 июня 2017, 16:20
                        0
                        Приветствую. Проясните ситуацию о выставлении опций, в зависимости от фильтров, не совсем понятно.
                          Володя
                          14 июня 2017, 18:29
                          0
                          Привет.
                          При условии что каталог продуктов выводится через mFilter, а в карточке товара присутствуют опции при смене опций в mFilter будут выставлены соответсвующие опции в карточке товара. Так же если подключен и скрипт msOptionsPrice2 будет изменена и стоимость продукта если такое модификации продукта существуют.
                            Виктор Долгий
                            14 июня 2017, 18:34
                            0
                            Как ни пробую, ничего не выходит со сменой. Все последней версии. Немного порылся, на этапе msOptionsPrice.Tools.setOptionValue, на последнем if затык в .js… jQuery 2.2.4
                            Володя
                            14 июня 2017, 18:39
                            0
                            скинь в ТП доступ к админке и ссылку на чанк и страницу вывода, посмотрю что и как.
                            Спасибо!
                            Виктор Долгий
                            14 июня 2017, 18:42
                            0
                            Пару минут.
                            Виктор Долгий
                            14 июня 2017, 18:48
                            0
                            Отправил в личку через ТП, через задать вопрос не могу, больше года покупке…
                            Виктор Долгий
                            15 июня 2017, 18:20
                            0
                            Вопрос решен! Спасибо!
                            Володя
                            15 июня 2017, 18:30
                            0
                            пожалуйста!
                            Виктор Долгий
                            14 июня 2017, 18:35
                            0
                            Есть тест где-то?
                            Володя
                            14 июня 2017, 18:38
                            0
                            нет
                Виктор Долгий
                06 сентября 2016, 22:06
                0
                На странице товара всё отлично работает.
          Евгений Webinmd
          07 сентября 2016, 12:32
          0
          Я понимаю что малость утомил, но есть небольшой вопрос. Этот плагин будет работать с другими плагинами влияющими на модификацию цены?
          я к тому, что я получаю в своём плагине цену так:
          $values = & $modx->event->returnedValues;
          и дальше уже работаю с
          $values['price']
          А вот у тебя в плагине как получает?
          можно ли будет сперва использовать один модификатор цены(твой плагин) и потом еще один поверх первого.
          У нас в проекте просто идет зависимость цены еще и от города. и надо чтобы бралась цена что в поле или та что в msOptionsPrice и потом еще умножалась на коофициент.
            Володя
            12 сентября 2016, 11:10
            0
            опции продукта
            Улучшена работа с опциями продукта. Нет необходимости как прежде сначала создавать опции, а затем переключаться на модификации. Доступно создание/ удаление опций продукта напрямую из модификации.
              Андрей
              21 сентября 2016, 17:15
              0
              Как добавить модификацию через процессор?

              У товара нет никаких модификаций.

              Пишу так, выводит ошибку о том что поле 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
                      (
                      )
              
              )
                Володя
                21 сентября 2016, 21:15
                0
                модификацию нельзя создать без опций. Ваш код верен, нужно только прежде создать опции.

                $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());
                }
                  Андрей
                  21 сентября 2016, 21:38
                  0
                  Что-то не работает, выдает ошибку

                  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));
                    Володя
                    21 сентября 2016, 21:53
                    0
                    TypeError: Argument 4 passed to msopModificationOption::saveOptions() must be of the type array, null given
                    ну он пишет что вместо массива вы передали null.
                    Либо у вас options пустой или возможно ошиблись с id продукта и опции не установились.
                      web3
                      15 сентября 2017, 08:38
                      1
                      0
                      Добрый день, попытался добавить опции товара по инструкции выше и что-то пошло не так. Создается модификация, но у нее нет свойств. Пытаюсь добавить еще одну вручную, а у нее уже есть 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
                              (
                              )
                      
                      )
                      Да вообще все сломалось и не получается создать модификацию)
                        Володя
                        15 сентября 2017, 09:20
                        0
                        вот тема по импорту, посмотрите и сделайте аналогично.
                          web3
                          15 сентября 2017, 09:36
                          1
                          0
                          Сделал аналогично, не сработало. И ничего не написало.
                          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));
                            Володя
                            15 сентября 2017, 09:56
                            0
                            давай ты сначала попробуешь сделать то что описано в статье сверху, проверишь работает ли оно, затем внесешь изменения согласно своим пожеланиям и если оно не будет работать самостоятельно выяснишь где что не так и тогда уже напишешь?
                            У меня нет ни желания ни времени погружаться в хитросплетения твоего кода…
                            Спасибо!
                Виктор Долгий
                29 сентября 2016, 16:25
                0
                А есть ли способ заставить меняться картинки с опциями в списке (плитке) товаров?
                  Володя
                  29 сентября 2016, 16:51
                  1
                  +1
                  дефолтный скрипт работает с галереей fotorama, если вы по аналогии добавите его на страницу категории, думаю все так же будет рабоотать.
                  Либо модифируйте скрипт под свой случай, в модификации указан идентификатор картинки.

                  ps. можно написать плагин на событие msopOnAfterGetModification и получить url изображения.
                    Виктор Долгий
                    29 сентября 2016, 17:02
                    0
                    Спасибо! Да, через плагин, думаю, быстрее будет.
                      Дмитрий
                      27 апреля 2022, 09:59
                      0
                      Здравствуйте, удалось сделать смену картинки в списке?
                  Юрий Татаркин
                  07 октября 2016, 17:16
                  0
                  Добрый день. Имеем 10 размеров и 2 варианта цвета.

                  Создаем модификации

                  1. Размер 6 цвет красный, размер 6 цвет синий. — все ок.
                  2. Размер 8 цвет красный. — Не создает, говорит, что картинку надо уникальную.

                  Я что то не так делаю или все же это лишняя проверка? Зачем 8 одинаковых фото для 8 размеров?

                    Володя
                    08 октября 2016, 15:30
                    0
                    Добрый день.
                    Картинка в модификации должна быть уникальна, иначе как по картинке потом определить модификацию?
                    Поясните что в модификации влияет на стоиомсть…
                    Возможно вам просто создать модификации под цвет без учета размера, а только по цвету…
                      Юрий Татаркин
                      09 октября 2016, 13:18
                      0
                      Сферический пример в вакууме:

                      Айфон память 64 — 128 — 256. Цвета белый, черный, со стразами. При прочих равных, телефон со стразами всегда дороже чем белый или черный. А черный дороже белого, но дешевле того что со стразами. Внешне телефоны с разным объемом памяти не отличаются. То есть фото 3, комбинаций 9. По 3 комбинации на каждое фото. Грузить в галерею 9 отдельных фото не имеет смысла.

                      у меня ситуация аналогична.
                        Володя
                        10 октября 2016, 09:37
                        0
                        может я чтото не так понял, но вот смотри попробовал сделать по твоему примеру
                        s6200.h3.modhost.pro/index.php?id=138
                          Юрий Татаркин
                          10 октября 2016, 10:58
                          0
                          Так получится одна и та же добавка к цене в зависимости от объема памяти.

                          А если черный с 64 памяти стоит 2100, черный с 128 стоит 2333 и черный 256 памяти стоит 2654

                          Белый: 64 — 2050, 128 — 1500, 256 — 1800

                          Такое уже не получится сделать.
                            Володя
                            10 октября 2016, 11:05
                            0
                            ну чтото же должно быть у продукта уникальное, вот к этому уникальному привяжите картинку, а дальше уже другими модификациями задавайте стоимость.
                            Например можно взять артикул, ведь он уникален? Создайте его, задайте для него картинку и дальше…
                              Юрий Татаркин
                              10 октября 2016, 11:07
                              0
                              То есть у модификации должно быть минимум одно поле уникальное? и при этом картинки можно не уникальные?
                                Володя
                                10 октября 2016, 11:09
                                0
                                нет, картинка уникальна для каждой модификации. Иначе не определить связь между ними.
                                  Володя
                                  10 октября 2016, 11:10
                                  0
                                  не, я муть предложил какую то. вам же надо картинку к цвету цеплять.
                                    Юрий Татаркин
                                    10 октября 2016, 11:11
                                    0
                                    Все это похоже на битриксовые оферы товара. Надо посмотреть как у них сделано.
                                      Володя
                                      10 октября 2016, 11:14
                                      0
                                      в целом можно сделать уникальность картинки настраиваемой. Но в случае когда картинка не уникальна не будет работать переключение опций по смене изображения в галерее, а будет переключаться картинка при смене опций.
                                        Володя
                                        10 октября 2016, 11:21
                                        +1
                                        Хотя я так подумал… щас посмотрю, может и получится сделать.
                              shzk
                              24 ноября 2016, 12:48
                              0
                              А можно чанк такого товара посмотреть?
                            Володя
                            10 октября 2016, 13:46
                            0
                            пробуй обновиться и создать модификации.
                            пример рабочий тут s6200.h3.modhost.pro/index.php?id=139
                              Александр
                              25 октября 2016, 15:38
                              0
                              теперь работает хорошо. но из за того, что фоторама не сразу подгружает все фотки слайдера (а только те, что входят) — не меняется фотография при изменении модификации.
                              не в курсе как лечится?
                                Володя
                                25 октября 2016, 17:27
                                1
                                0
                                попробуйте убрать превьюшки gist.github.com/vgrish/7da99c6d534cdfab18f1a0754a0d23bc
                                тогда фоторама сам будет генерить превью и возможно это сработает
                                  Александр
                                  25 октября 2016, 17:39
                                  0
                                  не помогло
                                  yadi.sk/i/HTKCeupsxbNWB
                                  различие фоток в слайдере. и соответственно при переключении модификации тега img еще нет
                                    Володя
                                    25 октября 2016, 17:41
                                    0
                                    напишите в ТП с указанием доступов к админ панели сайта, посмотрю как решить.
                                    Спасибо!
                                  Виктор
                                  20 февраля 2018, 23:02
                                  0
                                  Столкнулся тоже с такой проблемой. Решение помогло — спасибо!!!
                                  Только теперь еще вопрос возник:
                                  Если листать галерею, то автоматически переключаются цвета в опциях, но не подтягиваются связанные с ними размеры. Это как-то можно решить?
                        Виктор Долгий
                        08 октября 2016, 15:48
                        0
                        Спасибо за обновления) В последнем обновлении не работает поиск по ключу при добавлении опции в модификацию.
                        Кирилл
                        10 октября 2016, 08:21
                        0
                        Подскажите пожалуйста где можно скачать первую версию?
                          Володя
                          10 октября 2016, 09:17
                          0
                          активировал в репозитории, попробуйте установить.
                            Кирилл
                            10 октября 2016, 10:54
                            0
                            не появился take.ms/MT8pX. В качестве поставщика установил modstore.pro
                              Володя
                              10 октября 2016, 10:57
                              0
                              уточните насчет какой первой версии вы имели ввиду? насчет самой самой первой??? ее не будет. Я думал речь шла о пакете msOptionsPrice2 первой версии, ее я и активировал.
                                Кирилл
                                10 октября 2016, 11:06
                                0
                                Да речь о самой первой версии. Где-то было написано, что она стала бесплатной. Почему её не будет?
                                  Володя
                                  10 октября 2016, 11:12
                                  0
                                  она и была в репозитории пока работала. Сейчас она не работает с новой версией магазина, смысл ее держать? Потому и убрал.
                                    Кирилл
                                    11 октября 2016, 18:03
                                    0
                                    А какая минимальная версия магазина нужна (именно miniShop2, а не modx) для 2й версии?
                                      Володя
                                      11 октября 2016, 21:54
                                      0
                                      2.4.0
                                        Сергей Шлоков
                                        11 октября 2016, 21:57
                                        0
                                        Офтоп.
                                        Володь, у вас там сегодня ВВП гостил. Город причесали наверно.
                                          Володя
                                          11 октября 2016, 22:00
                                          0
                                          да ты че… Город такого марафета за последние 30 лет не видел.
                                          Дороги, спорт площадки как грибы после дождя, за несколько дней выросли.
                                            Сергей Шлоков
                                            11 октября 2016, 23:06
                                            0
                                            Всё, на ближайшие 30 лет забудьте, другим тоже нужны дороги и корты :)
                                        Кирилл
                                        13 октября 2016, 07:59
                                        0
                                        У меня 2.2.0 и обновиться очень проблематично т.к. мой предшественник вносил правки в исходный код. Может всё-таки дадите доступ к старой версии для таких «везунчиков» как я? Буду вам очень благодарен, могу купить за какую-то умеренную плату. Если конечно она будет работать на моей версии магазина.
                                          Володя
                                          13 октября 2016, 09:45
                                          0
                                          активировал в репозитории старую версию. Описание актуальное для старой версии тут modx.pro/components/4880-msoptionsprice2-different-prices-for-the-options-of-the-goods/
                                            Кирилл
                                            13 октября 2016, 17:46
                                            0
                                            Спасибо, но всё равно не вижу дополнение в репозиторие
                                            Володя
                                            13 октября 2016, 18:24
                                            0
                                            Возможно у вас не куплен пакет?
                                            Кирилл
                                            13 октября 2016, 18:27
                                            0
                                            В смысле мне нужно купить msOptionsPrice2 для того, чтобы получить доступ к msOptionsPrice?
                                            Володя
                                            13 октября 2016, 18:29
                                            0
                                            нет, речь изначальна шла про msOptionsPrice2, есть старая версия, есть новая что описана тут.
                                            Кирилл
                                            13 октября 2016, 18:32
                                            0
                                            msOptionsPrice2 может быть установлена на minishop2 версии 2.2.0?
                                            Володя
                                            13 октября 2016, 18:40
                                            0
                                            msOptionsPrice2 (1.1.4-beta) — работает на любом minishop2
                                            msOptionsPrice2 (2.0.0-beta) — работает на minishop2 > 2.4.0
                                            Кирилл
                                            13 октября 2016, 18:42
                                            0
                                            ок, спасибо. И после покупки я смогу выбрать любую из них, правильно?
                                            Володя
                                            13 октября 2016, 18:44
                                            0
                                            да, должны быть доступны обе версии.
                                            Но я бы советовал вам обновить магазин и не держаться за старое.
                        Александр Туниеков
                        12 октября 2016, 17:07
                        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
                        приходит пустое. То есть изменение цены от первого плагины не приходит.
                        Почему это происходит и как вылечить?
                          Володя
                          12 октября 2016, 17:10
                          +1
                          это не работает с версии php > 5.3
                          фикс можно вот такой сделать github.com/modxcms/revolution/pull/13116
                            Александр Туниеков
                            12 октября 2016, 18:04
                            0
                            Спасибо посмотрю. еще один вопрос можно?
                            Есть плагин который в корзине меняет цену в зависимости от кол-ва. (блин плагин выше валюту переводит. поторопился когда писал.)
                            <?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?
                              Володя
                              12 октября 2016, 21:06
                              0
                              расчет цены идет на событие msOnGetProductPrice достаточно вызвать метод
                              $product->getPrice(array('msoptionsprice_options' => $options));
                              где msoptionsprice_options опции продукта
                                Александр Туниеков
                                13 октября 2016, 22:16
                                0
                                Заработало. Я пытался править 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;
                                }
                              Александр Туниеков
                              12 октября 2016, 18:26
                              0
                              фикс можно вот такой сделать 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) все равно пустое :(
                                Володя
                                12 октября 2016, 18:41
                                -1
                                вы невнимательны…
                          Константин Ильин
                          22 октября 2016, 14:34
                          0
                          Володя, скажи пожалуйста смогу ли я такое реализовать при помощи msOptionsPrice2:
                          Есть Опция(общая) размеры 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 уже вбиты и можно было только выбирать)?
                            Володя
                            22 октября 2016, 18:13
                            +1
                            можно не создавать опции, не создавать модификации, а написать плагин на msopOnAfterGetModification
                            должен отдавать модификацию по опциям продукта.
                            Так вот в него поместить всю логику по вычислению стоимости модификации в зависисмости от ваших категорий и тд.
                            Отдаете объект модификация с нужной стоимостью и все. Должно работать.
                            Володя
                            22 октября 2016, 18:14
                            +1
                            Вопрос не к компоненту, лучше наверно использовать существующее поле size, но как там связать это все и чтоб были значения(т.е. размеры 10, 30, 50 уже вбиты и можно было только выбирать)?
                            Это наверно проще создать опцию как раньше с помощью плагина и в сторе комбика поместить те значения что вам нужны
                              Кирилл
                              23 октября 2016, 15:19
                              0
                              Кто-нибудь знает как отписаться от получения новых комментариев отсюда на почту?
                                Jurij
                                Jurij
                                26 октября 2016, 12:29
                                0
                                После установки дополнения не отображается список опций на карточке товара. Если обновить страницу, то появляется.
                                Разработчик приложения рекомендовал повысить версию php. Пробовал 5.4 и 7.0. Проблема осталась.

                                Пробовал удалять приложения (SeoPro, Summary, Collections и другие). Ничего не меняется.

                                Может кто сталкивался с данной проблемой и может поделиться решением. Не хочется полностью переделывать проект на shopkeepere из-за этой проблемы…

                                P.S. Установлена последняя версия minishop 2.4.4-pl и mSearch 1.6.4-pl
                                  Володя
                                  26 октября 2016, 12:40
                                  0
                                  После установки дополнения не отображается список опций на карточке товара. Если обновить страницу, то появляется
                                  не вводите людей в смуту, у вас опции выводятся стандартным сниппетом minishop и компонент тут не причем.

                                  Ольга
                                  02 ноября 2016, 11:46
                                  0
                                  Добрый день, подскажите, возможно ли у каждой модификации создавать свои цвета? Т.е. у меня товар — стул есть экокожа, есть ткань, есть натуральная кожа. И у каждой модификации есть не несколько видов своих цветов. Возможна ли такая реализация?
                                    Дмитрий
                                    04 декабря 2016, 20:54
                                    0
                                    добрый день!
                                    Купил msOptionsPrice2, возникли некоторые вопросы по работе:
                                    1. При смене опции меняется артикул и цена, все ок. Как можно передать в корзину артикул модификации? Цена передается, артикул нет.
                                    2. Если у товара нет модификации, артикул товара не отображается
                                    3. Возможно ли использовать radio вместо select в списке опции?
                                    miniShop2 2.4.6-pl1, пришлось обновить так как с 2.2 не работал
                                    msOptionsPrice2 2.1.20-beta
                                      Володя
                                      05 декабря 2016, 11:31
                                      0
                                      Добрый день.

                                      1. На данный момент никакого механизма по передаче артикула нет. Можно передавать артикул как опцию продукта.
                                      2. Поправил, обновитесь.
                                      3. Да, конечно. Пример чанка gist.github.com/vgrish/46de7e0c9eb453a4ccb77064b3b78916
                                        Дмитрий
                                        06 декабря 2016, 09:50
                                        0
                                        Спасибо за ответ.
                                        Возможно вопрос не к совсем к Вам, но может подскажете:
                                        Опции к товару добавляются через «Множественный выбор» в таком порядке joxi.ru/KAxbe4nF4WROKm от дешевого в дорогому, соответственно выбран самый дешевый, на при сохранении порядок меняется joxi.ru/zANa0gdclbKGy2. Получается что сортировка сама меняется. Можно ли как-то выводить нужную сортировку?
                                        >>>1. На данный момент никакого механизма по передаче артикула нет. Можно передавать артикул как опцию продукта.
                                        Жаль, один из факторов покупки данного компонента, что есть возможность передать уникальный артикул. По факту получается это просо js манипуляция на фронтенде карточки товара.
                                          Володя
                                          06 декабря 2016, 10:42
                                          0
                                          Опции к товару добавляются через «Множественный выбор» в таком порядке 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
                                          есть только опции, потому если вы передадите артикул как опцию он нигде не потеряется. Других вариантов я пока не вижу.
                                            Дмитрий
                                            08 декабря 2016, 12:09
                                            1
                                            0
                                            Спасибо за ответ.
                                            >>>попробуйте выставить настройку msoptionsprice_sort_modification_option_values в нет
                                            поставил работает, но после обновления до 2.1.22 beta перестало работать, значение в настройках стоит нет, проверил.
                                      Александр
                                      07 декабря 2016, 18:10
                                      0
                                      в ms2 есть параметр размер. можно ли как то сделать так, чтобы к этому параметру был привязан аналогичный другой параметр мощность. т.е. один размер — одна мощность. второй размер — соответствующая мощность?
                                      и во фронте при изменении модификации завязанной на размер автоматом обновлялся инпут ридонли мощности?

                                      если этот вопрос не связан с Вашим дополнением, можете направить куда рыть, чтобы направление было правильным? :)
                                        Володя
                                        07 декабря 2016, 21:44
                                        1
                                        0
                                        Если я вас правильно понял то можно попробовать так.
                                        Плагин на событие 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);
                                        				}
                                        			}
                                        	    }
                                        	}
                                        });
                                          Александр
                                          08 декабря 2016, 09:27
                                          0
                                          А где мы привязываем конкретный размер к конкретной мощности?
                                          Или это делается когда в модификацию добавляются ключи? т.е. надо внимательно следить за тем, чтобы на 1 размер 2 мощности не привязать?
                                            Володя
                                            08 декабря 2016, 10:00
                                            0
                                            Или это делается когда в модификацию добавляются ключи?
                                            да, все верно.
                                            т.е. надо внимательно следить за тем, чтобы на 1 размер 2 мощности не привязать?
                                            Да наверно нужно как то следить.
                                              Александр
                                              08 декабря 2016, 10:22
                                              0
                                              плагин modx, или ms2? что-то не совсем понял куда его.
                                                Володя
                                                08 декабря 2016, 10:46
                                                0
                                                плагин modx, или ms2? что-то не совсем понял куда его.
                                                плагин modx конечно на событие msopOnGetModificationById
                                                  Александр
                                                  08 декабря 2016, 12:24
                                                  0
                                                  но при создании плагина нет такого события… =(
                                                    Володя
                                                    08 декабря 2016, 14:45
                                                    0
                                                    скорее всего вам нужно обновить пакет до последней версии
                                                      Александр
                                                      08 декабря 2016, 15:33
                                                      0
                                                      да, действительно. обновил, все появилось. в итоге при изменении размера на странице товара мощность не меняется на привязанную.
                                                      при этом цена изменяется только в том случае, если вручную выставлена правильная модификация.
                                                      И можно ли как то избавится от вывода опций через снипет [[msOptions]] и заменить его на простой input?
                                                        Володя
                                                        08 декабря 2016, 15:50
                                                        0
                                                        либо смоделируйте ситуацию на тестовом сайте, либо скиньте доступ в ТП.
                                                        Не видя тяжело чтото советовать.

                                                        И можно ли как то избавится от вывода опций через снипет [[msOptions]] и заменить его на простой input?
                                                        можно а зачем?
                                        colmer
                                        05 февраля 2017, 21:59
                                        1
                                        0
                                        MODX 2.5.4. Поставил последний minishop2, накатил msOptionsPrice2. Создал товар, но новой вкладки не увидел. Необходимы еще какие то манипуляции? В гайде об этом ни слова.
                                          Володя
                                          05 февраля 2017, 22:19
                                          0
                                          Скорее всего
                                          На странице продукта доступна одноименная вкладка (настройка msoptionsprice_working_templates, в ней перечислить id необходимых шаблонов)
                                          Дмитрий
                                          06 февраля 2017, 13:29
                                          0
                                          Добрый день хочу приобрести Ваш плагин, совместим ли он с minishop2.2?
                                            Володя
                                            06 февраля 2017, 13:40
                                            0
                                            Добрый день.
                                            совместим ли он с minishop2.2?
                                            нет, работает с версии 2.4.0
                                            Евгений Webinmd
                                            24 февраля 2017, 13:18
                                            0
                                            Заметил такую штуку.
                                            Если у товара есть доп поле (TV) и в его Возможные значения вписано что-то типа такого:

                                            @EVAL return $modx->runSnippet('msProducts', array('parents'=>'0', 'depth'=>'2', 'limit' => '300', 'tpl' => '@INLINE [[+pagetitle]]==[[+id]]||','tplLast' => '@INLINE [[+pagetitle]]==[[+id]]' ));
                                            то карточка в админке не открывается.
                                            Если убрать @EVAL, то всё нормально.
                                            Максим
                                            10 марта 2017, 04:34
                                            0
                                            Здравствуйте!
                                            Скажите может ли компонент вывести в корзине стоимость заказа со скидкой и без? к примеру:
                                            Сумма заказа со скидкой: 1 000 руб
                                            Сумма заказа без скидки: 500 руб
                                              Володя
                                              10 марта 2017, 09:16
                                              0
                                              Доброе утро.
                                              В компоненте нет никаких скидок и он не влияет на корзину… Естественно никакого функционала по выводу стоимости заказа со скидкой и без нет.
                                            Владимир Тельнов
                                            15 марта 2017, 01:17
                                            0
                                            1. Возможно вести учет остатков при условии, что у товара нет модификаций и опций?
                                            2. В случае отмены заказа товар возвращается на склад?
                                            3. К какому событию / процессу / статусу заказа привязана операция уменьшения остатков?
                                            4. Есть опция запрета покупки или уведомления пользователя в случае покупки количества товара, которое превышает остатки?

                                            Спасибо.
                                              Володя
                                              15 марта 2017, 07:17
                                              0
                                              1. Возможно вести учет остатков при условии, что у товара нет модификаций и опций?
                                              нет, контролируются только остатки модификаций
                                              2. В случае отмены заказа товар возвращается на склад?
                                              да
                                              3. К какому событию / процессу / статусу заказа привязана операция уменьшения остатков?
                                              msOnCreateOrder
                                              4. Есть опция запрета покупки или уведомления пользователя в случае покупки количества товара, которое превышает остатки?
                                              да, отслеживается ко-во товара в корзине, если нет доступного кол-во выводится предупреждение — товар не добавляется.
                                              Олег
                                              16 марта 2017, 13:41
                                              0
                                              Есть ли возможность указывать модификации при импорте через csv или сторонние дополнения?
                                              Поддерживаются только стандартные свойства — color, size или можно добавлять свои? У меня должны быть свойства — дозировка, объем, теоретически можно color, size приспособить для этих целей. Но в идеале, конечно, использовать свои.
                                                Viktor
                                                13 апреля 2017, 15:23
                                                0
                                                Это дополнение подойдет для фронт-энд конструктора пиццы? Корж + сыр + салями ну и т.д. Можно ли, допустим, 2 порции одного сыра добавить к коржу?
                                                  Сергей
                                                  21 апреля 2017, 17:13
                                                  0
                                                  Добрый день!
                                                  Смотрю вашу демо версию и возникает вопрос, можно опции вывести в виде фото?
                                                  В частности выбор цвета.
                                                    Андрей
                                                    21 апреля 2017, 18:33
                                                    0
                                                    Для выбора цвета есть дополнение msOptionsColor. Там же и паттерн(фото) можно поставить.
                                                    Сергей
                                                    21 апреля 2017, 18:33
                                                    0
                                                    Есть возможность вывести так? Пример
                                                      Володя
                                                      21 апреля 2017, 20:15
                                                      0
                                                      это больше на наборы товаров похоже. есть modstore.pro/packages/ecommerce/mssetincart
                                                      и есть modstore.pro/packages/integration/msaddlinked
                                                        Сергей
                                                        26 апреля 2017, 16:22
                                                        0
                                                        Спасибо за ответ!
                                                        Но не совсем понял почему Вы склоняете меня к этим модулям, мне нужно что бы доп опции были в виде, фото, названия, цены, описания. Если я не ошибаюсь, этот модуль за это и отвечает, что бы выводить дополнительные опции. Или я ошибаюсь?
                                                          Володя
                                                          26 апреля 2017, 17:08
                                                          0
                                                          модуль предназначен для созданий модификаций продукта на основе опций.
                                                          Как частный случай возможно его использование при условиии модфикация продукта = одна опция.
                                                          Вы можете установить пакет на тестовом сайте и посмотреть что к чему modhost.pro/
                                                      Евгений Webinmd
                                                      23 апреля 2017, 13:15
                                                      0
                                                      не появиться ли в будущем настройки, в которую можно вписать только те опции которые надо выводить при добавлении модификации. Например указать в поле color,size и при добавлении новой модификации в поле Ключ чтобы были только эти два пункта, так как часто опций много, а для модификаций используются парочка и приходиться ждать пока все подгрузятся
                                                        Володя
                                                        23 апреля 2017, 15:19
                                                        +1
                                                        добавил настройку «include_modification_options» — сюда писать ключи что необходимы
                                                      Олег
                                                      23 апреля 2017, 15:18
                                                      0
                                                      В списке модификаций хорошо бы добавить столбик «наименование»
                                                      Вот тут —

                                                      Иначе в моем случае везде стоят нули
                                                        Володя
                                                        23 апреля 2017, 15:20
                                                        0
                                                        не понял, про какие нули идет речь и какие наименования.
                                                        Поясните, спасибо!
                                                          Олег
                                                          23 апреля 2017, 17:02
                                                          0
                                                          правой кнопкой на модификации и «обновить». в открывшемся окне есть «наименование». Вот его хорошо бы вывести в список модификаций на скрине из прошлого сообщения.
                                                          иначе у меня получается вот так — screenshot.ru/upload/images/2017/04/23/EKRANA2017-04-23V15.16.3767c89.png
                                                            Володя
                                                            23 апреля 2017, 19:15
                                                            +1
                                                            настройка msoptionsprice_grid_modification_fields, добавьте туда поле name
                                                              Олег
                                                              23 апреля 2017, 19:42
                                                              0
                                                              Спасибо!
                                                        Максим
                                                        27 апреля 2017, 04:02
                                                        0
                                                        Здравствуйте. А можно как-нибудь реализовать select как в msOptions, но только отсортировав его по цене?

                                                        А то клиент вбил много данных, и в листинге показывает одну цену, а в карточке товара другую (изза модификации).

                                                        Заранее спасибо.
                                                          Володя
                                                          27 апреля 2017, 09:11
                                                          0
                                                          Доброе утро.
                                                          Варианты:
                                                          — в листинге подключить msoptionsprice с опциями
                                                          — если модификации построены на одной опции, то можно на основе msOptionsPrice.modification
                                                          вывести опции с учетом цен
                                                          — какой то еще вариант…
                                                          Александр
                                                          29 апреля 2017, 23:22
                                                          0
                                                          Автору компонента спасибо большое за быструю техническую поддержку. Помог решить проблему в ТП очень быстро. При общении более, чем адекватен. Замечательный разработчик!
                                                            Алексей
                                                            04 мая 2017, 11:36
                                                            0
                                                            Доброго времени суток, Володя! Не разобрался как «перетаскивать» модификации в табличке, вроде как строчка подхватывается по «drug and drop», но не даёт перемещать. Что я делаю не так?
                                                            PS: нужно для сортировки опций в select'е.
                                                              Володя
                                                              04 мая 2017, 11:41
                                                              0
                                                              Добрый день.
                                                              Не разобрался как «перетаскивать» модификации в табличке, вроде как строчка подхватывается по «drug and drop», но не даёт перемещать
                                                              там нет сортировки.
                                                              Для сортировки значений опций можно пользовать сниппет msOptionsPrice.option
                                                              [[!msOptionsPrice.option?
                                                              &options=`color,size`
                                                              &sortOptions=`
                                                                   size:SORT_DESC:SORT_NUMERIC,
                                                                   color:SORT_DESC:SORT_STRING
                                                              `
                                                              ]]
                                                                Алексей
                                                                04 мая 2017, 13:22
                                                                +1
                                                                было бы круто там сортировать! ведь есть же поле 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,
                                                                ])}
                                                                  Володя
                                                                  06 мая 2017, 18:25
                                                                  0
                                                                  обновитесь, поправил сортировку.
                                                                  Спасибо!
                                                                    Алексей
                                                                    11 мая 2017, 12:17
                                                                    0
                                                                    Спасибо за оперативные исправления!
                                                                    Подскажите, можно ли назначить в модификациях цену по-умолчанию, чтобы она выводилась в списке продукции (в категории магазина) через сниппет msProduct? (сейчас выводится минимальная цена цена с максимальным msopModification.rank, взятая из модификаций, хотелось бы указывать её вручную – не через поле msopModification.rank)
                                                                      Володя
                                                                      11 мая 2017, 13:29
                                                                      1
                                                                      0
                                                                      Спасибо за оперативные исправления!
                                                                      пожалуйста!

                                                                      Подскажите, можно ли назначить в модификациях цену по-умолчанию, чтобы она выводилась в списке продукции (в категории магазина) через сниппет msProduct?

                                                                      можно попробовать плагином
                                                                      gist.github.com/vgrish/85b5d8e9e3a159975b330cc90d63f3ca
                                                                        Алексей
                                                                        11 мая 2017, 13:37
                                                                        0
                                                                        но ведь дело в том что сниппет msProduct берет значение не из msProduct.price, а как я понимаю, по логике работы плагина msOptionsPrice по событию msOnGetProductPrice и по логике
                                                                        core/components/msoptionsprice/model/msoptionsprice/systems/msoptionspricemsongetproductprice.class.php
                                                                        И ему совершенно побоку что стоит в msProduct.price
                                                                        Но все равно, идею понял! удивительно подробные разъяснения с примерами!
                                                                        И как задел на будующее – было бы замечательно указывать дефолнтную цену у модификаций, к примеру самой популярной модификации, заказываемой в магазине (можно даже по истории заказов раз в месяц выявлять самые популярные модификации и делать ценник по-умолчанию по этим данным)
                                                                      Алексей
                                                                      18 августа 2017, 16:11
                                                                      0
                                                                      Доработал сортировку, чтобы msopModification.rank начинался с 0 для каждого ресурса msopModification.rid, чтобы можно было удобно left-джойнить цену по-умолчанию.
                                                                      исправления:
                                                                      в яваскрипте 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')}
                                                                      			");
                                                                              }
                                                                      внесите пожалуйста изменения, если все ок, чтобы с обновлением не потерялась логика. спасибо.
                                                                Григорий
                                                                14 мая 2017, 23:26
                                                                1
                                                                0
                                                                В корзине при выводе модификаций почему-то выглядит так:


                                                                Откуда в конце хвост:
                                                                Array, 0
                                                                  Антон
                                                                  Антон
                                                                  15 мая 2017, 05:34
                                                                  0
                                                                  Хороший вопрос. У меня тоже этот Array вылазит.
                                                                    Володя
                                                                    15 мая 2017, 08:58
                                                                    2
                                                                    0
                                                                    используйте такую конструкцию для исключения служебных опций gist.github.com/vgrish/3748714377be39401799e3908efd8a59#file-mscart-tpl-L86-L99
                                                                      Антон
                                                                      Антон
                                                                      17 мая 2017, 07:22
                                                                      0
                                                                      Спасибо! Все работает.
                                                                      Еще вопросы есть по опциям.

                                                                      Как исключить выборочно опции по ключу ms2_product_ххх?

                                                                      Как исключить все опции, но включить только нужные?
                                                                        Володя
                                                                        17 мая 2017, 08:47
                                                                        0
                                                                        Как исключить выборочно опции по ключу ms2_product_ххх?
                                                                        использовать регулярное выражение…
                                                                        Как исключить все опции, но включить только нужные?
                                                                        использовать отрицание
                                                                        not in [...]
                                                                          Антон
                                                                          Антон
                                                                          17 мая 2017, 23:39
                                                                          0
                                                                          Можно образец, пожалуйста.
                                                                          Лучше 1 раз увидеть, чем 100 раз услышать.
                                                                            Володя
                                                                            18 мая 2017, 13:32
                                                                            +1
                                                                            Как исключить выборочно опции по ключу ms2_product_ххх?
                                                                            {foreach $options as $name => $value}
                                                                            	{if ($name|preg_match:'#key')}{else}{continue}{/if}
                                                                            {/foreach}
                                                                              Володя
                                                                              18 мая 2017, 13:33
                                                                              1
                                                                              +1
                                                                              Как исключить все опции, но включить только нужные?
                                                                              foreach $product.options as $key => $option}
                                                                                  {if $key not in ['color','size']}{continue}{/if}
                                                                              {/foreach}
                                                                      Григорий
                                                                      16 мая 2017, 19:48
                                                                      0
                                                                      Отлично.
                                                                      Правда после покупки код ломает всё… Как исправить?


                                                                        Володя
                                                                        16 мая 2017, 19:50
                                                                        0
                                                                        скорее всего вы где-то нарушили синтаксис…
                                                                        напишите в ТП с указанием доступов к админке и ссылкой на шаблон корзины, разберемся в чем дело.
                                                                        Спасибо!
                                                                        Алексей
                                                                        18 мая 2017, 02:57
                                                                        +1
                                                                        Доброго времени!

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

                                                                        Долго изучал предоставленный вами материал (Чанки, Демо сайт) Сделал всё идентично сказанному.

                                                                        Через фото раму, фото выделяется, но только если в Sellect Я выберу опцию, а если нажать по миниатюре фото в галерее, то опция будет стоять на месте.

                                                                        Как вы сделали весь процесс?
                                                                          Володя
                                                                          18 мая 2017, 13:30
                                                                          +1
                                                                          Скорее всего вы не модифицировали чанк галереи, там добавляются необходимые параметры
                                                                          gist.github.com/vgrish/e5c7e541b33eefc4b7c0cb68ec389096#file-tpl-msgallery-L10
                                                                          если не получается напишите в ТП с указанием доступов к админке сайта и ссылкой на чанк/ шаблон продукта, разберемся.
                                                                          Спасибо!
                                                                            Алексей
                                                                            18 мая 2017, 13:51
                                                                            0
                                                                            Чанки модифицированы. По шагам сделал всё по вашей инструкции, но увы.

                                                                            Я не могу отследить весь процесс события, но при клике в Галерее, событие отрабатывает на форме продукта, но при этом нечего не меняется.
                                                                              Алексей
                                                                              19 мая 2017, 13:09
                                                                              0
                                                                              В какую ТП вы мне предложили обратиться? Часть форума по тематике вопросы?
                                                                          Алексей
                                                                          18 мая 2017, 15:09
                                                                          0
                                                                          Отследил по степам что происходит после клика в галерее. по шагам отрабатываемые строки скрипта инициализации продукта.

                                                                          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]», но при этом значение не меняется в этом селекте

                                                                            Алексей
                                                                            18 мая 2017, 15:23
                                                                            0
                                                                            p/s — Я перепутал по пункту 2. Значения скрипт эти получает из формы как раз при клике, а не из галереии.
                                                                            Выдаёт последнюю выбранную опцию
                                                                            Виктор Долгий
                                                                            15 июня 2017, 18:22
                                                                            0
                                                                            Еще вопрос. Как лучше перехватить цену после выбора модификации (после обработки msOp2), чтобы конвертировать согласно курсу валют?
                                                                            Виктор Долгий
                                                                            15 июня 2017, 21:42
                                                                            0
                                                                            Было бы круто блокировать кнопку «Купить», пока цена не выставится, по типу того, как это делает компонент ExtraFields.
                                                                              Виктор Долгий
                                                                              16 июня 2017, 15:25
                                                                              0
                                                                              Снова вопрос. Если в списке товаров (с mFilter), мы выбираем опции, то они выставляются и в каждом товаре (вчера с Володей выяснили, что работает с select`ом). Так вот, если, например, нужно опции проставлять чекбоксами, то остается активным только последняя опция в товаре.

                                                                              Default.js: msOptionsPrice.Tools.setValue -> switch -> case tagName == 'INPUT' && tagType == 'checkbox'… В случае, если выбрано 2 опции в фильтре товаров, то тут он сначала выставляет первой опции галочку, потом снимает, потом снимает со второй, потом ставит...)) Стоит сделать проверку, думаю, на наличие опций из массива, а не перебирать, так 4 цикла получается. Дальше не успел, вернусь через пару часов за комп.
                                                                                Виктор Долгий
                                                                                16 июня 2017, 19:22
                                                                                +1
                                                                                Предлагаю заменить:
                                                                                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);
                                                                                }
                                                                                , или что-то вроде того. Или я что-то не так понял в плане функционала?
                                                                                  Володя
                                                                                  17 июня 2017, 10:44
                                                                                  +1
                                                                                  да, вполне верное замечание. Данный функционал сам не пользую потому не тестировал…
                                                                                  Внес правки, можно обновиться.
                                                                                  Спасибо!
                                                                                    Виктор Долгий
                                                                                    17 июня 2017, 14:10
                                                                                    0
                                                                                    Теперь следующая проблема в выставлении цен с этими чекбоксами:
                                                                                    1. В админке невозможно создать разные модификации с одним ключем, но разными значениями (чтобы создать наборы из комбинаций опций).
                                                                                    2. Если модификации выставлять с ценником +к стоимости товара, то на фронте выставляется стоимость по последней опции.

                                                                                    Эти два пункта исключают возможность выставлять цены опциями в чекбоксах))

                                                                                    Могу предоставить тот же сайт, он пока не очень работает, можешь там поэкспериментировать, если нужно.
                                                                                      Володя
                                                                                      17 июня 2017, 14:11
                                                                                      0
                                                                                      1. В админке невозможно создать разные модификации с одним ключем, но разными значениями (чтобы создать наборы из комбинаций опций).
                                                                                      это как?
                                                                                      Виктор Долгий
                                                                                      17 июня 2017, 14:11
                                                                                      0
                                                                                      Да, и после последнего обновления, цена у товара выставляется от последней модификации, а не указанная в самом товаре, не зависимо от того, выбрана она, или нет.
                                                                                        Володя
                                                                                        17 июня 2017, 14:12
                                                                                        0
                                                                                        пиши на почту, надо по месту смотреть…
                                                                                          Виктор Долгий
                                                                                          29 июня 2017, 18:05
                                                                                          0
                                                                                          Это был неведомый глюк, после пересоздания опций все стало ок.
                                                                                            terlim
                                                                                            03 июля 2017, 11:42
                                                                                            0
                                                                                            У меня похожий глюк. Пока не разобрался в чем дело, но началось после обновления PdoTools до 2.9.0
                                                                                              Володя
                                                                                              03 июля 2017, 12:46
                                                                                              0
                                                                                              сомневаюсь что есть какая либо взаимосвязь с pdoTools.
                                                                                              В любом случае есть ТП можно/ нужно писать туда по вопросам и тд…
                                                                                              Спасибо!
                                                                                      Виктор Долгий
                                                                                      29 июня 2017, 18:03
                                                                                      0
                                                                                      Володя, еще один вопрос, думаю, кому-то пригодится, как посоветуешь проставлять в товарах еще и цены в долларах / евро, если, например, цена изначально в национальной валюте? Допустим, цену можно считать плагином на msopOnGetFullCost, но как донести эти доп. цены до товара (еще и аяксом)?
                                                                                        Володя
                                                                                        29 июня 2017, 18:36
                                                                                        0
                                                                                        пока никак не посоветую… над сесть подумать и тд… с ходу чтото ничего путного в головву не приходит.
                                                                                        Алексей
                                                                                        12 июля 2017, 12:12
                                                                                        0
                                                                                        Доброго дня.

                                                                                        В msOptionsPrice.modification увидел параметр «toPlaceholder» с параметрами Да/Нет.

                                                                                        Замечательно, а как плейсхолдер-то называется в который сниппет сохраняет результаты?
                                                                                        Ведь самому указать название нельзя
                                                                                          Володя
                                                                                          12 июля 2017, 12:16
                                                                                          0
                                                                                          Приветствую.
                                                                                          Это банальная очепятка в типе свойства.
                                                                                          просто задайте название плейсхолдера в параметре toPlaceholder
                                                                                            Володя
                                                                                            12 июля 2017, 12:17
                                                                                            0
                                                                                            c приходом шаблонизатора это вообщем то и не нужно…
                                                                                              Алексей
                                                                                              12 июля 2017, 12:22
                                                                                              0
                                                                                              Спасибо за пояснение.
                                                                                          info
                                                                                          12 июля 2017, 15:11
                                                                                          0
                                                                                          Не могу создать модификацию товара через админку. Ругается что поле цена не уникально. Также нельзя создать пару ключ-значение, не выводятся списки ключей и значений
                                                                                            Володя
                                                                                            12 июля 2017, 15:18
                                                                                            0
                                                                                            Добрый день.
                                                                                            Пишите в ТП
                                                                                            Приложите доступы к админке и ссылку на проблемный товар.
                                                                                            Спасибо!
                                                                                            Ника
                                                                                            14 июля 2017, 12:16
                                                                                            0
                                                                                            Добрый день!
                                                                                            Подскажите, пожалуйста! Как реализовать изменение цены не от количества, а от веса, с помощью данного модуля?


                                                                                            Например, 1 кг продукта стоит 500 рублей. пользователь вводит, что хочет 333 грамма и товар с соответствующей ценой добавляется в корзину.
                                                                                              Володя
                                                                                              14 июля 2017, 13:48
                                                                                              0
                                                                                              Добрый день.
                                                                                              Если поле вес предполагает свободное значение то можно реализовать через плагин.
                                                                                              Пишите в ТП, решим.
                                                                                              Спасибо!
                                                                                              Константин Ильин
                                                                                              03 сентября 2017, 19:49
                                                                                              0
                                                                                              Привет Володя, не могу утверждать, что это баг, но ко мне обратились с такой проблемой:
                                                                                              При добавление в моификацию опции, отображались не все опции
                                                                                              joxi.ru/82Qpan0sj73Kem

                                                                                              Чтож полез в процессор «mgr/misc/option/getkeys.class.php», вывел массив в лог joxi.ru/1A5QnldhnYkE4A
                                                                                              Там получил все опции нормально.

                                                                                              Пошел дальше с мыслью, что где-то исключается и как вариант лимит стоит, посмотрел функцию getData(). Там установил лимит на 0 и начали отображаться все опции.
                                                                                              joxi.ru/12M7daECM9X6xr

                                                                                              Версия последняя.
                                                                                                Володя
                                                                                                04 сентября 2017, 10:54
                                                                                                0
                                                                                                там и не должны выбираться сразу все опции, снизу должна быть пагинация

                                                                                                у тебя на скрине этого не видно, есть она или отсутствует у опций с кол-ом значений > 10
                                                                                                  Константин Ильин
                                                                                                  04 сентября 2017, 12:37
                                                                                                  0
                                                                                                  Вот вот, я тоже думал, что она должна быть, но ее нет… капец, как так
                                                                                                    Володя
                                                                                                    04 сентября 2017, 12:40
                                                                                                    0
                                                                                                    скинь в ТП доступы к админке и ссылку на товар где это можно увидеть, посмотрю в чем дело.
                                                                                                    Спасибо!
                                                                                                Константин Ильин
                                                                                                08 сентября 2017, 16:00
                                                                                                0
                                                                                                {$_modx - > runSnippet('!msOptionsPrice.modification', [
                                                                                                        'tpl' => 'tpl.imagess',
                                                                                                        'includeThumbs' => '360x800',
                                                                                                        'sortby' => 'rank',
                                                                                                        'processOptions' => 1
                                                                                                ])}
                                                                                                Володь, подскажи пожалуйста как можно отсортировать опции по rank у категории, rank хранится в ms2_category_options
                                                                                                joxi.ru/D2PVZOJspybd3r
                                                                                                  Володя
                                                                                                  08 сентября 2017, 17:11
                                                                                                  +1
                                                                                                  пока никак, будет время посмотрю этот момент.
                                                                                                    Володя
                                                                                                    09 сентября 2017, 10:34
                                                                                                    0
                                                                                                    привет. Я правильно понимаю что ты хочешь отсортировать опции конкретной модификации согласно порядку опций категории? Что в таком случае делать с опциями msProductData которых нет в категории?
                                                                                                    Опиши более детально что ты хочешь с этим сделать, спасибо!
                                                                                                      Константин Ильин
                                                                                                      09 сентября 2017, 11:10
                                                                                                      0
                                                                                                      По сути ты правильно описал то что я придумал. Но возможно у тебя есть другое предложение или идея как сортировать опции.
                                                                                                      Лучший пример — это ситуация:
                                                                                                      Есть 10 неких опций, Тест 1-10. Спустя месяцы захотелось добавить опцию Тест 11, но так чтобы она отображался в карточке товара после опции Тест 3.
                                                                                                      т.е.:
                                                                                                      Тест 1
                                                                                                      Тест 2
                                                                                                      Тест 3
                                                                                                      Тест 11
                                                                                                      Тест 4
                                                                                                      ...
                                                                                                      Тест 10
                                                                                                      Что в таком случае делать с опциями msProductData которых нет в категории?
                                                                                                      Вот я как то тебе задавал этот вопрос. Повторюсь, а зачем в списке опций для модификации, отображаются те опции которые вообще не должны быть у этой категории? joxi.ru/KAg7zleC4DBalA
                                                                                                      т.е. не просто так же идет назначение опции для категории при ее создании в настройках ms2

                                                                                                      Блин пока писал пост ты уже что-то сделал)))
                                                                                                        Володя
                                                                                                        09 сентября 2017, 11:17
                                                                                                        +1
                                                                                                        Повторюсь, а зачем в списке опций для модификации, отображаются те опции которые вообще не должны быть у этой категории?
                                                                                                        это опции из таблицы msProductData и как бы они существуют для всех товаров. Я допустим только ими и пользуюсь, а вот этот «удобный для вас» механизм создания и всяких других операций с опциями мне вообще неинтересен...)

                                                                                                        Блин пока писал пост ты уже что-то сделал)))
                                                                                                        ну добавил сортировку по умолчанию, вроде то и надо было.
                                                                                                          Константин Ильин
                                                                                                          09 сентября 2017, 11:31
                                                                                                          0
                                                                                                          В админке при просмотре модификации работает и соответствует сортировке в категории.
                                                                                                          А на фронте что-то надо поменять? какой параметр? т.к. там отображается в конце
                                                                                                          {$_modx - > runSnippet('!msOptionsPrice.modification', [
                                                                                                                  'tpl' => 'tpl.imagess',
                                                                                                                  'includeThumbs' => '360x800',
                                                                                                                  'sortby' => 'rank',
                                                                                                                  'processOptions' => 1
                                                                                                          ])}
                                                                                                            Володя
                                                                                                            09 сентября 2017, 11:40
                                                                                                            0
                                                                                                            ничего не надо менять, так все должно работать.
                                                                                                            Если чтото не пашет пиши дальше уже в ТП, будем разбираться.
                                                                                                            Спасибо!
                                                                                                      Володя
                                                                                                      09 сентября 2017, 10:56
                                                                                                      +1
                                                                                                      добавил сортировку согласно rank по умолчанию. Если это то что было необходимо просто обновись и все заработает.
                                                                                                      Илья
                                                                                                      21 сентября 2017, 14:30
                                                                                                      0
                                                                                                      Здравствуйте,

                                                                                                      Есть возможность выводить в каталоге разные модификации товара (критерий размер-цена, как сделано в карточке товара на демо-сайте) с возможностью добавить их в корзину как отдельные товары?

                                                                                                      Спасибо.
                                                                                                        Володя
                                                                                                        21 сентября 2017, 14:42
                                                                                                        0
                                                                                                        Добрый день.
                                                                                                        Есть возможность выводить в каталоге разные модификации товара (критерий размер-цена, как сделано в карточке товара на демо-сайте)
                                                                                                        вы сейчас говорите о каталоге модификаций? Если да, то нет, на данный момент такой возможности нет. ТОлько если в каждом товаре запустить сниппет для вывода модификаций.
                                                                                                          Илья
                                                                                                          21 сентября 2017, 14:49
                                                                                                          0
                                                                                                          Нет, я спрашиваю только про вывод в категорию.

                                                                                                          Клиент хочет следующее:

                                                                                                          На странице каталога/категории есть несколько товаров, у каждого задана модификация размер-цена.
                                                                                                          В каждой карточке выведенной в каталог сделать отдельными строками ввод количества и возможность заказа каждой из модификаций как отдельный товар в корзине.

                                                                                                          Пример — есть пицца маргарита размером 32см, 40см и 50см. Я хочу заказать 3 маргариты 32см и 2 маргариты 40 см из каталога/категории товаров пицца.

                                                                                                          Это реализуемо?
                                                                                                            Володя
                                                                                                            21 сентября 2017, 16:34
                                                                                                            1
                                                                                                            +2
                                                                                                            как и говорил выше
                                                                                                            в каждом товаре запустить сниппет для вывода модификаций
                                                                                                            пример
                                                                                                            {'!pdoPage'|snippet: [
                                                                                                            'element' => 'msProducts',
                                                                                                            'tpl' => "@INLINE 
                                                                                                            {'!msOptionsPrice.modification'|snippet: [
                                                                                                            'product' => {{+id}},
                                                                                                            ]}
                                                                                                            "
                                                                                                            ]}
                                                                                                              Илья
                                                                                                              21 сентября 2017, 16:55
                                                                                                              0
                                                                                                              Т.е. я пропишу эту конструкцию в tpl.msProducts.row и будет мне счастье?
                                                                                                                Володя
                                                                                                                21 сентября 2017, 17:04
                                                                                                                0
                                                                                                                именно… можно создать тестовый сайт на modhost.pro/ и там экспериментировать.
                                                                                                                  Илья
                                                                                                                  21 сентября 2017, 17:06
                                                                                                                  0
                                                                                                                  Спасибо! теперь проект стал казаться менее проблемным)))
                                                                                                                    Володя
                                                                                                                    21 сентября 2017, 17:34
                                                                                                                    0
                                                                                                                    Пожалуйста!
                                                                                                                    По вопросам работы платных компонентов всегда можно (лучше) писать в ТП
                                                                                                                      Илья
                                                                                                                      21 сентября 2017, 17:39
                                                                                                                      0
                                                                                                                      Я собственно так обычно и делаю, пока планирую какие компоненты будут нужны и какой соответственно бюджет расходов на платные компоненты, поэтому здесь и беспокою.

                                                                                                                      Этим компонентом пока не пользовался, поэтому вопрос и возник, т.к. предположил что данный компонент такое может уметь делать.

                                                                                                                      Спасибо за подробный ответ! Как только согласуем ТЗ — в магазин за компонентом)
                                                                                                        Надир
                                                                                                        14 октября 2017, 20:38
                                                                                                        0
                                                                                                        Здравствуйте! С помощью вашего дополнения хочу реализовать подобный конфигуратор товара www.adidas.ru/mi-superstar-rt/4001936_M.html?cm_sp=MIADIDAS_CLP_MIADIDAS_HOME-_-MI_SUPERSTAR_RT-_-CTA_MI_SUPERSTAR_RT

                                                                                                        Скажите, есть ли возможность выводить отдельный набор изображений для каждой модификации? То есть не одно изображение на модификацию, а несколько (галерея модификации). Если нет, планируется ли добавить такой функционал? А если не планируете, можете ли рассмотреть возможность добавления такого функционала индивидуально?

                                                                                                        Спасибо
                                                                                                          Сергей
                                                                                                          18 октября 2017, 08:59
                                                                                                          0
                                                                                                          Здравствуйте! Используя данное дополнение на цветочном сайте столкнулся со следующей проблемой. Создал необходимые модификации, а точнее размер и упаковка
                                                                                                          [[!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), то цена добавляется без учета цены за эту модификацию(упаковка)? Подскажите пожалуйста решение или место где копать.
                                                                                                            Володя
                                                                                                            18 октября 2017, 11:32
                                                                                                            0
                                                                                                            Добрый день.
                                                                                                            Возможно в данном случае с упаковкой нужно использовать чтото другое для модификации цены.
                                                                                                            Напишите в ТП с указанием доступов к админке сайт и ссылкой на тестируемый товар. Посмотрю что можно сделать.
                                                                                                            Спасибо!
                                                                                                            web3
                                                                                                            16 ноября 2017, 09:46
                                                                                                            2
                                                                                                            0
                                                                                                            Добрый день! Возможно ли как-то отсортировать вывод опций в другом порядке?
                                                                                                              web3
                                                                                                              16 ноября 2017, 10:26
                                                                                                              1
                                                                                                              0
                                                                                                              Уже не актуально, нашел что искал…
                                                                                                              &sortOptions=`size:SORT_ASC:SORT_NUMERIC`
                                                                                                                Володя
                                                                                                                16 ноября 2017, 10:35
                                                                                                                0
                                                                                                                да, с помощью msOptionsPrice.option можно сортировать опции.
                                                                                                                Если вас это устраивает то отлично.
                                                                                                                  Александр
                                                                                                                  29 января 2018, 12:26
                                                                                                                  0
                                                                                                                  А можно как-нибудь сортировать в том же порядке, что и в настройках карточки?



                                                                                                                  Ситуация следующая: у товара есть размеры 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?
                                                                                                                    Володя
                                                                                                                    29 января 2018, 13:09
                                                                                                                    0
                                                                                                                    Добрый день.
                                                                                                                    Вы определитесь, что вы хотите сортировать? На скрине модификации, ниже текст про опции…

                                                                                                                    Как сделать, чтобы выводился порядок XXS, XS, S, M, L, XL, XXL, XXXL?
                                                                                                                    Если речь о выводе опций, попробуйте вывести опции с помощью родного сниппета msOptions
                                                                                                              Илья Александрович
                                                                                                              24 ноября 2017, 16:47
                                                                                                              0
                                                                                                              подскажите как настроить модификации с опциями товаров? или это не работает?
                                                                                                              пример:
                                                                                                              выбор размера, влияет на цену и вес — это как у вас в примерах, всё отлично работает.
                                                                                                              есть у меня ещё опции товаров, ключ p6 — Список с автодополнением, там разные значения так скажем.
                                                                                                              а как сделать что бы они менялись при выборе размера, в модификации добавил
                                                                                                              пробовал и так
                                                                                                              [[!msOptions? &tpl=`tpl.product-option` &options=`p6`]]
                                                                                                              и так
                                                                                                              <span class='msoptionsprice-p6 msoptionsprice-[[*id]]'>[[+p6]]</span>
                                                                                                                Володя
                                                                                                                24 ноября 2017, 17:08
                                                                                                                0
                                                                                                                а как сделать что бы они менялись при выборе размера
                                                                                                                — оформить как опции товара и тогда они будут меняться
                                                                                                                — написать js на событие msoptionsprice_product_action и сделать смену
                                                                                                                подробности и вопросы задавайте в ТП, спасибо!
                                                                                                                Сергей
                                                                                                                27 ноября 2017, 14:21
                                                                                                                0
                                                                                                                Здравствуйте, подскажите пожалуйста как можно реализовать такую возможность, чтобы цена при модификации у определенных товаров прибавлялась один раз независимо от количества этого товара. Я так понимаю копаться надо в 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;
                                                                                                                после чего будем смотреть родителей и если есть совпадение будет отрабатывать модификация цены, которая не зависимо от количества данного товара сработает один раз и далее будет суммироваться цена без модификации (родная для одного товара). Извиняюсь если написал не очень, но смысл вроде передал.
                                                                                                                  Илья
                                                                                                                  08 февраля 2018, 16:39
                                                                                                                  0
                                                                                                                  Здравствуйте, подскажите пожалуйста как добавить стандартные поля(например производитель) и свои поля в модификации?
                                                                                                                  Я правильно понимаю что для своих полей надо просто добавить соответствующие дополнительные опции minishop2 и тогда они станут доступны в модификациях?
                                                                                                                    Надир
                                                                                                                    10 февраля 2018, 23:02
                                                                                                                    0
                                                                                                                    Здравствуйте! Очень не хватает галереи для каждой модификации, как, например тут www.wildberries.ru/catalog/2232073/detail.aspx?targetUrl=GP

                                                                                                                    Планируется ли такое улучшение?
                                                                                                                      Володя
                                                                                                                      12 февраля 2018, 09:43
                                                                                                                      0
                                                                                                                      Доброе утро.
                                                                                                                      Галерея модификации уже давно есть joxi.ru/l2Z3kMWtwqYKpA
                                                                                                                      Пропишите в настройку msoptionsprice_window_modification_tabs
                                                                                                                      modification,gallery
                                                                                                                        Надир
                                                                                                                        13 февраля 2018, 22:17
                                                                                                                        0
                                                                                                                        Возможно, вы меня не правильно поняли. Я имел ввиду, чтобы например при выборе цвета «белый» не просто фото в галерее переключалось на фото модификации, но чтобы выводились только те фото, которые указаны в галерее данной модификации, а остальные фото не отображались.
                                                                                                                          Володя
                                                                                                                          14 февраля 2018, 11:09
                                                                                                                          3
                                                                                                                          +1
                                                                                                                          чтобы выводились только те фото, которые указаны в галерее данной модификации, а остальные фото не отображались.
                                                                                                                          Для этого можно написать немного кода, например
                                                                                                                          $(document).on('msoptionsprice_product_action', function (e, action, form, r) {
                                                                                                                              if (action == 'modification/get' && r.success && r.data) {
                                                                                                                                  var m = r.data.modification || {};
                                                                                                                          
                                                                                                                                  var thumbs = m.thumbs || {main:['default.png']};
                                                                                                                                  var fotorama = $(form).closest(msOptionsPrice.Product.parent).find('.fotorama').data('fotorama');
                                                                                                                          
                                                                                                                                  if (fotorama) {
                                                                                                                                      var images = [];
                                                                                                                                      (thumbs.main || []).filter(function (href) {
                                                                                                                                          images.push({img: href, caption: ''})
                                                                                                                                      });
                                                                                                                                      fotorama.load(images);
                                                                                                                                  }
                                                                                                                              }
                                                                                                                          });
                                                                                                                          рабочий пример тут s6200.h3.modhost.pro/6/12010.html
                                                                                                                            Надир
                                                                                                                            15 февраля 2018, 21:26
                                                                                                                            0
                                                                                                                            Спасибо огромное!
                                                                                                                      Надир
                                                                                                                      15 февраля 2018, 21:34
                                                                                                                      0
                                                                                                                      Сниппет [[!msOptionsPrice.modification?]] как я понял, работает только для ресурсов типа «товар». Есть потребность выводить на странице категории товара не только товары, но и их модификации. Скажите, пожалуйста, предусмотрена ли такая возможность
                                                                                                                        Андрей
                                                                                                                        25 февраля 2018, 18:06
                                                                                                                        0
                                                                                                                        Володя, при создании опции она автоматически появляются на вкладке «Цвет». Чтобы там появились паттерны, нужно обновить каждую опцию. А можно ли как-то обновить все опции товара/товаров?
                                                                                                                          Ника
                                                                                                                          21 августа 2018, 09:42
                                                                                                                          0
                                                                                                                          Здравствуйте!
                                                                                                                          Подскажите, пожалуйста, как можно реализовать условие: если значения опций разные, то добавить в корзину два товара с разными параметрами, иначе один.

                                                                                                                          Например, у меня есть товар линз, если характеристики правого и левого глаза разные, то нужно добавить два товара один для левого, другой для правого.
                                                                                                                            Володя
                                                                                                                            21 августа 2018, 10:19
                                                                                                                            1
                                                                                                                            +1
                                                                                                                            Добрый день.
                                                                                                                            Не думаю что данную задачу нужно решать с помощью данного компонента.
                                                                                                                            Вам стоит на странице товара — линза выводить две формы продукта и кнопку по которой вызывать сабмит у этих форм. В корзине будет то что в итоге пользвоатель выбрал.

                                                                                                                            пример
                                                                                                                            <!-- форма 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>
                                                                                                                            Михаил
                                                                                                                            22 августа 2018, 17:25
                                                                                                                            0
                                                                                                                            Здравствуйте!

                                                                                                                            Добавляю в корзину модификацию. Модификация добавляется с ценой основного товара, а не модификации. В чем может быть причина?

                                                                                                                            Тест s15298.h10.modhost.pro/index.php?id=3
                                                                                                                            Корзина s15298.h10.modhost.pro/index.php?id=6
                                                                                                                              Володя
                                                                                                                              22 августа 2018, 17:45
                                                                                                                              0
                                                                                                                              Добрый вечер.
                                                                                                                              По вопросам работы платных компонентов следует писать в ТП.
                                                                                                                              Приложите доступы к админке сайта, посмотрю в чем дело.
                                                                                                                              Спасибо!
                                                                                                                                Михаил
                                                                                                                                22 августа 2018, 19:44
                                                                                                                                0
                                                                                                                                Я его еще не купил, хотел потестировать на тестовом сайте для начала.

                                                                                                                                s15298.h10.modhost.pro/manager/
                                                                                                                                s15298
                                                                                                                                IjlV2lwWTRX2
                                                                                                                              Альжан
                                                                                                                              27 августа 2018, 10:19
                                                                                                                              0
                                                                                                                              Добрый день! Я ваш компонент может так как на картинке

                                                                                                                                Владимир, здравствуйте!
                                                                                                                                Подскажите пожалуйста, как программно добавить модификацию товара в корзину. ТП не могу писать, прошел год с момента покупки.
                                                                                                                                Заранее спасибо.
                                                                                                                                  Roman
                                                                                                                                  13 ноября 2018, 17:49
                                                                                                                                  0
                                                                                                                                  Не знаю, как это расценивать, баг или недочет. Вообщем ситуация следущая. Есть товар, у этого товара цена зависит от цвета и от типа покрытия.
                                                                                                                                  У этого товара нет в некоторых цветах других покрытий и выводится цена карточки товара.
                                                                                                                                  Пример:
                                                                                                                                  krovlya-yuga.ru/products/keram_cherepica/czelnaya-cherepicza-creaton-seriya-ratio-hongeda/
                                                                                                                                  черный цвет, покрытие глазурь — такой товар есть, а вот цвет черный, покрытие — натуральное — такого товара нет и выводится цена карточки товара. Кто сталкивался с таким?
                                                                                                                                    Scorp Satex
                                                                                                                                    22 января 2019, 16:45
                                                                                                                                    0
                                                                                                                                    Здравствуйте, интересует способен ли ваш плагин осуществлять следующее:

                                                                                                                                    Сценарий использования такой:
                                                                                                                                    Интернет магазин. продает краски. Есть банка с краской, это один товар, у товара следующие опции:
                                                                                                                                    Объем — 18 литров, 180 литров.
                                                                                                                                    Цвета — Белый, черный, красный, синий.

                                                                                                                                    Вопрос:
                                                                                                                                    Может ли ваш плагин рассчитывать итоговую цену позиции сразу по двум опциям: объему и по цвету?
                                                                                                                                    Например:
                                                                                                                                    18 литров (100 руб) + синей цвет (50 руб) = 150 руб за позицию
                                                                                                                                    180 литров (1000 руб) + красный цвет (100 руб) = 1100 руб за позицию
                                                                                                                                    180 литров (1000 руб) + синий цвет (50 руб) = 1050 руб за позицию

                                                                                                                                    Еще вопросы:
                                                                                                                                    1. Как можно вывести цену выбранной комбинации на странице товара рядом с кнопкой «В корзину»?
                                                                                                                                    2. В MiniShop2 заказы правильно сохранятся для распечатки заказа менеджерам?

                                                                                                                                    Спасибо.
                                                                                                                                      Roman
                                                                                                                                      19 марта 2019, 15:33
                                                                                                                                      0
                                                                                                                                      Как сделать связь модификации с изображением товара но не на слайдере фоторама, а на slick slider, я понимаю что нужно скрипты менять, вероятнее всего в файле «msoptionsprice/js/web/default.js» но что именно, мне не понятно, и вообще, возможно ли это?
                                                                                                                                      в стандартном варианте с слайдером фоторама всё работает
                                                                                                                                        Андрей
                                                                                                                                        28 декабря 2021, 18:17
                                                                                                                                        0
                                                                                                                                        Добрый день. Подскажите, получилось у вас решить задачу со slick slider?
                                                                                                                                        UDAV
                                                                                                                                        17 апреля 2019, 18:56
                                                                                                                                        0
                                                                                                                                        Можно ли сделать чтобы у каждой опции был свой уникальный url с заголовком?
                                                                                                                                        Денис
                                                                                                                                        14 августа 2019, 11:49
                                                                                                                                        0
                                                                                                                                        Купил компонент, установил.
                                                                                                                                        В товаре не появилась вкладка «Модификации».
                                                                                                                                        Что за дела?
                                                                                                                                          Володя
                                                                                                                                          14 августа 2019, 11:57
                                                                                                                                          0
                                                                                                                                          Добрый день.
                                                                                                                                          modstore.pro/packages/ecommerce/msoptionsprice2
                                                                                                                                          На странице продукта доступна одноименная вкладка (настройка msoptionsprice_working_templates, в ней перечислить id необходимых шаблонов).
                                                                                                                                          по вопросам работы платных дополнений следует писать в ТП.
                                                                                                                                          Спасибо!
                                                                                                                                          Денис
                                                                                                                                          28 августа 2019, 15:28
                                                                                                                                          0
                                                                                                                                          Как через процессор удалить все модификации товара?
                                                                                                                                            Сергей
                                                                                                                                            25 сентября 2019, 22:17
                                                                                                                                            0
                                                                                                                                            Как скрыть не активные опции или как им присвоить свой класс, что бы сделать не активными?
                                                                                                                                            Как отображать количество товаров в наличии? Как вообще поля называется? remains?
                                                                                                                                              Володя
                                                                                                                                              25 сентября 2019, 22:27
                                                                                                                                              0
                                                                                                                                              Добрый вечер.
                                                                                                                                              По вопросам работы платных дополнений пишите пожалуйста в ТП.
                                                                                                                                              Спасибо.
                                                                                                                                                Сергей
                                                                                                                                                25 сентября 2019, 22:28
                                                                                                                                                0
                                                                                                                                                К сожалению закончилась ( и документации нет на сей счет.
                                                                                                                                              imnot
                                                                                                                                              16 октября 2019, 16:36
                                                                                                                                              0
                                                                                                                                              добрый день,

                                                                                                                                              обнаружилась проблема со спецсимволами в опциях.
                                                                                                                                              т.е. например, символ "/" не воспринимается в значении опций — «120/220».
                                                                                                                                              ввести такой параметр можно и он буден виден, но если указана зависимость одного параметра от другого, то выбрать его с списке select невозможно, такой параметр неактивен.

                                                                                                                                              пример — proekt316.ru/truba-sendvich-1000-mm
                                                                                                                                              тут, опция «Диаметр» зависит от опции «Толщина».

                                                                                                                                              возможно решить проблему?
                                                                                                                                                Володя
                                                                                                                                                16 октября 2019, 16:58
                                                                                                                                                0
                                                                                                                                                Добрый.
                                                                                                                                                замените в чанке вывода опций
                                                                                                                                                | json_encode: 256 | htmlentities
                                                                                                                                                на
                                                                                                                                                | json_encode: 320 | htmlentities
                                                                                                                                                  imnot
                                                                                                                                                  16 октября 2019, 17:16
                                                                                                                                                  0
                                                                                                                                                  спасибо, теперь, всё работает!
                                                                                                                                                Альберт
                                                                                                                                                19 октября 2019, 12:01
                                                                                                                                                0
                                                                                                                                                Собственно, вопрос — гуглил, не нашел.

                                                                                                                                                Есть ли решения, как использовать в управлении сайтом msOptionsPrice2 для удобства, но иметь разные страницы для каждой модификации? Выгрузка в маркет требует отдельной страницы для каждого товара, а без бубна я решений не обнаружил.
                                                                                                                                                  Дмитрий Танцирев
                                                                                                                                                  22 октября 2019, 15:44
                                                                                                                                                  0
                                                                                                                                                  Приветствую! Наблюдаю странное поведение старой цены.
                                                                                                                                                  Даже на вашем демо-сайте.

                                                                                                                                                  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
                                                                                                                                                    Вячеслав Варов
                                                                                                                                                    26 октября 2019, 22:18
                                                                                                                                                    0
                                                                                                                                                    Привет! У меня вопрос по отображению превью модификации товара в корзине, почему-то при выводе товаров через msCart $product.options.modification тут пусто, и модификация не отображается, с чем это может быть связанно?
                                                                                                                                                      Вячеслав Варов
                                                                                                                                                      27 октября 2019, 00:56
                                                                                                                                                      0
                                                                                                                                                      не правильно определялась модификация, разобрался
                                                                                                                                                        Sergey (Sentinel)
                                                                                                                                                        21 мая 2020, 16:11
                                                                                                                                                        0
                                                                                                                                                        А можете подсказать? У меня та же проблема…
                                                                                                                                                      bonzaznob
                                                                                                                                                      bonzaznob
                                                                                                                                                      14 января 2020, 03:48
                                                                                                                                                      0
                                                                                                                                                      Добрый день!
                                                                                                                                                      Есть ли возможность добавить кастомное поле в список модификаций, созданное через minishop2 Plugins?
                                                                                                                                                        eflit
                                                                                                                                                        05 июня 2020, 06:15
                                                                                                                                                        0
                                                                                                                                                        Здравствуйте, подскажите вы узнали как это сделать?
                                                                                                                                                        George Kosmach
                                                                                                                                                        25 марта 2020, 18:12
                                                                                                                                                        0
                                                                                                                                                        С чем может быть связано что вкладка появляется не во всех товарах?
                                                                                                                                                        В товаре без категории появляется, в других нет.

                                                                                                                                                        Вопрос снят. не все шаблоны указал в настройках.
                                                                                                                                                          Дарья Сизова
                                                                                                                                                          14 апреля 2020, 21:42
                                                                                                                                                          0
                                                                                                                                                          Здравствуйте! Подскажите, пожалуйста, можно ли с помощью msOptionsPrice2 реализовать следующее.
                                                                                                                                                          Есть товар — диван. У него в качестве модификации есть выбор материала обивки под заказ (разный материал — разная наценка к базовой стоимости). На странице товара при клике на выпадающий список вариантов обивки надо, чтобы появлялись не просто текстовые значения (типа, красный, зеленый и т.д.), а изображения материала. Очень наглядно это представлено на сайте икеи (пример).
                                                                                                                                                          Можно ли средствами msOptionsPrice2 реализовать это?
                                                                                                                                                          И второй вопрос: можно ли сделать так, чтобы изображения для материала хранились и отображались отдельно от изображений самого товара?
                                                                                                                                                            mekirile
                                                                                                                                                            07 мая 2020, 12:27
                                                                                                                                                            0
                                                                                                                                                            Подскажите, как задать условие в mFilter2, чтобы вывести фильтр только с теми модификациями, у которых count>0?
                                                                                                                                                              mekirile
                                                                                                                                                              07 мая 2020, 18:57
                                                                                                                                                              0
                                                                                                                                                              Нужно в кастомном классе в двух местах нужно поправить условие, чтобы count был не больше 1, а больше 0.
                                                                                                                                                              prntscr.com/sco83t, а также установить public $showZeroCount в значние false
                                                                                                                                                              Sergey (Sentinel)
                                                                                                                                                              20 мая 2020, 19:17
                                                                                                                                                              0
                                                                                                                                                              Какие обязательные условия должны быть соблюдены чтобы вывести 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
                                                                                                                                                                elen
                                                                                                                                                                01 июня 2020, 14:34
                                                                                                                                                                0
                                                                                                                                                                Добрый день. Подскажите, пожалуйста, пытаюсь создать модификации на основе 1 опции. Опция в виде выпадающего списка создана через minishop2. После создания модификаций, если 1 из опций не назначена товару в админке, все значения опций выводятся в 1 строку select>тег option через запятую, если назначена, то она выводится единственной опцией в одном select. Аналогичные модификации, созданные ранее на основе нескольких опций (1 из них size), работает верно. В чем может быть ошибка?
                                                                                                                                                                  Rost
                                                                                                                                                                  Rost
                                                                                                                                                                  08 июля 2020, 13:23
                                                                                                                                                                  -2
                                                                                                                                                                  Не советую постоянные проблемы с ним, выходили ошибки вот такого характера вернул деньги.
                                                                                                                                                                  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р.
                                                                                                                                                                    Володя
                                                                                                                                                                    08 июля 2020, 13:37
                                                                                                                                                                    -1
                                                                                                                                                                    видимо вы в настройку window_modification_fields добавили спецсимвол
                                                                                                                                                                      Rost
                                                                                                                                                                      Rost
                                                                                                                                                                      08 июля 2020, 13:43
                                                                                                                                                                      -1
                                                                                                                                                                      не кто не что не добавлял, просто у вас дополнение работает коряво, жду денег наконец-то потратил уйма времени и пустую.
                                                                                                                                                                        Володя
                                                                                                                                                                        08 июля 2020, 13:45
                                                                                                                                                                        -1
                                                                                                                                                                        ок
                                                                                                                                                                          Rost
                                                                                                                                                                          Rost
                                                                                                                                                                          08 июля 2020, 13:47
                                                                                                                                                                          -1
                                                                                                                                                                          советую с начало дорабатывать дополнение, а потом уже размещать.
                                                                                                                                                                          Документацию нормально напишите как msExtraFields, у многих вопросы.
                                                                                                                                                                          А решений дождаться не реально всё через js у вас решается.
                                                                                                                                                                        Rost
                                                                                                                                                                        Rost
                                                                                                                                                                        08 июля 2020, 13:45
                                                                                                                                                                        -1