Релиз Minishop 2.2 pl и 2.3 alpha. Отчет о работе

По результатам обсуждения в соседней ветке назрела необходимость подвести промежуточные итоги по проекту и наметить дальнейшие шаги.




Результаты работы
1) В репозиторий Modstore выложена версия 2.2 pl «Система характеристик»;
2) Инструкция к версии 2.2 → (после отладки оформим на docs.modx.pro);
3) В репозиторий Modstore.pro выложена для совместного тестирования версия 2.3 alpha «Система торговых предложений», так как по результатам альфа-тестирования комментариев не поступило.
4) Версия от Павла Скрицкого «Настраиваемые поля в заказе», разработанная за счет Simple Dream: yadi.sk/d/H86tFejdidmm4 (после отладки будет включена в итоговый релиз).

Финансовый отчет (с 14.2 по 24.8)
По ссылке выкладываю фин. отчет: docs.google.com/spreadsheets/d/1ZpNfuchD9veXH1-M13AP1t7djhYttkqmU5jNnf9i-bg/edit?usp=sharing

Основные выводы:
Всего собрано: 100 240,97 руб.
Расходы на работу программистов: 82 258,00 руб.
Расходы на комиссию ЯД и сервис рассылки эл. писем: 859 руб.
Остаток на счету: 17 123,97 руб.

Обратите внимание, что деньги расходуются только на оплату работы программистов и связанные издержки. Работы по координации проекта, сбору средств, подготовке отчетов и т. д. — осуществлялись за счет Simple Dream.

План-факт, деньги
Изначальная смета →

  • Система характеристик (план: 56 000,00 руб.; факт: 57 058,00 руб.).
    Готовность: pl.
  • Система торговых предложений (план: 36 000,00 руб.; факт: р.25 200,00 руб.).
    Готовность: beta.
  • Учет складских остатков (план: 28 000,00 руб.; факт: 0 руб.).
    Готовность: Не готово.
  • Настраиваемые поля в заказе (план: 28 000,00 руб.; факт: 0 руб. (за счет Simple Dream)).
    Готовность: beta.
План-факт, сроки
Планировали к 15 июля выпустить версию 2.3, включающую «Учет складских остатков» (не входит в текущий выпуск) и собрать 148 000 руб. на эти работы (вместо 100 240 руб.).

Дальнейшие шаги
  • Начинаем совместное тестирование и отладку новой версий. Виталий Киреев планирует с сентября отвечать на вопросы в топике и вносить правки.
  • Мы приостанавливаем сбор средств на следующие версии до отладки текущей. После этого совместно решаем судьбу проекта. Возможно — запускаем процесс рефакторинга кода с Василием Наумкиным.
Ждем баг-репортов, пожеланий и предложений.

P. S. Присоединяйтесь к баг-фиксингу. Работу оплачиваем по ставке 400 рублей в час из нашего стабфонда.
Баг-трекер: trello.com/b/kmNuL7Os/minishop2
Виталий
24 августа 2015, 19:10
modx.pro
2
5 585
+11

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

Владимир Дремучий
25 августа 2015, 01:55
+2
Я поддерживаю «запуск инициативы» рефакторинга кода за Василием, и готов внести деньги за любую движуху. Потому что, вижу разумным продолжать разработку в виде команды Simple Dream с основателем компонента. Единственное что, постарайтесь уведомлять «о пожертвовании» по чаще и прикрепите пост, в здоровой практике это даже нормально.
    Alexander V
    25 августа 2015, 05:58
    0
    Очень не хватает настройки дочерних товаров для категории, как это сделано в Tickets. Хотя бы шаблона для товара. Лишнее телодвижение для менеджеров. Постоянно шпарятся…
      Ilya Ev
      25 августа 2015, 11:20
      0
      Добрый день, а верно я понимаю, из описания, что торговому предложению нельзя загрузить свою картинку?

      И если я верно понимаю, Sku не является ресурсом и соответственно нельзя будет показать «торговые предложения» в каталоге и производить их фильтрацию через mFilter2 вместе с обычными товарами?
        Виталий Киреев
        25 августа 2015, 13:09
        +1
        Можно выбрать «открыть Галерею» правой кнопкой в таблице торговых предложений.

        Sku присоединяется через join, просто раньше был один sku (msProductData), а теперь этих msProductData несколько на товар. Например, чтобы показывался один основной товар, в сниппете можно указать в условии &where {'Data.default':1} — все остальные поля старые, соответственно и фильтры на них старые.
        Ilya Ev
        25 августа 2015, 12:47
        0
        установил
        при открытии раздела получаю

        [2015-08-25 12:45:18] (ERROR @ www/core/components/minishop2/processors/mgr/product/getlist.class.php : 113) PHP warning: Invalid argument supplied for foreach()
        [2015-08-25 12:45:32] (ERROR @ /manager/index.php) Error 42S22 executing statement: 
        Array
        (
            [0] => 42S22
            [1] => 1054
            [2] => Unknown column 'msProductData.sku_id' in 'field list'
        )
        Товаров в списке нет. При попытке создать новы товар админка падает.
          Виталий
          25 августа 2015, 12:49
          0
          Отписал Виталику Кирееву — обещал ответить.
            Виталий Киреев
            25 августа 2015, 13:34
            0
            Чистая установка или обновление на другую версию?
              Ilya Ev
              25 августа 2015, 13:44
              0
              Обновление
                Виталий Киреев
                25 августа 2015, 14:17
                0
                С какой версии?
                  Ilya Ev
                  25 августа 2015, 14:27
                  0
                  модх 2.4
                  минишоп был 2.2.0 beta4. Пробовал поставить 2.2.0 pl поставить а потом 2.3.0 alpha, не помогло.
                    Aliaksandr Katlou
                    25 августа 2015, 21:52
                    +2
                    Баг с обновлением исправлен, завтра обновится пакет в репозитории.
                      Aliaksandr Katlou
                      25 августа 2015, 23:57
                      0
                      Уже обновился, верстия таже осталась.
                        Ivan Shvindin
                        26 августа 2015, 09:06
                        0
                        Теперь после обновления при открытии товара белый экран и ошибка
                        [2015-08-26 09:05:03] (ERROR @ /manager/index.php) Encountered empty IN condition with key resource_id
                          Aliaksandr Katlou
                          26 августа 2015, 10:17
                          0
                          А на каком хостинге проблема? Только что дополнительно обновился на нескольких сайтах на модхосте — при открытии товара все в порядке.
              Виталий
              27 августа 2015, 14:11
              0
              Коллеги! Приглашаю активней тестировать, комментировать, дополнять документацию.

              P. S. Пока на призыв к действию отозвались Роман Ганин, Максим Кузнецов и Михаил Воеводский (помимо Виталика Киреева). Кто еще может активно поучаствовать в тестировании, отладки и подготовке документации? — пишите в личку.
                Василий Наумкин
                27 августа 2015, 14:18
                +2
                Думаю, пора просто сделать в репозитории версию 2.2.0-pl основной — сразу будет больше тестеров.

                Как только Виталий примет вот этот патч и обновит версию в репозитории — можно отключать 2.1.12-pl.
                  Виталий
                  27 августа 2015, 20:28
                  0
                  Виталик говорит, что патч принял. Обновил в репозитории modstore.pro miniShop до 2.2pl2 — можно проверять.

                  P. S. Обнаружил некоторую ошибку при удалении пакета в меню остаются «ошметки» в 2.4: yadi.sk/i/zpWNUqdOihZQj. Такое поведение характерно не только для «Минишопа», но и для modDevTools, например.
                    Василий Наумкин
                    27 августа 2015, 21:39
                    0
                    Ошмётки могут пропасть после очистки кэша, наверное.

                    В общем, в репозитории сейчас минимально активная версия — 2.2.0-pl, все багрепорты ваши.
                but1head
                27 августа 2015, 20:03
                0
                Я правильно понимаю, что торговое предложение имеет связь размер-цвет и каждая такая связь отличается по цене?
                Для этих дел мне пришлось msop2 переписывать под себя…
                  Виталий Киреев
                  27 августа 2015, 20:15
                  +2
                  Да, для всех вариантов размера, цвета и других множественных характеристик.
                    but1head
                    27 августа 2015, 20:18
                    0
                    Как получить на тест это дело? На прошлый сбор точно скидывался, на этот если честно не помню.
                      Виталий
                      27 августа 2015, 20:29
                      0
                      Скачивай из репозитория modstore.pro
                        but1head
                        28 августа 2015, 14:10
                        0
                        Fatal error: Call to undefined function array_column() in /var/www/asn/data/www/***site.ru***/core/components/minishop2/controllers/product/update.class.php on line 60

                        modx 2.4 + последняя альфа
                          Виталий
                          28 августа 2015, 14:12
                          0
                          2.2 нормально встал?
                          После обновления с 2.2 на 2.3 ошибка?
                          На каком хостинге?
                            Василий Наумкин
                            28 августа 2015, 14:18
                            0
                            array_column() появился только в PHP 5.5

                            Видимо, новый miniShop2 теперь требует PHP 5.5 для работы
                              but1head
                              28 августа 2015, 14:19
                              0
                              Василий прав, стоит 5.3 :)
                                Виталий
                                28 августа 2015, 14:23
                                0
                                Попробуй на modhost.pro: там корректно устанавливается.
                                  Василий Наумкин
                                  28 августа 2015, 14:30
                                  0
                                  Конечно, там же PHP 5.5 =)

                                  Но таких хостингов очень мало. На многих хостингах до сих пор 5.2 по умолчанию.
                                  Виталий
                                  31 августа 2015, 17:45
                                  0
                                  Обновил в Modstore: теперь 2.3 поддерживает PHP 5.3. Проверь, пожалуйста.
                                  Виталий
                                  28 августа 2015, 14:23
                                  0
                                  Передам разработчикам, чтобы попробовали обеспечить работу от 5.3
                                    Виталий
                                    31 августа 2015, 17:17
                                    0
                                    Удалось исключить новую функцию
                                    В следующей версии 2.3.X будет поддержка 2.3 — отпишусь отдельно, когда обновим в магазине.
                                  but1head
                                  28 августа 2015, 14:36
                                  0
                                  хм, и еще не понятно, как на фронтэнде вывести другие цены товара (предложения)?

                                  В моем понимании меняя размер-цвет на фронтэнде должны менятся:
                                  а) фото
                                  б) цены
                                  в) размеры привязаны к цветам
                                    Виталий Киреев
                                    31 августа 2015, 17:51
                                    0
                                    По умолчанию в запрос добавляется условие groupby=msProduct.id, и нам в данном случае надо добавить параметр &groupby=`Data.sku_id`.
                                      Ilya Ev
                                      01 сентября 2015, 11:08
                                      0
                                      Попробовал еще раз установить на чисто. Вроде все хорошо ошибки пропали, все заработало.

                                      Но вот я не пойму как работать со sku на фронте.
                                      Например если я нахожусь на странице товара как мне вывести все его sku
                                      как запрос составить
                                      [[!msProducts? &limit=`30` &tpl=`tpl.msProducts.row.variant` &where=`{"Data.sku_id":"[[*id]]"}`]]
                                      Как надо поправить вызов для категорий, так как sku не видно в списке товаров

                                      [[!mFilter2?
                                      						&limit=`36`
                                      						&parents=`[[*id]]`
                                      						&element=`msProducts`
                                      &paginator=`pdoPage`
                                      &cache=`1` &cacheTime=`3600`
                                      &tplPageWrapper=`@INLINE <div class="pagination"><ul id="mse2_pagination" class="pagination">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul></div>`
                                      &tplOuter=`tpl.mFilter2.outer.prod`
                                      &showEmptyFilters=`0`
                                      &tpls=`tpl.msProducts.row,tpl.msProducts.grid`
                                      						&filters=`
                                      							ms|price:number,
                                      							ms|made_in,
                                      							ms|vendor:vendors,
                                      							ms|new:boolean,
                                      							ms|favorite:boolean
                                      
                                      						`
                                      						&suggestionsRadio=`
                                      							ms|new,ms|favorite
                                      						`
                                      						&class=`msProduct`
                                      						&sort=`ms|new:desc,ms|favorite:desc,ms|price:asc`
                                      						&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
                                      						&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
                                      					]]
                                        Виталий Киреев
                                        01 сентября 2015, 11:13
                                        +1
                                        Пока так:
                                        [[!msProducts? &limit=`30` &tpl=`tpl.msProducts.row.variant`
                                         &where=`{"msProduct.id":"[[*id]]"}` &groupby=`Data.sku_id`]]
                                          Ilya Ev
                                          01 сентября 2015, 11:33
                                          0
                                          Так тоже ничего не выводит, хотя sku у товара есть

                                          0.0000601: xPDO query object created
                                          0.0003011: leftJoined msProductData as Data
                                          0.0002651: leftJoined msVendor as Vendor
                                          0.0000038: Grouped by Data.sku_id
                                          0.0001252: Added selection of msProduct: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
                                          0.0000589: Added selection of msProductData: `sku_id`, `article`, `sku_name`, `default`, `price`, `old_price`, `weight`, `image`, `thumb`, `vendor`, `made_in`, `new`, `popular`, `favorite`, `tags`, `color`, `size`, `source`, `availability`, `shiper`, `pack`, `rank`, `set_price`, `in_price`, `pre_price`
                                          0.0000429: Added selection of msVendor: `name` AS `vendor.name`, `resource` AS `vendor.resource`, `country` AS `vendor.country`, `logo` AS `vendor.logo`, `address` AS `vendor.address`, `phone` AS `vendor.phone`, `fax` AS `vendor.fax`, `email` AS `vendor.email`, `description` AS `vendor.description`, `properties` AS `vendor.properties`
                                          0.0008581: Processed additional conditions
                                          0.0012240: Added where condition: class_key=msProduct, msProduct.id=3115, msProduct.parent:IN(3115), msProduct.published=1, msProduct.deleted=0
                                          0.0000842: Sorted by msProduct.id, ASC
                                          0.0000041: Limited to 30, offset 0
                                          0.0005560: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `msProduct`.`id`, `msProduct`.`type`, `msProduct`.`contentType`, `msProduct`.`pagetitle`, `msProduct`.`longtitle`, `msProduct`.`description`, `msProduct`.`alias`, `msProduct`.`link_attributes`, `msProduct`.`published`, `msProduct`.`pub_date`, `msProduct`.`unpub_date`, `msProduct`.`parent`, `msProduct`.`isfolder`, `msProduct`.`introtext`, `msProduct`.`richtext`, `msProduct`.`template`, `msProduct`.`menuindex`, `msProduct`.`searchable`, `msProduct`.`cacheable`, `msProduct`.`createdby`, `msProduct`.`createdon`, `msProduct`.`editedby`, `msProduct`.`editedon`, `msProduct`.`deleted`, `msProduct`.`deletedon`, `msProduct`.`deletedby`, `msProduct`.`publishedon`, `msProduct`.`publishedby`, `msProduct`.`menutitle`, `msProduct`.`donthit`, `msProduct`.`privateweb`, `msProduct`.`privatemgr`, `msProduct`.`content_dispo`, `msProduct`.`hidemenu`, `msProduct`.`class_key`, `msProduct`.`context_key`, `msProduct`.`content_type`, `msProduct`.`uri`, `msProduct`.`uri_override`, `msProduct`.`hide_children_in_tree`, `msProduct`.`show_in_tree`, `msProduct`.`properties`, `Data`.`sku_id`, `Data`.`article`, `Data`.`sku_name`, `Data`.`default`, `Data`.`price`, `Data`.`old_price`, `Data`.`weight`, `Data`.`image`, `Data`.`thumb`, `Data`.`vendor`, `Data`.`made_in`, `Data`.`new`, `Data`.`popular`, `Data`.`favorite`, `Data`.`tags`, `Data`.`color`, `Data`.`size`, `Data`.`source`, `Data`.`availability`, `Data`.`shiper`, `Data`.`pack`, `Data`.`rank`, `Data`.`set_price`, `Data`.`in_price`, `Data`.`pre_price`, `Vendor`.`name` AS `vendor.name`, `Vendor`.`resource` AS `vendor.resource`, `Vendor`.`country` AS `vendor.country`, `Vendor`.`logo` AS `vendor.logo`, `Vendor`.`address` AS `vendor.address`, `Vendor`.`phone` AS `vendor.phone`, `Vendor`.`fax` AS `vendor.fax`, `Vendor`.`email` AS `vendor.email`, `Vendor`.`description` AS `vendor.description`, `Vendor`.`properties` AS `vendor.properties` FROM `modx_site_content` AS `msProduct` LEFT JOIN `modx_ms2_products` `Data` ON `msProduct`.`id`=`Data`.`id` LEFT JOIN `modx_ms2_vendors` `Vendor` ON `Data`.`vendor`=`Vendor`.`id` WHERE  ( `msProduct`.`class_key` = 'msProduct' AND `msProduct`.`id` = 3115 AND `msProduct`.`parent` IN (3115) AND `msProduct`.`published` = 1 AND `msProduct`.`deleted` = 0 )  GROUP BY Data.sku_id ORDER BY msProduct.id ASC LIMIT 30 "
                                          0.0001280: SQL executed
                                          0.0000999: Total rows: 0
                                          0.0000122: Rows fetched
                                          0.0000138: Returning raw data
                                          0.0040820: Total time
                                          20 709 376: Memory usage
                                            Виталий Киреев
                                            01 сентября 2015, 13:52
                                            0
                                            `msProduct`.`id` = 3115 AND `msProduct`.`parent` IN (3115)
                                            &parents=`0` емнип
                                            Ilya Ev
                                            01 сентября 2015, 14:10
                                            0
                                            Ага, с таким запросом
                                            [[!msProducts? &limit=`30` &tpl=`tpl.msProducts.row.variant` &where=`{"Data.id":"[[*id]]"}` &groupby=`Data.sku_id` &parents=`0`]]
                                            Вывел.

                                            А как теперь получить вывод для mFilter2, всех товаров раздела и основной товар и sku.

                                            [[!mFilter2?
                                            						&limit=`36`
                                            						&parents=`[[*id]]`
                                            						&element=`msProducts`
                                            &paginator=`pdoPage`
                                            &cache=`1` &cacheTime=`3600`
                                            &tplPageWrapper=`@INLINE <div class="pagination"><ul id="mse2_pagination" class="pagination">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul></div>`
                                            &tplOuter=`tpl.mFilter2.outer.prod`
                                            &showEmptyFilters=`0`
                                            &tpls=`tpl.msProducts.row,tpl.msProducts.grid`
                                            						&filters=`
                                            							ms|price:number,
                                            							ms|made_in,
                                            							ms|vendor:vendors,
                                            							ms|new:boolean,
                                            							ms|favorite:boolean
                                            
                                            						`
                                            						&suggestionsRadio=`
                                            							ms|new,ms|favorite
                                            						`
                                            						&class=`msProduct`
                                            						&sort=`ms|new:desc,ms|favorite:desc,ms|price:asc`
                                            						&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
                                            						&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
                                            					]]
                                            Виталий Киреев
                                            03 сентября 2015, 05:27
                                            0
                                            Аналогично с groupby не работает?
                                            Ilya Ev
                                            03 сентября 2015, 09:55
                                            +1
                                            да заработало.

                                            только один момент остался. надо видимо изменить набор полей для добавления sku в корзину

                                            <input type="hidden" name="id" value="[[+id]]">
                                            			<input type="hidden" name="count" value="1">
                                            			<input type="hidden" name="options" value="[]">
                                            С таким вариантом при клике на товар и на sku в корзину кладется основной товар а не sku
                                            Купчинский Михаил
                                            21 сентября 2015, 15:45
                                            0
                                            Виталий, подскажите как сделать выборку только зависимых sku товара?
                                            При таком варианте
                                            [[!msProducts? &limit=`30` &tpl=`tpl.msProducts.row.variant` &where=`{"Data.id":"[[*id]]"}` &groupby=`Data.sku_id` &parents=`0`]]
                                            выводятся все товары включая главный.
                                            Купчинский Михаил
                                            21 сентября 2015, 16:07
                                            0
                                            Похоже разобрался сам.
                                            &where=`{"Data.id":"[[*id]]","Data.default:=":0}`
                                            Виталий Киреев
                                            21 сентября 2015, 16:08
                                            +1
                                            &where=`{"Data.id":"[[*id]]", "Data.default":0}`
                                            Купчинский Михаил
                                            21 сентября 2015, 16:10
                                            +1
                                            Ок, спасибо Виталий
                                      but1head
                                      01 сентября 2015, 12:40
                                      0
                                      так получается, что если я на фронте изменил цвет товара (пользователь) цена не изменится?

                                      в msop2 было логично построено, я думал вы это допилили, что при смене цвета — размера меняется артикул и цены, ну и фото.
                                        Виталий Киреев
                                        03 сентября 2015, 05:29
                                        0
                                        Это все в разработке.
                                          Klike
                                          15 октября 2015, 14:22
                                          0
                                          Скажите, пожалуйста, когда примерно это будет реализовано?
                          Купчинский Михаил
                          22 сентября 2015, 12:23
                          0
                          Столкнулся с такой ошибкой. на версии 2.3.0-alpha2 не удаляются изображения у товара.
                          Пишет вот такую ошибку POST cheeseonfarm.ru/assets/components/minishop2/connector.php 500 (Internal Server Error)
                            Виталий
                            23 сентября 2015, 14:24
                            0
                            Спасибо. Подтвердил. В следующей версии — поправим.
                              Купчинский Михаил
                              05 октября 2015, 12:34
                              0
                              Виталий, добрый день! Нет ли уже решения данной проблемы. Выяснилось, что изображения не только не удаляются но и не обновляются превьюшки.
                              Может эту проблему можно пофиксить без обновления всего минишопа?
                                Виталий
                                05 октября 2015, 12:39
                                0
                                Приветствую, Михаил.

                                Договорился, чтобы Виталий Киреев сегодня вечером посмотрел в чем дело. Думаю, что скоро проблема разрешится.
                                Виталий Киреев
                                05 октября 2015, 16:13
                                +1
                                Быстрый фикс: core\components\minishop2\model\minishop2\msproductfile.class.php
                                25 строка поменять
                                if ($product = $this->xpdo->getObject('msProduct', $this->get('product_id'))) {
                                на
                                if ($product = $this->xpdo->getObject('msProductData', $this->get('product_id'))) {
                                  Купчинский Михаил
                                  05 октября 2015, 17:59
                                  +1
                                  Спасибо! теперь все работает. Картинки удаляются, превьюшки можно перегенерировать. Ресурсы в виде товара тоже удаляются
                            Волков Николай
                            03 октября 2015, 20:11
                            0
                            Здравствуйте! В версии 2.3 alpha 2 были введены «Торговые предложения». При работе с ними столкнулся с тем, что сниппеты msProducts и msOptions и т.п. не корректно работают со свойствами не основных версий товара.

                            В коде сниппета msProducts я нашел переменную, которой нет в документации «showSKU». Если ее значение 1, то в SQL запросе меняется группировка на «Data.sku_id». Но этого не достаточно, т.к. нужно еще изменить в запросе LEFT JOIN с msProductData.product_id=Data.id на msProductData.product_id=Data.sku_id

                            Куда, если будут мысли по правкам кода, в дальнейшем можно писать?
                              Павел Ширяев
                              04 октября 2015, 13:55
                              0
                              Если я правильно понимаю, то можно пулл реквесты писать сюда:

                              github.com/argnist/miniShop2
                                Виталий Киреев
                                04 октября 2015, 14:51
                                0
                                product_id и sku_id — разные идентификаторы, и соединять по ним неправильно.
                                  Волков Николай
                                  04 октября 2015, 15:04
                                  0
                                  1) Ой, я описался, msProductOptions.product_id=Data.sku_id
                                  2) Тогда почему у меня в таблице msProductOptions для торговых предложений в product_id стоит индентификатор совпадающий именно с sku_id?
                                    Виталий Киреев
                                    04 октября 2015, 15:38
                                    +1
                                    Ну да, здесь надо. Поправим.
                                      Волков Николай
                                      04 октября 2015, 15:47
                                      0
                                      Еще предложение одно есть:

                                      Можно стандартные свойства color, size, tag и тп убрать из стандартной модели и сделать, как плагины? Просто далеко не для всех интернет-магазинов эти свойства нужны и было бы удобно, если бы их можно было отключить без изменения стандартных файлов minishop?
                                        Виталий Киреев
                                        05 октября 2015, 16:17
                                        +1
                                        Вы их всегда можете отключить в настройках ms2_product_extra_fields и т.п.
                                          Волков Николай
                                          05 октября 2015, 16:38
                                          0
                                          Да, я знаю об этом. Смысл моей идеи заключается в том, чтобы при больших магазинах их было значительно проще убрать не просто через настройки в админке, но и физически из БД, чтобы поиск в ней был быстрее.
                                            Дмитрий
                                            06 октября 2015, 23:20
                                            0
                                            ms2_product_extra_fields кстати не учитывается при создании и редактировании торговых предложений. Сделаете?

                                            Еще вопрос: не выводятся во фронт дополнительные опции у торговых предложений.
                                            Там надо как-то по-особенному их подключить? Или пока не работает?

                                            И в админке в таблицу торговых предложений тоже не выводятся кстати.
                                              Виталий
                                              07 октября 2015, 07:29
                                              0
                                              Добавил в очередь задач. Виталий обещал посмотреть.
                                  but1head
                                  04 октября 2015, 03:50
                                  0
                                  Как-то новостей все нет и нет. Когда планируется выход?
                                    Павел Гвоздь
                                    04 октября 2015, 14:39
                                    0
                                    Подскажите, пожалуйста, что с минишопом? Всё так затягивается, что невольно задаёшься вопросом, не лучше ли было собрать денег автору компонента, который впоследствии мог его и дальше поддерживать? Сейчас стоит неопределённость, из-за которой автор не может ничего дальше делать. Насколько я понял, Василий не очень жалует то, что накодили сторонние разработчики. Может тогда есть смысл задуматься уже на этом этапе, как быть дальше?
                                      Виталий
                                      04 октября 2015, 16:08
                                      0
                                      Привет.

                                      Отвечу по пунктам:
                                      Подскажите, пожалуйста, что с минишопом?
                                      По результатам тестирования «Минишопа» членами сообщества накопился небольшой перечень задач, которые уже выполнены Виталием Киреевым или их еще нужно пофиксить: trello.com/b/kmNuL7Os/minishop-2-3 и коммиты в Github. Виталий сказал, что закроет оставшиеся задачи.

                                      В таск-менеджер также добавляем небольшую доработку, вытекающую из соседнего обсуждения: modx.pro/components/6324-release-minishop-2-2-pl-3-and-2-beta1/#comment-47012

                                      Когда планируется выход?
                                      Тем не менее, я считаю, что говорить о выпуске стабильной версии (тем более о дате) — рано, пока кто-нибудь из сообщества не подтвердит (и продемонстрирует) корректную работу нововведений 2.3 на каком-либо боевом проекте.

                                      не лучше ли было собрать денег автору компонента, который впоследствии мог его и дальше поддерживать
                                      Напомню, что Василий до сих пор не участвовал в проекте не из-за недостатка финансирования, а потому что в тот период времени у него не было возможности и желания работать с «Минишопом». Поэтому предлагаю не спешить с организацией сбора средств.

                                      Сейчас стоит неопределённость, из-за которой автор не может ничего дальше делать.
                                      Сейчас Василий работает над одним достаточно крупным проектом. По его готовности мы будем обсуждать возможность и формат рефакторинга кода «Минишопа».

                                      Может тогда есть смысл задуматься уже на этом этапе, как быть дальше?
                                      С удовольствием выслушаем предложения.

                                      Насколько я понял, Василий не очень жалует то, что накодили сторонние разработчики.
                                      Ничего не могу прокомментировать — не слышал об этом.
                                      P. S. «Сторонние разработчики» — это Виталий Киреев, видимо.
                                      Виталий
                                      05 октября 2015, 20:22
                                      0
                                      Опубликована версия 2.3.0 alpha3: modstore.pro/packages/ecommerce/minishop2

                                      Changelog for 2.3:
                                      2.3.0 alpha3
                                      ==============
                                      - Added a trade proposal;
                                      - Fixed bug with removing product images;
                                      - After removing the superfluous additions nothing it is left menu;
                                      - Fixed errors that appear in the log installation Minishop2;
                                      - Changed the addition of a set of fields SKU to cart;
                                      - Table msProductOptions for trade proposals product_id is no longer an identifier coincides exactly with sku_id;
                                      - Implemented the grouping of options in the front;
                                      - Add the output unit of measure and the description of the options in the admin;
                                      - Fixed installation Pdotools in the admin;
                                      - Added support for PHP 5.3 in the Minishop;
                                      - Fixed error when opening the category of goods;
                                      - Framed documentation docs.modx.pro.
                                      P. S. Следующей версией пусть будет RC.
                                        Это сообщение было удалено
                                          Это сообщение было удалено
                                            Это сообщение было удалено
                                              Это сообщение было удалено
                                                Стас
                                                Стас
                                                06 октября 2015, 03:07
                                                -3
                                                А если вы не полное гавно, требую отправить мне на почту причины, по которым, Вы удалили 3 моих комента
                                                  Василий Наумкин
                                                  06 октября 2015, 08:41
                                                  +2
                                                  Я тебя вообще отключу, если ты не понимаешь, что текст твоего комментария должен быть хоть как-то связан с топиком, в котором он написан.

                                                  Кому какое дело, что ты там написал и как ты лично относишься к MODX и другим системам? Верно, никакого.

                                                  Сейчас ты нафлудил уже 5 ненужных комментариев, не советую продолжать.
                                                    Іван Клімчук
                                                    06 октября 2015, 10:06
                                                    +1
                                                    А чем там было то? Вот заработался и пропустил самое интересное, а теперь любопытно )
                                                      Василий Наумкин
                                                      06 октября 2015, 10:36
                                                      +1

                                                      Причём, я его не блокировал — он сам отключился через 10 попыток неправильной авторизации.

                                                      Элегантно выпилился, в общем. Домен на Украине, наверное, очередное совпадение.
                                                        Владимир
                                                        06 октября 2015, 10:52
                                                        +1
                                                        Ранее, комментарий того же пользователя:
                                                        modx.pro/components/5807-ticketmessages-testing-of-new-features/#comment-41724
                                                        «Например на этом сайте. Здесь человек не меньше 500. Я предлагаю чат делать в полном объеме только для зарегистрированных. Кто будет спамить, отключить не проблема.
                                                        Увы, нападает на людей помутнение рассудка :) Откуда бы они ни были.
                                                          Стас
                                                          Стас
                                                          12 октября 2015, 23:33
                                                          0
                                                          Прошу меня извинить. Все произошло из-за обычного недопонимания. Яхотел сказать что, есть здесь большое сообщество, много труда. И не хотелось, что бы все это зависело только от разработчиков modx (чем они сейчас занимаются никому не известно). Было бы неплохо сделать это на каком-нибудь фреймворке. Не выжно на каком, сделать альтернативную ветку, так сказать.
                                                            Василий Наумкин
                                                            13 октября 2015, 03:36
                                                            0
                                                            Так мы и делаем это на каком-нибудь фреймворке — MODX.

                                                            Если вдруг (вдруг) с ним что-то случится, то уже сделанные решения всё равно будут работать, никуда не денутся.

                                                            Если есть желание тащить на себе альтернативную ветку — в добрый путь. Я не потяну.
                                                    Мордынский Николай
                                                    07 октября 2015, 11:02
                                                    0
                                                    Куда можно отписаться по поводу ошибок.

                                                    Есть категория каталог в ней 300 категорий с товарами В общей сложности в районе 20 тысяч товаров. Категория стало невозможно сохранить, при нажатии на сохранить отваливаеться по тайм ауту и не хватает памяти выделили все ресурсы физического сервера, все рано не проходит сохранение. Наблюдается только в общей категории — Каталог (20 к потомков)
                                                      Виталий
                                                      07 октября 2015, 11:15
                                                      0
                                                      Николай, привет.

                                                      Спасибо за репорт. Тут явно проблема уже не с фунционалом 2.2 и 2.3, но тем не менее нужно разобраться.

                                                      Напиши, пожалуйста, Виталию Кирееву, думаю, что он поможет с вопросом.
                                                    Klike
                                                    13 октября 2015, 16:49
                                                    0
                                                    Пробую вывести значения из поля tags и made_in, в фильтре:
                                                    &filters=`
                                                        		ms|tags
                                                        		,ms|made_in`

                                                    Значения поля made_in выводятся корректно,
                                                    из поля tags – в JSON.
                                                    Если указываю msoption|tags, как раньше – ничего не выводит.
                                                    Подскажите, пожалуйста, как вывести в корректном формате?
                                                      Виталий Киреев
                                                      13 октября 2015, 17:11
                                                      0
                                                      2.2 или 2.3? &showLog=`1` что показывает?
                                                        Klike
                                                        13 октября 2015, 17:13
                                                        0
                                                        2.3
                                                        0.0001030: xPDO query object created
                                                        0.0005250: leftJoined msProductData as Data
                                                        0.0002651: leftJoined msVendor as Vendor
                                                        0.0000050: Grouped by msProduct.id
                                                        0.0001121: Added selection of msProduct: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
                                                        0.0000410: Added selection of msProductData: `sku_id`, `article`, `sku_name`, `default`, `price`, `old_price`, `weight`, `image`, `thumb`, `vendor`, `made_in`, `new`, `popular`, `favorite`, `tags`, `color`, `size`, `source`
                                                        0.0000420: Added selection of msVendor: `name` AS `vendor.name`, `resource` AS `vendor.resource`, `country` AS `vendor.country`, `logo` AS `vendor.logo`, `address` AS `vendor.address`, `phone` AS `vendor.phone`, `fax` AS `vendor.fax`, `email` AS `vendor.email`, `description` AS `vendor.description`, `properties` AS `vendor.properties`
                                                        0.0000579: Processed additional conditions
                                                        0.0003629: Added where condition: class_key=msProduct, msProduct.id:IN(17,18,19,20,21,22,23,25,26,27,30), msProduct.published=1, msProduct.deleted=0
                                                        0.0000529: Sorted by `Data`.`price` asc,`Data`.`article` desc, 
                                                        0.0000050: Limited to 12, offset 0
                                                        0.0004900: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `msProduct`.`id`, `msProduct`.`type`, `msProduct`.`contentType`, `msProduct`.`pagetitle`, `msProduct`.`longtitle`, `msProduct`.`description`, `msProduct`.`alias`, `msProduct`.`link_attributes`, `msProduct`.`published`, `msProduct`.`pub_date`, `msProduct`.`unpub_date`, `msProduct`.`parent`, `msProduct`.`isfolder`, `msProduct`.`introtext`, `msProduct`.`richtext`, `msProduct`.`template`, `msProduct`.`menuindex`, `msProduct`.`searchable`, `msProduct`.`cacheable`, `msProduct`.`createdby`, `msProduct`.`createdon`, `msProduct`.`editedby`, `msProduct`.`editedon`, `msProduct`.`deleted`, `msProduct`.`deletedon`, `msProduct`.`deletedby`, `msProduct`.`publishedon`, `msProduct`.`publishedby`, `msProduct`.`menutitle`, `msProduct`.`donthit`, `msProduct`.`privateweb`, `msProduct`.`privatemgr`, `msProduct`.`content_dispo`, `msProduct`.`hidemenu`, `msProduct`.`class_key`, `msProduct`.`context_key`, `msProduct`.`content_type`, `msProduct`.`uri`, `msProduct`.`uri_override`, `msProduct`.`hide_children_in_tree`, `msProduct`.`show_in_tree`, `msProduct`.`properties`, `Data`.`sku_id`, `Data`.`article`, `Data`.`sku_name`, `Data`.`default`, `Data`.`price`, `Data`.`old_price`, `Data`.`weight`, `Data`.`image`, `Data`.`thumb`, `Data`.`vendor`, `Data`.`made_in`, `Data`.`new`, `Data`.`popular`, `Data`.`favorite`, `Data`.`tags`, `Data`.`color`, `Data`.`size`, `Data`.`source`, `Vendor`.`name` AS `vendor.name`, `Vendor`.`resource` AS `vendor.resource`, `Vendor`.`country` AS `vendor.country`, `Vendor`.`logo` AS `vendor.logo`, `Vendor`.`address` AS `vendor.address`, `Vendor`.`phone` AS `vendor.phone`, `Vendor`.`fax` AS `vendor.fax`, `Vendor`.`email` AS `vendor.email`, `Vendor`.`description` AS `vendor.description`, `Vendor`.`properties` AS `vendor.properties` FROM `modx_site_content` AS `msProduct` LEFT JOIN `modx_ms2_products` `Data` ON `msProduct`.`id`=`Data`.`id` LEFT JOIN `modx_ms2_vendors` `Vendor` ON `Data`.`vendor`=`Vendor`.`id` WHERE  ( `msProduct`.`class_key` = 'msProduct' AND `msProduct`.`id` IN (17,18,19,20,21,22,23,25,26,27,30) AND `msProduct`.`published` = 1 AND `msProduct`.`deleted` = 0 )  GROUP BY msProduct.id ORDER BY `Data`.`price` asc,`Data`.`article` desc LIMIT 12 "
                                                        0.0020869: SQL executed
                                                        0.0001562: Total rows: 11
                                                        0.0002379: Rows fetched
                                                        0.0006440: Returning raw data
                                                        0.0066829: Checked the active modifiers
                                                        0.0978432: Loaded chunk "tpl.msProducts.row"
                                                        0.1120369: Loaded options for products
                                                        0.0000110: Returning processed chunks
                                                        0.1555181: Total time
                                                        9 699 328: Memory usage
                                                          Василий Наумкин
                                                          15 октября 2015, 03:33
                                                          0
                                                          2.3 в еще даже не бета — никто её не поддерживает.
                                                            Виталий
                                                            15 октября 2015, 10:33
                                                            0
                                                            Виталий Киреев и Евгений Дурягин внесут незначительные корректировки из таск-менеджера и изменим название следующей версии на RC. Сейчас название некорректное — больше месяца дополнение тестируется пользователями, поэтому по сути это ß)

                                                            Коллеги, у кого-нибудь есть пример живого магазина на версии 2.3?
                                                            Пока не появится живое подтверждение — релизную версию выпускать нельзя.
                                                              Василий Наумкин
                                                              15 октября 2015, 10:45
                                                              +1
                                                              Ну вот как будет rc — добавлю поддержку в mSearch2.
                                                                Виталий
                                                                15 октября 2015, 10:46
                                                                0
                                                                Супер.

                                                                Я пока Евгения попросил посмотреть, что для этого может потребоваться.
                                                      Мордынский Николай
                                                      15 октября 2015, 01:12
                                                      +1
                                                      Опции здорово реализованы, создал в предложениях идею minishop2.reformal.ru/proj/minishop2?ia=857193

                                                      Опциям нужны (Значения по умолчанию)

                                                      Обоснование. Товар назначенный в категорию с привязанной опцией, получает значение этой опции а она пустая и надо лезьть в каждый товар и менять значение. К примеру нам нужно назначить опцию флаг на товар.
                                                      Делаем категорию с опцией, добавляем туда товар и нам дополнительно нужно влезать в товар и чекать опцию в товаре, чтобы переключить флаг, значение по умолчанию избавит от лишних манипуляций.

                                                      По поводу сложных опций с выпадающим списком хорошо бы дать возможность назначать дефолт опции к конкретно взятой категории, кстати и флагов это тоже может касаться.

                                                      Обратил внимание, что в категориях столбец умолчание есть, но вроде бы не работает.

                                                      Извиняюсь если что не так понял ^^

                                                        Виталий
                                                        15 октября 2015, 10:15
                                                        0
                                                        Николай, привет.

                                                        Спасибо за отзыв.

                                                        Действительно значения по умолчанию реализованы, проверил на выпадающем списке:

                                                        1


                                                        2


                                                        3


                                                        Для флага — пока не понял, как выставить умолчания — отправил вопрос Виталию.
                                                          Мордынский Николай
                                                          15 октября 2015, 10:25
                                                          0
                                                          Да я это нашел и принцип понял, но у меня почему то не удалось заставить срабатывать дефолтные значения. Все так как у вас стрелочками, только по итогу на 3 скрине у меня в значении опции пусто.

                                                          Создаю опцию для категории -> назначаю ее в категорию -> даю ей дефолт из возможных вариантов-> помещаю товар в категорию… по идее все параметр должен быть у товара уже. но нету
                                                            Виталий
                                                            15 октября 2015, 10:27
                                                            0
                                                            Вот доступ на сутки, где у меня всё сработало:
                                                            s3210.h4.modhost.pro/manager/
                                                            Логин: s3210
                                                            Пароль: OVAOPz0rZEb6

                                                            Может имеет смысл пересоздать опцию?
                                                              Мордынский Николай
                                                              15 октября 2015, 10:54
                                                              0
                                                              только что пересоздал опцию переподключил все заного не срабатывает. Сейчас у вас посмотрю как сделано
                                                                Виталий
                                                                15 октября 2015, 10:55
                                                                0
                                                                Давайте.

                                                                Если станет понятна закономерность, добавьте, пожалуйста, описание к задаче: trello.com/c/E6ZPkCU5/31--
                                                                  Мордынский Николай
                                                                  15 октября 2015, 11:02
                                                                  0
                                                                  Значения по умолчанию в любом случае вводить руками придеться? Есть шанс опечатки при наборе
                                                                    Виталий
                                                                    15 октября 2015, 11:26
                                                                    0
                                                                    Как доп. хотелку добавлю в Trello «Автокомплит значений опции при вводе значения по умолчанию»
                                                                Мордынский Николай
                                                                15 октября 2015, 10:59
                                                                0
                                                                Странно повидимому косяк гдето у меня. На вашем сервере теже самые действия дают нужный результат ))
                                                                  Виталий
                                                                  15 октября 2015, 11:00
                                                                  0
                                                                  Это Modhost ;)
                                                                    Мордынский Николай
                                                                    15 октября 2015, 19:57
                                                                    0
                                                                    В общем дефолты не работают для флага и выпадающего списка, да нет и выпадашка работают.
                                                          Волков Николай
                                                          15 октября 2015, 14:13
                                                          0
                                                          Здравствуйте! Возникло 2 вопроса:
                                                          1) В таблице ms2_products имеется столбец «source». Не подскажите зачем он нужен?
                                                          2) Как сделать так, чтобы в форме генерации торговых предложений у свойств, добавленных через плагины, была такая же табличка с возможностью выбора нескольких вариантов, как и у свойств, добавленных через настройки в опциях для категорий?
                                                            Воеводский Михаил
                                                            15 октября 2015, 14:27
                                                            0
                                                            1) В этот столбец записывается привязанный к товару источник файлов.
                                                              Виталий Киреев
                                                              15 октября 2015, 17:20
                                                              0
                                                              2) Поле должно находиться в $modx->getFieldMeta('msProductData'), phptype у поля json или array, а значения берутся из msProductOption.
                                                              rrrro
                                                              18 октября 2015, 21:12
                                                              0
                                                              Попробовал обновиться с 2.2.0-pl2 на 2.3.0-alpha3 на рабочем магазине.
                                                              1. Пропали все картинки из галереи товара в админке. На странице товара отображение товара тоже перестали выводиться в плейсхолдеры типа [[+270x370]]. [[+image]] и [[+thumbs]] доступны.
                                                              2. Потёрлись все значения в добавленных опциях товаров.
                                                                Купчинский Михаил
                                                                19 октября 2015, 10:34
                                                                0
                                                                Присоединяюсь. У меня тоже самое. Только есть маленькое уточнение. Значения в добавленных опциях в товаре не видны. Ив карточке товара на фронте не выводятся. Но фильтр по всем этим опциям работает. даже при сбросе кеша.
                                                                Дмитрий
                                                                31 октября 2015, 22:14
                                                                0
                                                                Присоединяюсь. На стр. товара попробовал вызывать
                                                                [[!msGallery?  &where=`{'Data.default':1}`]]
                                                                Could not process query, error #1054: Unknown column 'Data.default' in 'where clause'
                                                                Но не помогло. Видимо этого не достаточно.
                                                                  Дмитрий
                                                                  31 октября 2015, 22:32
                                                                  0
                                                                  [[!msGallery?  
                                                                      &product=`[[*id]]`
                                                                      &showLog=`1`
                                                                      ]]
                                                                  0.0001950: Added where condition: product_id=5131, parent=0
                                                                  5131 это не id, а sku_id который выставлен по умолчанию, но картинок для него нет. Да и картинки по умолчанию в админке не отображаются.
                                                                    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                                    108