[miniShop2] Версия 2.4.0 rc


Представляю вам последнюю тестовую версию miniShop2.4-rc.



Наконец-то, в этой версии представлены изменения, которые нарушат работу текущих магазинов при обновлении.
Это связано с переходом на Fenom, и, как следствие, изменением логики работы сниппетов и сокращением общего количества чанков.

Еще раз, НЕ ОБНОВЛЯЙТЕ РАБОЧИЕ МАГАЗИНЫ, ПОКА НЕ ПРОЧИТАЕТЕ ЭТУ ЗАМЕТКУ ЦЕЛИКОМ!!!

Итак, удалены чанки:
— tpl.msOrder.delivery, tpl.msOrder.payment, tpl.msOrder.success и tpl.msOrder.outer
— tpl.msCart.row и tpl.msCart.empty
— tpl.msGetOrder.row
— tpl.msOptions.outer и tpl.msOptions.row
— tpl.msProductOptions.outer и tpl.msProductOptions.row
— tpl.msGallery.outer, tpl.msGallery.row и tpl.msGallery.empty

Добавлены чанки:
— tpl.msOrder
— tpl.msCart
— tpl.msGetOrder
— tpl.msOptions
— tpl.msProductOptions
— tpl.msGallery

Было 24 чанка, стало 16 — по одному на каждый сниппет + несколько почтовых уведомлений.

Например, вот сокращенный вывод корзины:
<div id="msCart">
    {if !count($products)}
        {'ms2_cart_is_empty' | lexicon}
    {else}
        <div class="table-responsive">
            <table class="table table-striped">
                <tr class="header">
                    <th class="image"> </th>
                    <th class="title">{'ms2_cart_title' | lexicon}</th>
                    ...
                </tr>
		{foreach $products as $product}
                    <tr id="{$product.key}">
                        <td class="image">
                            <img src="{$product.thumb}" alt="{$product.pagetitle}" title="{$product.pagetitle}"/>
                        </td>
                        <td class="title">
                                <a href="{$product.id | url}">{$product.pagetitle}</a>
                        </td>
                        ...
                    </tr>
                {/foreach}
                <tr class="footer">
                    <th class="total" colspan="2">{'ms2_cart_total' | lexicon}:</th>
                    ...
                </tr>
            </table>
        </div>
{/if}
То есть, мы прямо в чанке проверяем количество товаров, и если их нет — то выводим сообщение о пустой корзине. Если же они есть — то разбираем их самостоятельно, проверяя и оформляя все значения.

Больше не нужно бегать по 3 чанкам и что-то менять — всё в одном месте. Модификаторы MODX тоже не нужны, всё делает Fenom.

Скорость, простота и удобство. Надо, конечно, переписать все свои старые чанки, но такова цена прогресса.

Оформление писем

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

А с помощью Fenom мы можем использовать один шаблон и расширять его другими.
Для чего в комплекте с miniShop2 идёт чанк tpl.msEmail с общим шаблоном письма по умолчанию, который разбит на смысловые блоки.

Другие письма расширяют этот чанк и меняют нужные им блоки:
  • logo — логотип магазина со ссылкой на главную страницу
  • title — заголовок письма
  • products — таблица заказанные товаров
  • footer — ссылка на сайте в подвале письма
Это позволяет очень легко модифицировать письма разных статусов заказа.

Например, письмо с новым заказом покупателю выглядит так:
{extends 'tpl.msEmail'}

{block 'title'}
    {'ms2_email_subject_new_user' | lexicon : $order}
{/block}

{block 'products'}
    {parent}
    {if $payment_link?}
        <p style="margin-left:20px;{$style.p}">
            {'ms2_payment_link' | lexicon : ['link' => $payment_link]}
        </p>
    {/if}
{/block}
Как видите, здесь наследуется основной шаблон, меняется заголовок, а к таблице товаров добавляется ссылка на оплату (если есть).


Обратите внимание, что в miniShop2 теперь есть и неплохой почтовый шаблон из коробки.

Ах, да! Все письма теперь подготавливаются сниппетом msGetOrder, так что вы легко можете тестировать их оформление с его помощью:
[[!msGetOrder?
	&id=`15`
	&tpl=`tpl.msEmail.new.user`
]]
админам выводятся любые заказы

Сниппеты

Все сниппеты переписаны заново, понимают массивы в параметрах (для вызова из Fenom), выводят лог работы и позволяют указывать общие параметры pdoTools там, где это логически обоснованно.

Понятно дело, все стандартные чанки тоже переписаны и даже поддерживают адаптивность из коробки, если у вы используете Twitter Bootstrap.

Но это всё фигня, потому что впервые в истории для всех сниппетов написана документация с примерами — docs.modx.pro/components/minishop2/snippets/

Галерея

Ну а галерея теперь использует Fotorama.

Скрипты и стили подключаются только если в чанке галереи есть блок .fotorama. Так что, если вам она не нужна — просто измените чанк.

Заключение

Полгода работы, сотни файлов и тысячи строк — miniShop2 полностью обновлён и переписан, чтобы служить вам верой и правдой еще несколько лет. Весь интерфейс админки, все классы, сниппеты, чанки, новая система регистрации дополнений, скрипты и стили фронтенда.

Помимо рефакторинга, важнейшей задачей было написание документации — и вот она docs.modx.pro/components/minishop2/.

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

Больше никаких работ не планируется, только исправление найденных ошибок и выпуск стабильной версии после этого.

Сказать спасибо за проделанную работу можно через PayPal или форму на bezumkin.ru (требует авторизацию через id.modx.pro).

Новая версия уже установлена на minishop2.com и доступна в репозитории modstore.pro.

P.S.

Пришла спасибо от Максима — 500р.
И еще одна, тоже 500р — от Паши Гвоздя.
Владимир Бурнос — еще 500р.
Юрий Браги — 1000р!
Александр Здоров — 500р.
Павел Романов — еще 1000р!
Старый друг Виталий Батушев — 1000р!
Парни из modstore.pro заготовили и перечислили еще 30000 рублей!

Всем ответное «спасибо» и «на здоровье»!

P.P.S.

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

Надеюсь на понимание.
26 июня 2016, 16:02    Василий Наумкин   G+  
10    4640 +31

Комментарии (191)

  1. Женёк 26 июня 2016, 16:36 # 0
    Чанк msProduct.content не переписан.
    1. Василий Наумкин 26 июня 2016, 16:43 # +5
      Переписан, но он остался на MODX тегах, потому что Fenom не парсит все страницы сайта по умолчанию.

      И я не хочу заставлять всех включать эту настройку.
      1. Комментарий был удален.
        1. Комментарий был удален.
          1. Комментарий был удален.
            1. Комментарий был удален.
              1. Комментарий был удален.
                1. Комментарий был удален.
                  1. Комментарий был удален.
              2. Комментарий был удален.
                1. Комментарий был удален.
                  1. Комментарий был удален.
            2. Комментарий был удален.
              1. Комментарий был удален.
          2. Владимир 26 июня 2016, 19:01 # 0
            Сейчас начал делать магаз на Minishop, пока накидал структуру, есть смысл делать на новой версии или делать сразу на 2.4? в репах не видно этой версии
            1. Василий Наумкин 26 июня 2016, 19:21 # +2
              Делай сразу на новой.

              В modstore.pro лежат 2 версии: 2.2 и 2.4. Сначала ставится первая, а потом её можно обновить на вторую. Как проверим, что 2.4-rc не имеет фатальных ошибок, 2.2 отключу.
            2. Иван Тюмеров 26 июня 2016, 21:28 # 0
              После обновления до 2.4-rc в админке перестали открываться категории товаров.
              При клике на категорию справа пустое серое окно. В консоли вижу следующее:

              http://sitename.ru/manager/min/index.php?f=/assets/components/minishop2/c…0-rc,/assets/components/minishop2/css/mgr/bootstrap.buttons.css?v=2.4.0-rc
              Failed to load resource: the server responded with a status of 400 (Bad Request)
              
              http://sitename.ru/manager/min/index.php?f=/assets/components/minishop2/j…rc,/assets/components/minishop2/js/mgr/category/product.grid.js?v=2.4.0-rc
              Failed to load resource: the server responded with a status of 400 (Bad Request)
              
              http://sitename.ru/manager/min/index.php?f=/assets/components/ace/ace/ace…s?v=2.4.0-rc,/manager/assets/modext/sections/resource/update.js?v=2.4.0-rc
              Failed to load resource: the server responded with a status of 400 (Bad Request)
              
              http://sitename.ru/manager/min/index.php?f=/assets/components/minishop2/js/mgr/category/update.js?v=2.4.0-rc
              Failed to load resource: the server responded with a status of 400 (Bad Request)
              
              http://sitename.ru/manager/min/index.php?f=/assets/components/ace/ace/ace…s?v=2.4.0-rc,/manager/assets/modext/sections/resource/update.js?v=2.4.0-rc
              Failed to load resource: the server responded with a status of 400 (Bad Request)
              
              http://sitename.ru/manager/min/index.php?f=/assets/components/minishop2/j…rc,/assets/components/minishop2/js/mgr/category/product.grid.js?v=2.4.0-rc
              Failed to load resource: the server responded with a status of 400 (Bad Request)
              
              http://sitename.ru/manager/min/index.php?f=/assets/components/minishop2/c…0-rc,/assets/components/minishop2/css/mgr/bootstrap.buttons.css?v=2.4.0-rc
              Failed to load resource: the server responded with a status of 400 (Bad Request)
              
              sitename.ru/:32 Uncaught ReferenceError: miniShop2 is not defined
              http://sitename.ru/manager/min/index.php?f=/assets/components/minishop2/js/mgr/category/update.js?v=2.4.0-rc
              Failed to load resource: the server responded with a status of 400 (Bad Request)
              
              sitename.ru/:38 Uncaught TypeError: Cannot read property 'Ace' of undefined
              
              http://sitename.ru/manager/min/index.php?f=/assets/components/minishop2/c…0-rc,/assets/components/minishop2/css/mgr/bootstrap.buttons.css?v=2.4.0-rc
              Failed to load resource: the server responded with a status of 400 (Bad Request)
              Все кэши почистил. Проверял в разных браузерах.
              Версия MODX 2.4.3-pl
              Версия PHP 5.6
              В чем может быть дело?
              1. Иван Тюмеров 26 июня 2016, 21:53 # 0
                Пока помогла установка системных параметров compress_js и compress_css в значения Нет. Но это же не есть правильно.
                А ведь все остальные разделы сайта открываются нормально.
                1. Иван Тюмеров 26 июня 2016, 23:29 # +1
                  После обновления MODX до 2.5.0-pl страницы категории начали открываться и с включенной компрессией js и css.
                  1. Роман 27 июня 2016, 19:57 # 0
                    у меня только на «compress_js Да» в стойку встает, на «compress_css Да» не ругается
                    1. Иван Тюмеров 28 июня 2016, 09:58 # 0
                      В консоли ругался на подключение обоих типов файлов и я по отдельности просто не пробовал отключать. Выключал сразу и для js и для css :)
                      1. Роман 28 июня 2016, 19:12 # 0
                        чего-то я поторопился. До этого у меня не открывались Приложения->miniShop2->Заказы/Настройки. Я выключил js и css, как писал вверху. Сейчас проверил, категории товаров один фиг не открываются :-( Обновлять MODx чего-то сыкую. Сайт рабочий и порушить его как-то не хоцца. Чего делать?

                        P.S. Собственно, если создать ресурс «Товар магазина», то происходит то же самое: справа от дерева пусто
                        1. Андрей 28 июня 2016, 21:27 # 0
                          Сайт рабочий и порушить его как-то не хоцца. Чего делать?
                          Сделать бэкап, и доводить до ума на нём.
                          1. Роман 29 июня 2016, 00:07 # 0
                            MODx обновил до 2.5.0, легче не стало :-(
                2. Hiddenski 27 июня 2016, 05:40 # +1
                  Спасибо, Василий! Сбылись мои мечты, особенно за tpl.msEmail.* и tpl.msCart.*. Теперь меньше возни между ними.
                  1. Сергей Лим 28 июня 2016, 08:43 # 0
                    Новая галерея шикарная!
                    1. Денис 28 июня 2016, 10:52 # 0
                      у меня не работает форма оформления заказа, после нажатия на кнопку «Сделать заказ!» идет идет AJAX-запрос, а пхп возвращает фатальную ошибку

                      Fatal error: Call to protected method FenomX::_assertNoEval() from context '' in C:\OpenServer\domains\dragon.local\core\components\pdotools\model\pdotools\_fenom.php on line 529
                      1. Василий Наумкин 28 июня 2016, 10:56 # 0
                        Извини, не пользуюсь OpenServer.

                        На minishop2.com с PHP 7.0 всё отлично работает. Да и с другими версиями PHP пока никто больше на pdoTools не жаловался.
                        1. Денис 28 июня 2016, 11:31 # +1
                          переключил с php 5.3 на 5.4 и заработало
                      2. Денис Дыранов 28 июня 2016, 17:15 # 0
                        Есть сайт-витрина, который становится магазином. Пытаюсь изменить modResource на msProduct. Получаю в консоли:

                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP Fatal error:  Maximum function nesting level of '1000' reached, aborting! in /http/rada2/core/xpdo/xpdo.class.php on line 595
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP Stack trace:
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP   1. {main}() /http/rada2/connectors/index.php:0
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP   2. modConnectorRequest->handleRequest() /http/rada2/connectors/index.php:59
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP   3. modConnectorRequest->prepareResponse() /http/rada2/core/model/modx/modconnectorrequest.class.php:69
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP   4. modConnectorResponse->outputContent() /http/rada2/core/model/modx/modconnectorrequest.class.php:82
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP   5. modX->runProcessor() /http/rada2/core/model/modx/modconnectorresponse.class.php:131
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP   6. modProcessor->run() /http/rada2/core/model/modx/modx.class.php:1690
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP   7. modObjectUpdateProcessor->process() /http/rada2/core/model/modx/modprocessor.class.php:173
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP   8. modObjectUpdateProcessor->saveObject() /http/rada2/core/model/modx/modprocessor.class.php:822
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP   9. msProduct->save() /http/rada2/core/model/modx/modprocessor.class.php:837
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  10. modResource->save() /http/rada2/core/components/minishop2/model/minishop2/msproduct.class.php:158
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  11. modAccessibleObject->save() /http/rada2/core/model/modx/modresource.class.php:645
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  12. xPDOObject->save() /http/rada2/core/model/modx/modaccessibleobject.class.php:172
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  13. xPDOObject->_saveRelatedObjects() /http/rada2/core/xpdo/om/xpdoobject.class.php:1353
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  14. xPDOObject->_saveRelatedObject() /http/rada2/core/xpdo/om/xpdoobject.class.php:1536
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  15. msProductData->save() /http/rada2/core/xpdo/om/xpdoobject.class.php:1585
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  16. xPDOObject->save() /http/rada2/core/components/minishop2/model/minishop2/msproductdata.class.php:23
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  17. xPDOObject->_saveRelatedObjects() /http/rada2/core/xpdo/om/xpdoobject.class.php:1353
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  18. xPDOObject->_saveRelatedObject() /http/rada2/core/xpdo/om/xpdoobject.class.php:1536
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  19. msProduct->save() /http/rada2/core/xpdo/om/xpdoobject.class.php:1588
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  20. modResource->save() /http/rada2/core/components/minishop2/model/minishop2/msproduct.class.php:158
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  21. modAccessibleObject->save() /http/rada2/core/model/modx/modresource.class.php:645
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  22. xPDOObject->save() /http/rada2/core/model/modx/modaccessibleobject.class.php:172
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  23. xPDOObject->_saveRelatedObjects() /http/rada2/core/xpdo/om/xpdoobject.class.php:1353
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  24. xPDOObject->_saveRelatedObject() /http/rada2/core/xpdo/om/xpdoobject.class.php:1536
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  25. msProductData->save() /http/rada2/core/xpdo/om/xpdoobject.class.php:1585
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  26. xPDOObject->save() /http/rada2/core/components/minishop2/model/minishop2/msproductdata.class.php:23
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  27. xPDOObject->_saveRelatedObjects() /http/rada2/core/xpdo/om/xpdoobject.class.php:1353
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  28. xPDOObject->_saveRelatedObject() /http/rada2/core/xpdo/om/xpdoobject.class.php:1536
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  29. msProduct->save() /http/rada2/core/xpdo/om/xpdoobject.class.php:1588
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  30. modResource->save() /http/rada2/core/components/minishop2/model/minishop2/msproduct.class.php:158
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  31. modAccessibleObject->save() /http/rada2/core/model/modx/modresource.class.php:645
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  32. xPDOObject->save() /http/rada2/core/model/modx/modaccessibleobject.class.php:172
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  33. xPDOObject->_saveRelatedObjects() /http/rada2/core/xpdo/om/xpdoobject.class.php:1353
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  34. xPDOObject->_saveRelatedObject() /http/rada2/core/xpdo/om/xpdoobject.class.php:1536
                        [28-Jun-2016 18:59:37 Asia/Yekaterinburg] PHP  35. msProductData->save() /http/rada2/core/xpdo/om/xpdoobject.class.php:1585
                        
                        
                        php 5.6.10. Кэш чистил. Только у меня так? Раньше вроде работало. Причём замена на msProduct происходит, если обновить страницу, но после никакие изменения у товара не сохраняются.
                        1. Василий Наумкин 28 июня 2016, 17:51 # +1
                          Поправил, обновляйся.
                          1. Andrew Panyush 16 ноября 2017, 01:56 # 0
                            У меня вот версия 2.4.11, а проблема точно такая же
                            1. Andrew Panyush 16 ноября 2017, 12:26 # 0
                              Вот примерно так это выглядит:
                              6	0.2457	1705000	msProductUpdateProcessor->run( )	.../modx.class.php:1706
                              7	0.2802	1765488	msProductUpdateProcessor->process( )	.../modprocessor.class.php:173
                              8	0.3801	1897432	msProductUpdateProcessor->saveObject( )	.../modprocessor.class.php:833
                              9	0.3801	1897408	msProduct_mysql->save( )	.../modprocessor.class.php:848
                              10	0.3801	1897408	msProduct_mysql->save( )	.../msproduct.class.php:158
                              11	0.4066	1924152	msProduct_mysql->save( )	.../modresource.class.php:646
                              12	0.4067	1924152	msProduct_mysql->save( )	.../modaccessibleobject.class.php:172
                              13	0.4068	1924176	msProduct_mysql->_saveRelatedObjects( )	.../xpdoobject.class.php:1353
                              14	0.4068	1924976	msProduct_mysql->_saveRelatedObject( )	.../xpdoobject.class.php:1536
                              15	0.4068	1924976	msProductData_mysql->save( )	.../xpdoobject.class.php:1585
                              16	0.4069	1924976	msProductData_mysql->save( )	.../msproductdata.class.php:23
                              17	0.4070	1925072	msProductData_mysql->_saveRelatedObjects( )	.../xpdoobject.class.php:1353
                              18	0.4071	1925872	msProductData_mysql->_saveRelatedObject( )	.../xpdoobject.class.php:1536
                              19	0.4071	1925872	msProduct_mysql->save( )	.../xpdoobject.class.php:1588
                              20	0.4071	1925872	msProduct_mysql->save( )	.../msproduct.class.php:158
                              21	0.4237	1943296	msProduct_mysql->save( )	.../modresource.class.php:646
                              22	0.4237	1943296	msProduct_mysql->save( )	.../modaccessibleobject.class.php:172
                              23	0.4238	1943416	msProduct_mysql->_saveRelatedObjects( )	.../xpdoobject.class.php:1353
                              24	0.4239	1944216	msProduct_mysql->_saveRelatedObject( )	.../xpdoobject.class.php:1536
                              25	0.4239	1944216	msProductData_mysql->save( )	.../xpdoobject.class.php:1585
                              26	0.4239	1944216	msProductData_mysql->save( )	.../msproductdata.class.php:23
                              27	0.4241	1944312	msProductData_mysql->_saveRelatedObjects( )	.../xpdoobject.class.php:1353
                              28	0.4242	1945112	msProductData_mysql->_saveRelatedObject( )	.../xpdoobject.class.php:1536
                          2. Роман 29 июня 2016, 10:36 # 0
                            Василий, добрый день!
                            Как можно в логах посмотреть, что именно не работает, на что ругается miniShop? У меня не открываются категории и товары, а то в журнале ошибок ничего не пишет при этом.

                            Спасибо за понимание.
                            1. Василий Наумкин 29 июня 2016, 11:33 # 0
                              Смотри консоль сервера.

                              Ну и проверить работу можно на modhost.pro. Думаю, у тебя мешается какой-то другой компонент, например, AjaxManager.
                              1. Роман 29 июня 2016, 12:39 # 0
                                Вот чего пишет:

                                Ext.ComponentMgr</<.create()			ext-all.js:21
                                Ext.Container<.createComponent()			ext-all.js:21
                                Ext.Container<.lookupComponent()		ext-all.js:21
                                Ext.Container<.add()					ext-all.js:21
                                Ext.Container<.add/<()					ext-all.js:21
                                .each()								ext-base.js:21
                                Ext.Container<.add()					ext-all.js:21
                                Ext.Container<.initComponent()			ext-all.js:21
                                Ext.Panel<.initComponent()				ext-all.js:21
                                Ext.Component()						ext-all.js:21
                                .extend</</S<()						ext-base.js:21
                                .extend</</S<()						ext-base.js:21
                                .extend</</S<()						ext-base.js:21
                                Ext.ComponentMgr</<.create()			ext-all.js:21
                                Ext.Container<.createComponent()			ext-all.js:21
                                Ext.Container<.lookupComponent()		ext-all.js:21
                                Ext.Container<.add()					ext-all.js:21
                                Ext.Container<.add/<()					ext-all.js:21
                                .each()								ext-base.js:21
                                Ext.Container<.add()					ext-all.js:21
                                Ext.Container<.initComponent()			ext-all.js:21
                                Ext.Panel<.initComponent()				ext-all.js:21
                                Ext.TabPanel<.initComponent()			ext-all.js:21
                                Ext.Component()						ext-all.js:21
                                .extend</</S<()						ext-base.js:21
                                .extend</</S<()						ext-base.js:21
                                .extend</</S<()						ext-base.js:21
                                .extend</</S<()						ext-base.js:21
                                MODx.Tabs()							modx.jsgrps-min.js:4
                                Ext.ComponentMgr</<.create()			ext-all.js:21
                                Ext.Container<.createComponent()			ext-all.js:21
                                Ext.Container<.lookupComponent()		ext-all.js:21
                                Ext.Container<.add()					ext-all.js:21
                                Ext.Container<.add/<()					ext-all.js:21
                                .each()								ext-base.js:21
                                Ext.Container<.add()					ext-all.js:21
                                Ext.Container<.initComponent()			ext-all.js:21
                                Ext.Panel<.initComponent()				ext-all.js:21
                                Ext.FormPanel<.initComponent()			ext-all.js:21
                                Ext.Component()						ext-all.js:21
                                .extend</</S<()						ext-base.js:21
                                .extend</</S<()						ext-base.js:21
                                .extend</</S<()						ext-base.js:21
                                .extend</</S<()						ext-base.js:21
                                MODx.FormPanel()						modx.jsgrps-min.js:4
                                MODx.panel.Resource()					modx.panel.resource.js:25
                                miniShop2.panel.Category()				category.common.js:3
                                miniShop2.panel.UpdateCategory()			update.js:112
                                Ext.ComponentMgr</<.create()			ext-all.js:21
                                .load()								modx.js:85
                                ._loadComponents()					modx.jsgrps-min.js:3
                                MODx.Component()						modx.jsgrps-min.js:3
                                MODx.page.UpdateResource()				update.js:33
                                miniShop2.page.UpdateCategory()			update.js:13
                                Ext.ComponentMgr</<.create()			ext-all.js:21
                                .load()								modx.js:85
                                <анонимная>							manager:52
                                a/</<()								ext-all.js:21
                                Ext.util.DelayedTask/b()					ext-all.js:21
                                 ext-all.js:21:133120
                                
                                1. Василий Наумкин 29 июня 2016, 12:47 # 0
                                  Очень рад, что он тебе такое пишет. Мне это совершенно ни о чём не говорит.

                                  Проверь работу дополнения на modhost.pro и убедись, что там всё в порядке. А потом ищи конфликтующие дополнения у себя на сайте, начиная с AjaxManager и подобных «улучшателей» админки.
                                  1. Роман 29 июня 2016, 12:50 # 0
                                    Спасибо! Будем искать. AjaxManager у меня не установлен, значит кто-то другой
                                    1. Роман 30 июня 2016, 17:52 # 0
                                      шпиёном-вредителем оказался Tickets. Сейчас думаю, как победить
                                      1. Василий Наумкин 30 июня 2016, 18:02 # 0
                                        Поди обновить давно Tickets нужно.
                                        1. Роман 30 июня 2016, 18:26 # 0
                                          да, он очень давно не обновлялся. В далекие-далекие времена, я его как-то обновил, и у меня комментарии перестали добавляться. Я тогда писал об этом. В итоге откатился к старой версии, но что-то с твоего совета поменял в коде. С тех пор не обновлялся.

                                          Вот сейчас и думаю, что делать с этим. Буду экспериментировать с обновлениями :-)
                                          1. Роман 30 июня 2016, 23:15 # 0
                                            обновил :-))))) теперь с miniShop все хорошо, категории показываются и т.п. Болезнь перешла на Тикеты, теперь панель с ними не показывается
                                            1. Роман 01 июля 2016, 00:34 # 0
                                              Всё! Получилось!
                                2. Роман 29 июня 2016, 17:10 # 0
                                  если я создам товар не из категории, а просто в дереве ресурсов. Он не отображается в дереве. Как его потом найти? Или товар нужно создавать исключительно из категории?
                                  1. Воеводский Михаил 29 июня 2016, 17:14 # +1
                                    Правильная логика — создавать в категории. Некоторые механизме в товаре завязаны именно на родителя-категорию.
                                    1. Роман 29 июня 2016, 17:14 # 0
                                      вопрос снят, можно удалить
                                    2. ck 29 июня 2016, 17:20 # 0
                                      Не знаю, нужно ли такое фиксировать.
                                      В FF 38.0.5 при удалении заказа не исчезает прелоудер — joxi.ru/dp27oobSvXx627
                                      В Chrome ошибки нет.
                                      1. Артем 29 июня 2016, 21:06 # 0
                                        Делаю новый магазин, добрался до корзины. Хостинг Таймвеб, версия php7, когда начал собирать сайт, поставил minishop2-2.4.0-beta3 — работает стабильно. При обновлении сейчас до последней версии, сайт через 2-3 минуты уходит в даун (ошибка 500).

                                        В логах: PHP Fatal error: Uncaught Error: Call to undefined method miniShop2::loadMap() in /home/c/cl63547/dacha2000.call-center.bz/public_html/core/cache/includes/elements/modplugin/2.include.cache.php:9\nStack trace:\n#0 /home/c/cl63547/dacha2000.call-center.bz/public_html/core/model/modx/modscript.class.php(70): include()\n#1 /home/c/cl63547/dacha2000.call-center.bz/public_html/core/model/modx/modx.class.php(1600): modScript->process()\n#2 /home/c/cl63547/dacha2000.call-center.bz/public_html/core/model/modx/modx.class.php(531): modX->invokeEvent('OnMODXInit', Array)\n#3 /home/c/cl63547/dacha2000.call-center.bz/public_html/manager/index.php(52): modX->initialize('mgr')\n#4 {main}\n thrown in /home/c/cl63547/dacha2000.call-center.bz/public_html/core/cache/includes/elements/modplugin/2.include.cache.php on line 9, referer: dacha2000.call-center.bz/manager/

                                        После установки кеш сичтил. Дополнений на сайте минимум. Подскажите в чем может быть дело?
                                        1. Артем 29 июня 2016, 22:00 # 0
                                          Для чистоты эксперимента, создал на этом хостинге еще один тестовый сайт. Из дополнений только pdo и минишоп, та же самая ошибка
                                          1. Василий Наумкин 30 июня 2016, 06:39 # 0
                                            Для чистоты эксперимента, создал на modhost.pro еще один тестовый сайт — всё работает
                                            http://s5819.h5.modhost.pro/manager/
                                            s5819
                                            ZqkughmwaLwz
                                            1. Артем 30 июня 2016, 08:53 # 0
                                              Это понятно. Я обычно для проектов на Revo покупаю хостинг у вас, но в данном случае разместил на Таймвебе, так как нужно будет использовать большое количество поддоменов, а у вас ограничения на хостинге. Не подскажете, чем может быть вызвана ошибка, приведенная выше?
                                              1. Василий Наумкин 30 июня 2016, 09:05 # 0
                                                Не подскажу, я нигде из доступных мне серверов такой ошибки не вижу.
                                                Call to undefined method miniShop2::loadMap()
                                                Функция loadMap вполне себе на месте в классе miniShop2. Может хостинг как-то прям дико кэширует php код и у тебя там работает класс от версии 2.2

                                                Ограничение у нас только на домены второго уровня, на поддомены ограничений давно нет. То есть
                                                домен modx.pro считается, а id.modx.pro уже нет.

                                                На тарифе «Минимальный» можно добавить 3 домена второго уровня и сколько угодно поддоменов к ним.
                                        2. Степан Прищепенко 29 июня 2016, 22:09 # +1
                                          Привет Василий, хотел уточнить, правильно ли я понимаю, что с новым методом подключения классов (через addService) проблема с использованием нескольких компонентов, например доставки, на сайте отпадает?
                                          1. Василий Наумкин 30 июня 2016, 06:41 # +1
                                            Правильно.
                                            1. Viktor Kushnir 16 июля 2016, 23:31 # 0
                                              Василий, подскажи пжл, не совсем понял про регистрацию файла через addService. Где именно это нужно сделать?
                                          2. Алексей Бгатов 30 июня 2016, 02:01 # 0
                                            сниппет msCart, параметр includeTVs=`pic` дает сырой результат — без учета источника файлов.
                                            впервые работаю с Fenom, пытаюсь вывести что-то вроде
                                            {var $pic = $_modx->runSnippet('pattern', ['input' => $product.options.size])}
                                            <img src="{$pic ?: '/assets/uploads/'$product.pic}" class="hidden-xs">
                                            
                                            всё отваливается.
                                            так тоже:
                                            <img src="{$pic ?: '/assets/uploads/'.$product.pic}" class="hidden-xs">
                                            
                                            так
                                            <img src="{$pic ?: '/assets/uploads/'}" class="hidden-xs">
                                            
                                            и так
                                            <img src="{$pic ?: $product.pic}" class="hidden-xs">
                                            
                                            естесственно, работает.
                                            Как правильно строку к переменной присоединить?
                                            1. Василий Наумкин 30 июня 2016, 06:44 # 0
                                              Попробуй указать &prepareTVs=`1`

                                              А так — смотри строковые операторы.
                                              1. Алексей Бгатов 30 июня 2016, 13:02 # 0
                                                спасибо! prepareTVs, мог бы и сам догадаться)
                                            2. Евгений 30 июня 2016, 05:22 # 0
                                              HTTP ERROR 500
                                              [2016-06-30 05:17:37] (ERROR @ 
                                              /www/core/components/pdotools/model/pdotools/pdotools.class.php : 940) Unexpected tag 'w' in d683097ef31d185079bfb88d2a7c6090 line 60, near '{w[' <- there
                                              2.5.0-pl
                                              7.0.7
                                              2.4.0-rc
                                              2.5.4-pl
                                              1. Воеводский Михаил 30 июня 2016, 11:14 # +1
                                                Проблема в твоих скриптах и чанках. К minishop2 прямого отношения это не имеет. Fenom ругается на непредвиденный тэг где-то.
                                                1. Евгений 01 июля 2016, 01:18 # 0
                                                  Да, это pdotools тупил. Оказалось, что после удаления он еще и весь modx с собой забирает. Повезло, что перед удалением забэкапился.
                                                  1. but1head 01 июля 2016, 01:24 # 0
                                                    pdoTools тут не тупил, кто-то но явно не он.
                                                    Скорее всего код метрики\аналитикс вставили без пробелов от кавычек {w*****, вот и fenom ругался, что не понимает что такое w.
                                                    1. Евгений 01 июля 2016, 01:32 # 0
                                                      Не знаю, может быть. Проблема то не в этом, а в том, что pdotools вместе с modx-ом удаляется.

                                                      p.s. Не помню, когда код метрики\аналитикс вставлял последний раз. Сейчас только GTM ставлю и уже в него номер аналитикса и метрику (только гуглу не говорите :).
                                              2. Ilya Ev 30 июня 2016, 12:10 # 0
                                                Добрый день. Хотелось бы поинтересоваться о «судьбе» Товарных вариантов (SKU) зачатки которых были в предыдущих версиях. В заметке написано

                                                Больше никаких работ не планируется, только исправление найденных ошибок и выпуск стабильной версии после этого.
                                                Я верно понимаю, что реализовано этой функции в ближайшее время не будет и нужно и дальше продолжать «колхозить» на своих сайтах для реализации SKU?
                                                  1. Ilya Ev 30 июня 2016, 12:24 # 0
                                                    Понял спасибо. Просто немного боязно использовать не «стандартные методы сторонних разработчиков». Судьба и развитие дополнительных компонентов не всегда понятна, может перестать поддерживаться да и если потом это будет включено «в коробку» возникнут сложности переноса.
                                                    1. Василий Наумкин 30 июня 2016, 15:02 # +2
                                                      Я полгода переписывал то, что было. Включая дополнительные опции из версии 2.2.

                                                      На что-то новое замахиваться пока нет ни сил, ни желания. Да и разработчикам дополнений нужно привыкнуть хотя-бы к этой версии, прежде чем еще что-то накручивать.
                                                1. Артур 30 июня 2016, 16:44 # 0
                                                  Здравствуйте, не подскажете, в чем может быть проблема?
                                                  Снипет msProducts некоторые товары выводит по два раза, причем никакой логики и закономерности обнаружить не удалось( Просто рандомные товары… Только первый раз товар выводится с первой фоткой из галереи, а второй раз — со второй. Лог чистый
                                                  Вот вызов снипета
                                                  	[[!msProducts?
                                                          &tpl=`tpl.msProducts.row.TPL`
                                                          &includeThumbs=`227x170`
                                                          &limit=`0`
                                                          ]]
                                                  
                                                  Вот чанк
                                                  <div class="item">
                                                      
                                                      <form method="post" class="ms2_form">
                                                          <input type="hidden" name="id" value="{$id}">
                                                  		<input type="hidden" name="count" value="1">
                                                  		<input type="hidden" name="options" value="[]">
                                                  			
                                                  	<a href="{$id | url}">
                                                  		<img src="[[+227x170]]" alt="{$pagetitle}" title="{$pagetitle}"/>
                                                  		<div class="prev_item_name os3">{$pagetitle}</div>
                                                  	</a>
                                                  	<div class="prev_item_info">
                                                  		<table class="size_table">
                                                  			<tr>
                                                  				<td class="size_name">Размер, см:</td>
                                                  				<td class="size">
                                                  					[[!msOptions?
                                                      					&tpl=`tpl.msOptions.TPL`
                                                      					&product=`{$id}`
                                                      					&name=`size`
                                                      				]]
                                                  				</td>
                                                  			</tr>
                                                  		</table>
                                                  		<table class="char_table">
                                                  			<tr>
                                                  				<td>Чехол:</td>
                                                  				<td>{$cover_pr}</td>
                                                  			</tr>
                                                  			<tr>
                                                  				<td>Вес на 1 место:</td>
                                                  				<td>{$load}</td>
                                                  			</tr>
                                                  			<tr>
                                                  				<td>Жесткость:</td>
                                                  				<td>{$hard_pr}</td>
                                                  			</tr>
                                                  			<tr>
                                                  				<td>Блок пружин:</td>
                                                  				<td>{$block_pr}</td>
                                                  			</tr>
                                                  		</table>
                                                  		<table class="price_table os3">
                                                  			<tr>
                                                  				<td>
                                                  				    {if $old_price?}
                                                                      <span class="prev_old_price">{$old_price}</span>
                                                                      {/if}
                                                  					<span class="msop2 product-{$id} prev_price os4">{$price}</span>
                                                  				</td>
                                                  				<td><a href="{$id | url}">подробнее</a></td>
                                                  			</tr>
                                                  		</table>
                                                  	</div>
                                                  	
                                                  	</form>
                                                  </div>
                                                  
                                                  Заранее огромное спасибо!
                                                  1. Василий Наумкин 30 июня 2016, 16:53 # +1
                                                    Такое может быть только если у тебя нарушен порядок фотографий. То есть, 2 фотки с rank = 0.

                                                    Можно проверить в БД, можно просто посортировать картинки в галерее — при этом порядок исправится.
                                                    1. Артур 30 июня 2016, 17:05 # 0
                                                      Спасибо большое! Помогла перетасовка фотографий!
                                                  2. Константин Ильин 01 июля 2016, 15:08 # 0
                                                    Пытаюсь загрузить картинку для товара, вылетает ошибка: Передан пустой файл
                                                    Файл конечно же не пустой.
                                                    1. Василий Наумкин 01 июля 2016, 15:10 # 0
                                                      Прошу продемонстрировать ошибку на тестовом сайте modhost.pro
                                                      1. Klike 01 июля 2016, 15:16 # 0
                                                        Аналогичная ситуация, пытаюсь загрузить png размером 7кб, и выдает Передан пустой файл.
                                                        На modhost.pro пытаюсь воспроизвести – не получается)) Картинка загружается.
                                                        1. Василий Наумкин 01 июля 2016, 15:21 # 0
                                                          То есть, это какая-то криворукость хостинга.

                                                          Если что — вот где берётся содержимое файла, можете попробовать отдебажить косяк на своём хостинге.
                                                          1. Klike 01 июля 2016, 15:24 # 0
                                                            Да, как и я думал, дело было в версии php. 5.3. Поменяю версию. Спасибо, Василий!
                                                            1. Василий Наумкин 01 июля 2016, 15:25 # 0
                                                              У вас с Константином Ильиным случаем не один хостинг?
                                                              1. Klike 01 июля 2016, 15:35 # 0
                                                                webhost1.ru, версия 5.3 (один модуль в подпапке находится, который требует 5.3 или 5.4), а там на выбор: 5.3, 5.6, 7.0.
                                                                Поменял на 5.6, для теста – всё ок. Никогда не нравился этот хостер)
                                                                1. Василий Наумкин 01 июля 2016, 15:36 # +1
                                                                  Ну, раз уже 3 хостинга с ошибкой на 5.3, видимо дело таки в версии PHP.

                                                                  Постараюсь установить новую виртуальную машину с 5.3 и проверить.
                                                                  1. Василий Наумкин 02 июля 2016, 08:18 # 0
                                                                    Вот не поленился, установил виртуальную машину в PHP 5.3.10 — и опять всё работает! Что-то я не так делаю, наверное.
                                                                    1. Klike 02 июля 2016, 09:32 # 0


                                                                      Вот phpinfo(), может поможет)
                                                          2. Константин Ильин 01 июля 2016, 15:22 # 0
                                                            проблема оказалась банальной, PHP 5.3 стоял, поменял на 7-ю версию, все норм.
                                                            Спасибо за ваши труды Василий!
                                                            1. Василий Наумкин 01 июля 2016, 15:25 # 0
                                                              Странно, должно работать и на 5.3.
                                                              Полагаю, что на твоём хостинге он как-то необычно сконфигурирован. Подождём еще сообщений.

                                                              Кстати говоря, вся новая галерея товаров целиком портирована из платной ms2Gallery, с вырезанием некоторых функций. И в поддержке магазина у меня таких вопросов пока нет.
                                                              1. Константин Ильин 01 июля 2016, 15:27 # 0
                                                                ms2Gallery пользуюсь, до этого ошибок не было с ней.

                                                                Два сайта поменял, на версию выше оба заработали. Хостинг Таймвеб.

                                                                1. Василий Наумкин 01 июля 2016, 15:31 # 0
                                                                  Загадка.

                                                                  Подождём еще сообщений.
                                                                  1. Sergionicl 14 сентября 2016, 19:11 # 0
                                                                    На сервере используется два интернет магазина. На новом сайте сначала все загружалось нормально (ms2Gallery), однако недавно стало выводится сообщение «Передан пустой файл». Второй сайт работает нормально, даже после обновления. Версия PHP 5.3. Переходить на новую версию PHP в настоящее время не представляется возможным. Прошу оказать содействие.
                                                                    1. Василий Наумкин 14 сентября 2016, 19:13 # +1
                                                                      Прошу обновить miniShop2 до версии 2.4.3-pl, выпущенной сегодня.
                                                                      1. Sergionicl 15 сентября 2016, 10:34 # 0
                                                                        Отлично все заработало, живем. Спасибо за оперативность.
                                                        2. Сергей Самусев 01 июля 2016, 16:23 # 0
                                                          Может ли быть связана данная ошибка с обновлением minishop? Одинаковые номера у заказов.
                                                          1. Василий Наумкин 01 июля 2016, 16:27 # 0
                                                            100% так и есть, исправлю.
                                                            1. Сергей Самусев 01 июля 2016, 17:14 # 0
                                                              Отлично… работает! Спасибо!
                                                            2. Василий Наумкин 01 июля 2016, 16:38 # 0
                                                              Исправил, обновляйся.
                                                              1. Сергей Самусев 01 июля 2016, 17:03 # 0
                                                                Обновился. Тестим.
                                                            3. Сергей Самусев 01 июля 2016, 17:18 # 0
                                                              Еще вопрос:
                                                              Вывод фотографии товара в письме о новом заказе менеджеру не работает. Проверено на разных почтовых серверах.
                                                              Код чанка tpl.msGetOrder

                                                              Вид в mail.ru

                                                              Вид в Яндекс

                                                              Код письма в Яндекс
                                                              1. Василий Наумкин 01 июля 2016, 17:24 # 0
                                                                За почту отвечает вот этот чанк, и там указан полный путь к картинке.
                                                                <img src="{$site_url}{$product.thumb}"
                                                                	alt="{$product.pagetitle}"
                                                                	title="{$product.pagetitle}"
                                                                	width="120" height="90"/>

                                                                tpl.msGetOrder выводит картинки на сайте, а tpl.msEmail — в письме. В одном случае достаточно относительных url, в другом необходимы полные.
                                                                1. Сергей Самусев 01 июля 2016, 17:42 # 0
                                                                  Спасибо! Разобрался.
                                                              2. Евгений 01 июля 2016, 21:05 # -1
                                                                При добавлении любой картинки выходит ошибка ms2_gallery_err_no_source

                                                                PHP 7.0.8
                                                                1. Василий Наумкин 01 июля 2016, 22:33 # +5
                                                                  Ну что бы это могло быть? Прям загадка! Ответ прямо на твоём скриншоте, в правом верхнем углу.

                                                                  От таких вопросов в монастырь без интернета хочется уйти.

                                                                  MySQL 5.5 + Nginx 1.10.1 + PHP 7.0.7
                                                                  1. Евгений 01 июля 2016, 23:08 # 0
                                                                    Спасибо, не заметил. Раньше всегда по умолчанию там стоял ms2 images.

                                                                    Вот еще тогда глюк:

                                                                    Не показывается картинка здесь, хотя на сайте показывается.
                                                                    1. Василий Наумкин 02 июля 2016, 07:35 # +2
                                                                      Укажи правильный размер в системной настройке ms2_product_thumbnail_size
                                                                      1. Евгений 02 июля 2016, 17:37 # 0
                                                                        Спасибо.
                                                                        1. Евгений 02 июля 2016, 18:28 # 0
                                                                          Если сделать товар магазина без картинки, то страница выпадает в осадок
                                                                          Fatal error: Call to a member function getProperties() on null in ...core/cache/includes/elements/modsnippet/25.include.cache.php on line 71
                                                                          В старом minishope выводилась заглушка.
                                                                          Сейчас нужно отключать msGallery.
                                                                          В старом minishope нельзя было галерею отключать, т.к. все скрипты вместе с ним отключались.
                                                                          1. Василий Наумкин 02 июля 2016, 19:54 # +2
                                                                            Разберись, почему у твоих товаров свойство source = 0.

                                                                            Такого быть не должно, поэтому сниппет и падает при попытке работы с источником.
                                                                            1. Иван Тюмеров 08 июля 2016, 23:57 # 0
                                                                              Василий, можно ли как-то добавить в настройках категории товаров источник медиа файлов, чтобы всем товарам из этой категори назначался этот источни?
                                                                              А то есть разные категории товаров с отличающимися размерами картинок.
                                                                  2. Алексей Бгатов 04 июля 2016, 16:15 # 0
                                                                    А вопрос такой — никак не переопределить сниппет для формирования писем?
                                                                    я вот чуть переделал msGetOrder под проект, чтобы он еще несколько нужных значений выводил, сохранил под другим именем и вызвал его на странице оформления — на ней всё работает, но в письма уходит всё равно с пустыми местами вместо этих значений…
                                                                    ну и еще чанки бы тоже переопределять
                                                                    1. Воеводский Михаил 04 июля 2016, 18:04 # +2
                                                                      Решение — собственный класс заказа и переопределенный в нем метод changeOrderStatus()

                                                                      Перечитал вопрос и я понял, что предложенное вряд ли поможет.
                                                                      1. Василий Наумкин 04 июля 2016, 19:40 # 0
                                                                        Там и так всё, что только можно сниппетом выбирается, чего тебе не хватает?

                                                                        В крайнем случае, можно вызвать какой-то сниппет из чанка, для получения дополнительных данных.
                                                                        1. Алексей Бгатов 04 июля 2016, 19:49 # 0
                                                                          у меня корзина и заказ на разных страницах, хитрый рассчет скидок от суммы заказа в корзине, а при оформлении нужно показать и сырую цену, и размер скидки, и стоимость доставки — все по отдельности. Да не суть, мало ли какие кейсы бывают)
                                                                      2. gerasechkin 06 июля 2016, 12:40 # 0
                                                                        При добавлении опции товара с типом содержимого «Список с автодополнением», в товарах значения этой опции не сохраняются, если записать опции товаров напрямую в базу, в таблицу «ms2_product_options», то они не выводятся. С другими типами — все ок.
                                                                        1. Василий Наумкин 06 июля 2016, 14:27 # 0
                                                                          Поправил, обновляйся на rc3.
                                                                          1. gerasechkin 06 июля 2016, 16:18 # 0
                                                                            Заработало, спасибо.
                                                                        2. gagra33332 06 июля 2016, 23:43 # 0
                                                                          Только у меня не отображается поле цена товара в админке или это глюк последнего обновления?
                                                                          1. Clean 07 июля 2016, 00:38 # 0
                                                                            похоже на то что только у тебя, у меня все работает, только что проверил.
                                                                            1. Евгений 07 июля 2016, 02:16 # 0
                                                                              У меня тоже нету, хотя в ms2_product_main_fields поле price есть

                                                                              Если добавить price в ms2_product_extra_fields, то цена появляется и здесь удобнее, чем в главном окне.
                                                                            2. Василий Наумкин 07 июля 2016, 05:21 # 0
                                                                              Цена товара в админке не отображается у тех, кто не хочет читать статьи об обновлениях.
                                                                            3. Алексей Бгатов 08 июля 2016, 18:04 # 0
                                                                              у меня не сохраняется поле «обязательные поля» в способах оплаты( на двух сайтах уже. С нуля ставил новый минишоп.
                                                                              1. Василий Наумкин 08 июля 2016, 18:11 # 0
                                                                                У оплаты нет обязательных полей, это просто копипаста в форме.

                                                                                Исправлю.
                                                                                1. Алексей Бгатов 08 июля 2016, 18:33 # 0
                                                                                  спасибо)
                                                                              2. Владимир 14 июля 2016, 19:49 # 0
                                                                                Василий прошу помощи, не понимаю почему не подхватывается стандартный шаблон письма при заказе, в письме приходит массив!
                                                                                1. Василий Наумкин 18 июля 2016, 09:36 # +1
                                                                                  Может быть только одна причина — в настройках статуса указан несуществующий чанк.
                                                                                2. Александр Котлов 17 июля 2016, 16:37 # 0
                                                                                  Я правильно понимаю что скрипт перегенерации картинок галереи минишоп не работает для новой галереи?
                                                                                    1. Владимир 27 июля 2016, 02:36 # 0
                                                                                      Перегенерировал превью товаров с новыми параметрами и возник непонятный мне глюк который попытаюсь описать. Превью внутри товаров как бы поменялись местами, хотя порядок не изменился, вместо нулевой картинки показывает последнюю… Если их передернуть местами все становится в порядке. Как решить этот вопрос не перебирая сто товаров руками???
                                                                                  1. adminixi 18 июля 2016, 08:27 # +1
                                                                                    Подскажите, как теперь выводить TV поля в чанке tpl.msProducts.row?
                                                                                    1. Василий Наумкин 18 июля 2016, 09:27 # +1
                                                                                      &includeTVs=`my_tv_1,my.tv.2`
                                                                                      получится
                                                                                      {$my_tv_1} и {$_pls['my.tv.2']}
                                                                                      docs.modx.pro/components/pdotools/parser#Плейсхолдеры-с-точкой-или-тире
                                                                                      1. adminixi 21 июля 2016, 00:32 # 0
                                                                                        Да, это помогло, спасибо. Но не везде…

                                                                                        В товаре выводятся сопутствующие товары, используется тот же tpl.msProducts.row, но TV не выводится в них.
                                                                                        1. adminixi 21 июля 2016, 00:46 # 0
                                                                                          А есть возможность вывести название TV?
                                                                                          1. adminixi 21 июля 2016, 12:20 # 0
                                                                                            С названиями TV разобрались.
                                                                                      2. but1head 20 июля 2016, 14:22 # 0
                                                                                        Почему-то в гриде заказов цены начинаются с минуса


                                                                                        а в БД все ок

                                                                                        1. Василий Наумкин 20 июля 2016, 14:25 # 0
                                                                                          С минусом выводятся заказы с type = 1, а не 0. Обычно это списания со счёта юзера через msProfile.
                                                                                          1. but1head 20 июля 2016, 14:34 # 0
                                                                                            Не подумал, спасибо!
                                                                                        2. Александр Котлов 20 июля 2016, 15:08 # 0
                                                                                          Василий, при выводе характеристик столкнулся с моментом — Вместо option.value одной из характеристик оказался массив с ключами наверняка для чего-то нужными тк это в чанке дефолтном минишопа предусмотрено. Создал еще одну характеристику аналогичную — у нее все ок, просто значение а не массив. В документации про это не нашел. Можешь подсказать как это работает? Вопрос скорее праздный, тк работает нормально, просто интересно)
                                                                                          1. Денис Гром 21 июля 2016, 18:05 # 0
                                                                                            а я так понимаю с версией php 5.3 не будет работать?
                                                                                            как и выше писалось: Fatal error: Call to protected method FenomX::_assertNoEval() from context '' in site\core\components\pdotools\model\pdotools\_fenom.php on line 529

                                                                                            эта ошибка при оформление заказа остается, все остальное хорошо работает, сменить версию на повыше и сразу начинает работать все нормльно
                                                                                            1. Василий Наумкин 22 июля 2016, 09:05 # 0
                                                                                              Обнови pdoTools до версии 2.6.1 — исправил.
                                                                                              1. Денис Гром 22 июля 2016, 11:53 # 0
                                                                                                Да все заработало! Спасибо
                                                                                            2. adminixi 25 июля 2016, 16:20 # +1
                                                                                              Добрый день.

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

                                                                                              «Спасибо за оформление заказа #**** на нашем сайте ****»

                                                                                              Как сейчас эту фразу с номером оформленного заказа вставить?
                                                                                              1. Nikita 25 июля 2016, 23:46 # 0
                                                                                                На страницу оформления заказа вставляем вызов сниппета [[!msGetOrder]], и дальше редактируем чанк tpl.msGetOrder.

                                                                                                Понял, как вывести ID заказа — {$order.id}.

                                                                                                Как вывести номер заказа пока не понял.
                                                                                                1. Nikita 26 июля 2016, 00:02 # +1
                                                                                                  Собственно, номер заказа выводится так — {$order.num}
                                                                                              2. Сергей Лим 26 июля 2016, 04:48 # 0
                                                                                                Существует проблемка с фоторамой.
                                                                                                Когда первый раз захожу в карточку товара, то картинки (как я понимаю) адаптируются под мобильный


                                                                                                После обновления страницы, картинки нормально отображаются
                                                                                                1. Алексей Бгатов 11 августа 2016, 17:04 # 0
                                                                                                  Нашли решение?
                                                                                                  ===
                                                                                                  UPD: о, сам нашел. data-width=«100%» (или в пикселях, тоже норм)
                                                                                                2. Владимир 27 июля 2016, 19:19 # 0
                                                                                                  Жесткий баг на rc11, после перегенерации превью товаров скриптом из документации ,превью меняются местами, воспроизвел на modhost, все так же (Думал сначала у меня какие то баги закрались). Вот сайт s6108.h3.modhost.pro/
                                                                                                  Надеюсь найдется решение как исправить это, а то не хочется сотню товаров руками перебирать!
                                                                                                  1. Никита Грабун 28 июля 2016, 05:31 # 0
                                                                                                    В массиве

                                                                                                    $fields = array(
                                                                                                    'receiver' => 'fullname',
                                                                                                    'phone' => 'phone',
                                                                                                    'email' => 'email',
                                                                                                    'comment' => 'extended[comment]',
                                                                                                    'index' => 'zip',
                                                                                                    'country' => 'country',
                                                                                                    'region' => 'state',
                                                                                                    'city' => 'city',
                                                                                                    'street' => 'address',
                                                                                                    'building' => 'extended[building]',
                                                                                                    'room' => 'extended[room]',
                                                                                                    );

                                                                                                    Сниппет msOrder 112 строка нет metro.
                                                                                                    1. Dmitry Rodionov 31 июля 2016, 13:02 # 0
                                                                                                      Есть неудобный момент с отправкой писем.
                                                                                                      Во-первых, хотелось бы событие для плагина из коробки для самостоятельно обработки отправки письма.
                                                                                                      Во-вторых, в новом релизе msGetOrder вызывается прямо в minishop2.class.php, и если надо сделать вывод нестандартных изображений в письме, то приходится или править основной код вызова, или извращаться с msGallery в теле письма. Что кажется не слишком удобным, плюс к этому изображения в письме на отправку могут отличаться от изображений по-умолчанию, которые показываются в админке сайта, и при этом не могут быть одинаковыми, предвосхищая вопрос.
                                                                                                      1. Василий Наумкин 31 июля 2016, 13:25 # 0
                                                                                                        В третьих, можно переопределить класс заказа и написать там свою отправку писем.
                                                                                                        1. Dmitry Rodionov 31 июля 2016, 13:55 # 0
                                                                                                          Согласен, хотя решение будет проще, если будет событие добавлено ;)
                                                                                                      2. Евгений 01 августа 2016, 04:13 # +3
                                                                                                        Куда подевалась документация по импорту товаров из csv?
                                                                                                        Поиск и все ссылки на этом сайте ведут
                                                                                                        на bezumkin.ru/modx/minishop2/import/2309/
                                                                                                        откуда перекидывает на docs.modx.pro/
                                                                                                        1. Владимир 02 августа 2016, 13:09 # +1
                                                                                                          кстати, да, вот из кеша Яндекса:
                                                                                                          По многочисленным просьбам общественности написал скрипт импорта в miniShop2 из CSV. У нас уже проскакивало несколько вариантов, но все они как то не очень.

                                                                                                          Особенности:

                                                                                                          Это не сниппет, это самодостаточный скрипт.
                                                                                                          Использует процессоры для импорта ресурсов и изображений.
                                                                                                          Умеет обновлять ресурсы по указанному ключевому полю.
                                                                                                          Поддерживает ТВ параметры и поля товаров, включая JSON типа size и color.
                                                                                                          Есть режим отладки, с подробным логом и обработкой только первой строки файла.
                                                                                                          Выводит сообщения через системный лог.

                                                                                                          Теретически, можно импортировать не только товары, но и категории или другие ресурсы, но не проверял.

                                                                                                          Скрипт входит в состав miniShop2 с версии 2.1.4 и лежит в /core/components/minishop2/import/csv.php. Запускать его можно как из браузера (если у вас открыта директория core), так и из консоли.

                                                                                                          Если захотите его перенести в другое, более подходящее место, то нужно отредактировать строку

                                                                                                          require_once dirname(dirname(dirname(dirname(__FILE__)))). '/config/config.inc.php';

                                                                                                          и указать другой путь для получения config.inc.php.

                                                                                                          Если вы запускаете скрипт из core, и вообще, если у вас открыта core всем гостям — то вы сам себе злобный буратина. Это небесопасно, я вас предупредил!

                                                                                                          Параметры
                                                                                                          Параметры можно указывать двумя путями: через командную строку и через массивы $_GET или $_POST

                                                                                                          file — путь к импортируемому файлу, от корня сайта. Например «core/import/file.csv»
                                                                                                          fields — строка с полями испортируемого файла.
                                                                                                          Здесь нужно перечислить имена, как они идут в файле. Например: «alias,article,pagetitle,price,image,discount».
                                                                                                          В параметре и файле можно использовать не только поля ресурса, но и:
                                                                                                          Массивы свойств товара: «size,size,size,color,color»
                                                                                                          Изображения для галереи: «gallery,gallery,gallery»
                                                                                                          ТВ параметры (слово «tv» + id параметра): «tv1,tv2,tv3»
                                                                                                          update — указывает, нужно ли обновлять ресурсы. Значения 1 или 0.
                                                                                                          key — если включено обновление, обязательно нужно указать ключ товара, по которому определяется его уникальность. Например «article».
                                                                                                          debug — Режим отладки. Если = 1, то скрипт подробно обрабатывает первую строку файла и выходит.
                                                                                                          delimeter — Разделитель колонок в csv файле, по умолчанию ";".

                                                                                                          Если вы загружаете изображения в галерею, я рекомендую указать товарам id медиа источника source, чтобы не получить кучу картинок в корне сайта.

                                                                                                          Примеры
                                                                                                          Импорт через консоль:

                                                                                                          php ./core/components/minishop2/import/csv.php «file.csv» «article,pagetitle,tv1,size,size,gallery,gallery,tv3» 1 «article» 1 "|"

                                                                                                          Импорт через браузер

                                                                                                          mysite.com/core/components/minishop2/import/csv.php?file=file.csv&fields=article,pagetitle,tv1,size,size,gallery,gallery,tv3&update=1&key=article&debug=1&delimeter=|

                                                                                                          В конце работы скрипт выведет статистику и ошибки, если есть.
                                                                                                        2. Андрей Вечканов 01 августа 2016, 09:53 # 0
                                                                                                          Тоже не хотели загружаться фотки к товарам. Поменял php с 5.3 до 7 версии все заработало.
                                                                                                          Хостинг sprinthost
                                                                                                          1. Роман 02 августа 2016, 13:24 # 0
                                                                                                            Подскажите, как поменять чанки с шаблонами различных писем — это понятно: в настройках статусов заказов. Но, все эти шаблоны завязаны на один tpl.msEmail. А как/где переопределить его на свой?
                                                                                                            1. Stan Ezersky 02 августа 2016, 18:34 # 0
                                                                                                              Поздравляю со стабильной версией!

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

                                                                                                              Вопрос по Fenom в корзине: как заменить изображение на другой размер?

                                                                                                              {if $product.thumb?}
                                                                                                                                              <img src="{$product.thumb}" alt="{$product.pagetitle}" title="{$product.pagetitle}">
                                                                                                                                          {else}
                                                                                                                                              <img src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
                                                                                                                                                   srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
                                                                                                                                                   alt="{$product.pagetitle}" title="{$product.pagetitle}"/>
                                                                                                                                          {/if}
                                                                                                              product.thumb — 300 пикселей, хотелось бы не грузить такую картинку. Есть вариант использования плейсхолдера, типа [[+100x100]]?
                                                                                                              1. Dmitry Rodionov 03 августа 2016, 00:14 # 0
                                                                                                                includeThumbs и {$product['300x300']} попробуй
                                                                                                                1. Stan Ezersky 03 августа 2016, 07:26 # 0
                                                                                                                  Спасибо!
                                                                                                                  Оказалось, точку не убрал
                                                                                                                  {$product['100x100']}
                                                                                                              2. Dmitry Rodionov 03 августа 2016, 00:17 # 0
                                                                                                                заметил одну интересую вещь, пока не копал глубоко в чем проблема, при перетаскивании картинок в галерее у них становится один ранг не нулевой и msProducts не выводит первое изображения, и я решил использовать вызов msGallery внутри чанка msProducts, в итоге получил что выводится первый товар только, а лог от msProducts заменяется на лог от msGallery может кто подскажет есть ли какое-то решение по этому поводу?
                                                                                                                1. Роман 10 августа 2016, 21:42 # 0
                                                                                                                  в чанке tpl.msEmail присутствует такая конструкция: {$product.id | url: ['scheme' => 'full']}
                                                                                                                  чтобы вывести ссылку на продукт. Во-первых, никак не нашел вообще описание синтаксиса. Ну да ладно. Вопрос, собственно, не в этом. Когда приходит письмо, то, если я его открываю в Thunthebird, то там ссылка нормальная. А если открываю в браузере на сайте mail.ru, то там ссылка порезана. Как быть?
                                                                                                                  1. Konstantin 11 августа 2016, 02:20 # +1
                                                                                                                    Во-первых, никак не нашел вообще описание синтаксиса.
                                                                                                                    ищите туточки — Синтаксис

                                                                                                                    Мне кажется ссылки в письмах на сайте маил.ру дело рук не данного компонента.
                                                                                                                    Хотя вы даже скриншот не показали, пример не привели. На такой вопрос трудно ответить по существу
                                                                                                                    1. Роман 11 августа 2016, 22:19 # 0
                                                                                                                      Спасибо за ссылочку!
                                                                                                                      Поэкспериментировал сегодня. Выяснилось, что Mail.ru совершенно не причем. Оказывается, что ссылка на продукт присутствует в письме Юзеру и Менеджеру о том, что заказ сделан. В этих двух первых письмах всё правильно. Потом, после оплаты, приходят письма об оплате заказа. В обоих письмах и Юзеру и Менеджеру ссылка с пустым href. Где это поправить? Ведь по сути шаблон один и тот же используется. Или нет? Тогда что не так?
                                                                                                                  2. Stan Ezersky 11 августа 2016, 17:17 # 0
                                                                                                                    Странно с опциями:



                                                                                                                    Они размножились, хотя в опциях товара



                                                                                                                    В чём прикол?

                                                                                                                    «Лечится» пересохранением ресурсов, но офигеешь не одну тысячу пересохранять

                                                                                                                    1. Сашок 12 августа 2016, 04:37 # 0
                                                                                                                      Какая-то фигня с письмами. Чанк tpl.msEmail код правильный, чанк письма Юзеру и Менеджеру — код правильный
                                                                                                                      проверяю baltax.ru/test-order (там просто стоит вывод письма из заказа [[!msGetOrder? &id=`243` &tpl=`tpl.msEmail.new_sale_user` ]])
                                                                                                                      Письмо выводится с деталями заказа, но в письме Юзеру и Менеджеру, приходит пустая таблица из-за того что какбэ нет массива который нужно обходить {foreach $products as $product}

                                                                                                                      Можете сами проверить купив какой-нить товар за 0 руб. например baltax.ru/katalog-tovarov/dop-oborudovanie-calix/montazhnyie-komplektyi-calix/art-m69-1557593 и вам придет письмо но без деталей заказа
                                                                                                                      Чё за фигня? Почему массив $products не существует когда идет генерация письма? Где копать? Мож какую настройку включить?
                                                                                                                      1. Константин Ильин 12 августа 2016, 23:06 # 0
                                                                                                                        Василий, глюк это или нет, решать тебе.
                                                                                                                        При таких настройках работает:
                                                                                                                        joxi.ru/a2Xak8bIy8KvyA

                                                                                                                        Но когда убираешь «Вкладка галерея товара», при редактировании товара вот такое:
                                                                                                                        joxi.ru/Drl7eY6C4NkXgA

                                                                                                                        как видно на скриншоте специально протестил на modhost
                                                                                                                        1. Василий Наумкин 12 августа 2016, 23:17 # +1
                                                                                                                          Исправил, можно обновляться.
                                                                                                                          1. Андрей 17 августа 2016, 10:09 # 0
                                                                                                                            Почему то у меня в админке в репозитории только Minishop 2.2. как скачать 2.4?
                                                                                                                        2. Константин Ильин 22 августа 2016, 13:47 # 0
                                                                                                                          Василий не подскажешь как подружить AjaxManager и minishop2
                                                                                                                          Проблема только одна, свойства товара не отображаются при просмотре товара:
                                                                                                                          1. Дмитрий 22 августа 2016, 16:27 # 0
                                                                                                                            Доброго времени суток.
                                                                                                                            Обнаружил интересный толи баг, толи ёще что.
                                                                                                                            В полной корзине товаров в чанке tpl.msCart благодаря Fenom — делаю вывод опции размера, как
                                                                                                                            {$product['option.size']}
                                                                                                                            разумеется до этого идет конструкция
                                                                                                                            {foreach $products as $product}
                                                                                                                            http://c2n.me/3BrT2FP все ок. вышел. Это был 1ый товар.
                                                                                                                            2ой товар http://c2n.me/3BrVG2L видно что выводится 1ая опция из 1го товара! НООО самое интересное, что если открыть исходный код браузера — там все ок! :)))
                                                                                                                            Почему то ссылается во 2ом товаре на опцию 1го товара, хотя обращение к другим поля массива — все ок, видно по скринам.
                                                                                                                            Проверял другой браузер, плагины — нет! Сам программист, но не понимаю где искать, почему в исходном коде норм, в бразуер нет, страница НЕ закеширована.
                                                                                                                            Обратился уже и к мануалу Fenom Rus по логике все верно.
                                                                                                                            1. Дмитрий 24 августа 2016, 13:35 # +1
                                                                                                                              Извините, ложная тревога. Дело оказалось в jQuery скрипте который не был замечен сразу.
                                                                                                                              p.s. зато теперь про нововведений Fenom стало многое ясно, что где куда и зачем — не плохая штука, удобная, т.к. упрощает код за счёт базового синтаксиса и возможностей.
                                                                                                                            2. Алексей Суслов 03 сентября 2016, 09:50 # 0
                                                                                                                              Добрый день, Василий.
                                                                                                                              Писал вам на почту пару дней назад, не уверен получили ли вы сообщение, т.к. ответа не последовало.
                                                                                                                              Присутствует баг, что если у товара заполнен «Производитель», то при следующем редактировании товара список всех производителей не появляется и выбрать другого становится невозможно. Мне кажется это очень похоже на это github.com/bezumkin/miniShop2/issues/230
                                                                                                                              Только у меня эта ошибка на любом товаре воспроизводится, не только клонированном.
                                                                                                                              Буду очень признателен, если подскажите как победить это.
                                                                                                                              1. Алексей Суслов 06 сентября 2016, 14:56 # 0
                                                                                                                                Так как ответа я не дождался, пришлось самому покопаться во внутренностях.
                                                                                                                                В итоге проблему победил, если вдруг кому пригодится, вот решение:
                                                                                                                                открываете файл assets/components/minishop2/js/mgr/misc/ms2.combo.js
                                                                                                                                находите строку 202, либо вот этот кусок кода:
                                                                                                                                miniShop2.combo.Vendor = function (config) {
                                                                                                                                    config = config || {};
                                                                                                                                
                                                                                                                                    Ext.applyIf(config, {
                                                                                                                                        name: config.name || 'vendor',
                                                                                                                                        fieldLabel: _('ms2_product_' + config.name || 'vendor'),
                                                                                                                                        hiddenName: config.name || 'vendor',
                                                                                                                                        displayField: 'name',
                                                                                                                                        valueField: 'id',
                                                                                                                                        anchor: '99%',
                                                                                                                                        fields: ['name', 'id'],
                                                                                                                                        pageSize: 20,
                                                                                                                                        url: miniShop2.config['connector_url'],
                                                                                                                                        typeAhead: true,
                                                                                                                                        editable: true,
                                                                                                                                        allowBlank: true,
                                                                                                                                        emptyText: _('no'),
                                                                                                                                        baseParams: {
                                                                                                                                            action: 'mgr/settings/vendor/getlist',
                                                                                                                                            combo: true,
                                                                                                                                            id: config.value,
                                                                                                                                            //limit: 0,
                                                                                                                                        }
                                                                                                                                    });
                                                                                                                                    miniShop2.combo.Vendor.superclass.constructor.call(this, config);
                                                                                                                                };
                                                                                                                                
                                                                                                                                и меняете это:
                                                                                                                                id: config.value,
                                                                                                                                на это:
                                                                                                                                id: '',
                                                                                                                                В итоге поле производителя стало отображать нормально всех производителей при редактировании товара.
                                                                                                                                Буду признателен, если Василий подскажет верно ли я сделал и не аукнется ли это потом где-то.
                                                                                                                                Где смог проверил, вроде все в порядке.
                                                                                                                              2. Комментарий был удален.
                                                                                                                                1. Комментарий был удален.
                                                                                                                                  1. Комментарий был удален.
                                                                                                                                    1. Комментарий был удален.
                                                                                                                                      1. Комментарий был удален.
                                                                                                                                        1. Комментарий был удален.
                                                                                                                                    2. Комментарий был удален.
                                                                                                                                    3. lexikon 07 сентября 2016, 10:15 # 0
                                                                                                                                      комментарий не надо было удалять, вопрос все же остался без ответа, прошу прощения.
                                                                                                                                      Дело было вовсе не в плагине.
                                                                                                                                      1. Василий Наумкин 07 сентября 2016, 10:18 # 0
                                                                                                                                        Вопросы по работе msOptionsPrice2 и cityFields нужно задавать их автору, а не мне.
                                                                                                                                        1. lexikon 07 сентября 2016, 10:32 # 0
                                                                                                                                          так вопрос касался не дополнений, а связки событий msOnBeforeAddToCart и msOnGetProductPrice
                                                                                                                                          1. Василий Наумкин 07 сентября 2016, 10:45 # 0
                                                                                                                                            Никакого желания ни спорить, ни разбираться — вот тут всё про 2 дополнения, которые переопределяют цену на разных событиях.

                                                                                                                                            У MS2 есть возможность переопределить логику работы корзины, написав собственный класс для её расширения, чем я тебе и предлагаю заняться. Можно будет вызывать там какие угодно события, в любой последовательности.
                                                                                                                                            1. lexikon 07 сентября 2016, 10:49 # 0
                                                                                                                                              Василий, я документацию читал, спасибо вам большое за неё. Класс для работы с корзиной я уже переопределил! я не пытаюсь спорить или разводить демагогию) я пытаюсь понять почему столкнулся с такой ситуёвиной( На гите ваш комментарий прочел — ответить однозначно за авторов я не могу.
                                                                                                                                              1. Василий Наумкин 07 сентября 2016, 10:52 # 0
                                                                                                                                                Потому, что автор этих дополнений использует 2 разных события для одной цели, вместо того, чтобы использовать верное событие в обоих плагинах — msOnGetProductPrice.

                                                                                                                                                Если что, у событий плагинов есть приоритет и одно событие можно использовать хоть в 100 плагинах, тогда изменение цены пройдёт по цепочке от низшего приоритета к высшему.
                                                                                                                                              2. lexikon 07 сентября 2016, 12:34 # 0
                                                                                                                                                ответили выше))) спасибо!!! это то что мне нужно — приоритеты
                                                                                                                                        2. Александр Котлов 15 сентября 2016, 13:10 # 0
                                                                                                                                          Столкнулся с проблемой. На одном из сайтов msProductOptions не выводит опции. С последним обновлением не связано, было и до него. В админке все ок, в базу пишутся, но на фронте, если пустой tpl указать:

                                                                                                                                          Array ( [options] => Array ( ) )
                                                                                                                                          В логе ошибка есть, но она позже появилась и к делу не относится вероятнее всего. Что можно предпринять в данном случае?
                                                                                                                                          1. Александр 28 сентября 2016, 09:03 # 0
                                                                                                                                            Возник такой вопрос — после обновления заметил несколько проблем, связанных с ассетами:
                                                                                                                                            1. В админке не находило /assets/components/minishop2/js/mgr/misc/default.window.js и /assets/components/minishop2/js/mgr/settings/delivery/grid.js и другие js и css файлы, в итоге чего minify просто выдавал ошибку 400 для всего пака скриптов
                                                                                                                                            2. На фронтенде больше не регистрируется объект miniShop2 и связанные с ним вещи(раньше это делалось в core/components/minishop2/model/minishop2/minishop2.class.php, теперь это делается судя по-всему через default.js, но проблема связана с тем что ассеты в /assets/components/minishop2 не обновились по какой-то причине(проблема из п.1)
                                                                                                                                            Как это можно решить? И почему ассеты отказываются обновиться?
                                                                                                                                            1. Василий Наумкин 28 сентября 2016, 09:07 # 0
                                                                                                                                              Все файлы на месте — можешь проверить.

                                                                                                                                              Скорее всего проблемы в разрешении на директории, из-за чего просто не получается что-то в них записать. Такое часто бывает на кривых хостингах.
                                                                                                                                              1. Александр 28 сентября 2016, 11:09 # 0
                                                                                                                                                Ну я обновлял локально, владелец папок alex:www-data, плюс был сделан chown -R g+w(права на запись для www-data точно есть), однако замены не происходит. Я правильно понимаю, что по факту все ассеты из core/assets/components/minishop2 по сути должны попасть в assets/components/minishop2
                                                                                                                                            2. Алексей Смирнов 06 декабря 2016, 09:20 # 0
                                                                                                                                              Добрый день. И еще по поводу опций. Можно ли Опции отображать в категории где идет список товаров. Хотя бы отображать, уже не говор о заполнении, т.к. как я понимаю это запредельный функционал.
                                                                                                                                              Или только идти путем плагинов с добавлением Свойств товаров и в этом случае они смогут быть отображены в списке товаров, аналогично цене, заголовоку и прочее.
                                                                                                                                              joxi.ru/823x1l0uJJENEA
                                                                                                                                              1. Василий Наумкин 06 декабря 2016, 10:14 # 0
                                                                                                                                                Насколько я помню (и в документации так написано), нет, опции там не выводятся.
                                                                                                                                              2. charset 21 декабря 2016, 22:12 # 0
                                                                                                                                                А как можно в письме менеджеру о заказе указать телефон, емейл. способ доставки, тип оплаты и комментарий? Я не нашел этих плейсхолдеров
                                                                                                                                                1. charset 21 декабря 2016, 22:29 # +1
                                                                                                                                                  уже не нужно. Нашел в коде, если кому интересно:

                                                                                                                                                  Телефон покупателя: {$address.phone}
                                                                                                                                                  Email покупателя: {$user.email}
                                                                                                                                                  Способ доставки: {$delivery.name}
                                                                                                                                                  Тип оплаты: {$payment.name}
                                                                                                                                                  Комментарий к заказу: {$address.comment}
                                                                                                                                                  1. Алексей Смирнов 30 марта 2017, 21:44 # 0
                                                                                                                                                    Да, догадаться что комментарий передается не в {$order.comment}, а в {$address.comment}… ндя…
                                                                                                                                                    Притом в order Тоже есть поле comment.
                                                                                                                                                    Спасибо добрый человек за наводку. )
                                                                                                                                                2. Андрей 15 августа 2017, 09:19 # 0
                                                                                                                                                  Уважаемые коллеги! Помогите кто может дилетанту.
                                                                                                                                                  Исходные данные. Есть страница с корзиной, которая содержит следующее:
                                                                                                                                                  [[!mySnippet]]
                                                                                                                                                  [[!msCart]]
                                                                                                                                                  [[!msOrder]]
                                                                                                                                                  [[!msGetOrder]]
                                                                                                                                                  Сниппетом mySnippet после клика на кнопку «Оплатить» генерируется дополнительная платежная информация и записывается во внешнюю базу данных. Кроме того, эта информация выводится покупателю. После этого сниппетом msGetOrder отправляется email покупателю (как указано в документации) и выводится содержимое заказа.
                                                                                                                                                  Мне нужно включить в email покупателю дополнительную платежную информацию из внешней базы данных, записанную перед этим сниппетом mySnippet. Я пытаюсь сделать это в сниппете msGetOrder, но складывается впечатление, что email покупателю отправляется до того, как дополнительная платежная информация записывается во внешнюю базу данных.
                                                                                                                                                  Мои вопросы:
                                                                                                                                                  — скажите пожалуйста, где, как и в какой момент отправляется email покупателю;
                                                                                                                                                  — где и как мне нужно сделать запись во внешнюю базу данных (после клика на кнопку «Оплатить»), чтобы эту информацию можно было бы потом извлечь и вставить в email покупателю;
                                                                                                                                                  — можно ли изменить момент отправки email покупателю так, чтобы это происходило гарантированно после записи во внешнюю базу данных.
                                                                                                                                                  Зараннее Спасибо.
                                                                                                                                                  1. АндрейЧ 07 октября 2017, 21:26 # 0
                                                                                                                                                    Вопрос. Как вернуться предыдущую версию, надо сделать «все как и было» до обновления…

                                                                                                                                                    Стандартной опцией не получается… Чанки все равно остаются от новой версии ms2

                                                                                                                                                    @Восстановить
                                                                                                                                                    Это позволит восстановить предыдущий вариант параметров компонента, такими какими они были до установки новой версии пакета.@

                                                                                                                                                    Как то надо вернуть на метсо старые чанки
                                                                                                                                                    1. АндрейЧ 07 октября 2017, 21:53 # 0
                                                                                                                                                      Почти получилось, осталось где-то найти и вернуть дополнительные поля товара (и их былые значения… ) в админке…
                                                                                                                                                    Вы должны авторизоваться, чтобы оставлять комментарии.