[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 june 2016, 16:02    Василий Наумкин   G+  
10    2695 +31

Comments (185)

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

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

              В modstore.pro лежат 2 версии: 2.2 и 2.4. Сначала ставится первая, а потом её можно обновить на вторую. Как проверим, что 2.4-rc не имеет фатальных ошибок, 2.2 отключу.
            2. Иван Тюмеров 26 june 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 june 2016, 21:53 # 0
                Пока помогла установка системных параметров compress_js и compress_css в значения Нет. Но это же не есть правильно.
                А ведь все остальные разделы сайта открываются нормально.
                1. Иван Тюмеров 26 june 2016, 23:29 # +1
                  После обновления MODX до 2.5.0-pl страницы категории начали открываться и с включенной компрессией js и css.
                  1. Роман 27 june 2016, 19:57 # 0
                    у меня только на «compress_js Да» в стойку встает, на «compress_css Да» не ругается
                    1. Иван Тюмеров 28 june 2016, 09:58 # 0
                      В консоли ругался на подключение обоих типов файлов и я по отдельности просто не пробовал отключать. Выключал сразу и для js и для css :)
                      1. Роман 28 june 2016, 19:12 # 0
                        чего-то я поторопился. До этого у меня не открывались Приложения->miniShop2->Заказы/Настройки. Я выключил js и css, как писал вверху. Сейчас проверил, категории товаров один фиг не открываются :-( Обновлять MODx чего-то сыкую. Сайт рабочий и порушить его как-то не хоцца. Чего делать?

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

                        На minishop2.com с PHP 7.0 всё отлично работает. Да и с другими версиями PHP пока никто больше на pdoTools не жаловался.
                        1. Денис 28 june 2016, 11:31 # +1
                          переключил с php 5.3 на 5.4 и заработало
                      2. Денис Дыранов 28 june 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 june 2016, 17:51 # +1
                          Поправил, обновляйся.
                        2. Роман 29 june 2016, 10:36 # 0
                          Василий, добрый день!
                          Как можно в логах посмотреть, что именно не работает, на что ругается miniShop? У меня не открываются категории и товары, а то в журнале ошибок ничего не пишет при этом.

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

                            Ну и проверить работу можно на modhost.pro. Думаю, у тебя мешается какой-то другой компонент, например, AjaxManager.
                            1. Роман 29 june 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 june 2016, 12:47 # 0
                                Очень рад, что он тебе такое пишет. Мне это совершенно ни о чём не говорит.

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

                                        Вот сейчас и думаю, что делать с этим. Буду экспериментировать с обновлениями :-)
                                        1. Роман 30 june 2016, 23:15 # 0
                                          обновил :-))))) теперь с miniShop все хорошо, категории показываются и т.п. Болезнь перешла на Тикеты, теперь панель с ними не показывается
                                          1. Роман 01 july 2016, 00:34 # 0
                                            Всё! Получилось!
                              2. Роман 29 june 2016, 17:10 # 0
                                если я создам товар не из категории, а просто в дереве ресурсов. Он не отображается в дереве. Как его потом найти? Или товар нужно создавать исключительно из категории?
                                1. Воеводский Михаил 29 june 2016, 17:14 # +1
                                  Правильная логика — создавать в категории. Некоторые механизме в товаре завязаны именно на родителя-категорию.
                                  1. Роман 29 june 2016, 17:14 # 0
                                    вопрос снят, можно удалить
                                  2. Сергей Карпук 29 june 2016, 17:20 # 0
                                    Не знаю, нужно ли такое фиксировать.
                                    В FF 38.0.5 при удалении заказа не исчезает прелоудер — joxi.ru/dp27oobSvXx627
                                    В Chrome ошибки нет.
                                    1. Артем 29 june 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 june 2016, 22:00 # 0
                                        Для чистоты эксперимента, создал на этом хостинге еще один тестовый сайт. Из дополнений только pdo и минишоп, та же самая ошибка
                                        1. Василий Наумкин 30 june 2016, 06:39 # 0
                                          Для чистоты эксперимента, создал на modhost.pro еще один тестовый сайт — всё работает
                                          http://s5819.h5.modhost.pro/manager/
                                          s5819
                                          ZqkughmwaLwz
                                          1. Артем 30 june 2016, 08:53 # 0
                                            Это понятно. Я обычно для проектов на Revo покупаю хостинг у вас, но в данном случае разместил на Таймвебе, так как нужно будет использовать большое количество поддоменов, а у вас ограничения на хостинге. Не подскажете, чем может быть вызвана ошибка, приведенная выше?
                                            1. Василий Наумкин 30 june 2016, 09:05 # 0
                                              Не подскажу, я нигде из доступных мне серверов такой ошибки не вижу.
                                              Call to undefined method miniShop2::loadMap()
                                              Функция loadMap вполне себе на месте в классе miniShop2. Может хостинг как-то прям дико кэширует php код и у тебя там работает класс от версии 2.2

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

                                              На тарифе «Минимальный» можно добавить 3 домена второго уровня и сколько угодно поддоменов к ним.
                                      2. Степан Прищепенко 29 june 2016, 22:09 # +1
                                        Привет Василий, хотел уточнить, правильно ли я понимаю, что с новым методом подключения классов (через addService) проблема с использованием нескольких компонентов, например доставки, на сайте отпадает?
                                        1. Василий Наумкин 30 june 2016, 06:41 # +1
                                          Правильно.
                                          1. Viktor Kushnir 16 july 2016, 23:31 # 0
                                            Василий, подскажи пжл, не совсем понял про регистрацию файла через addService. Где именно это нужно сделать?
                                        2. Алексей Бгатов 30 june 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 june 2016, 06:44 # 0
                                            Попробуй указать &prepareTVs=`1`

                                            А так — смотри строковые операторы.
                                            1. Алексей Бгатов 30 june 2016, 13:02 # 0
                                              спасибо! prepareTVs, мог бы и сам догадаться)
                                          2. Евгений 30 june 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 june 2016, 11:14 # +1
                                              Проблема в твоих скриптах и чанках. К minishop2 прямого отношения это не имеет. Fenom ругается на непредвиденный тэг где-то.
                                              1. Евгений 01 july 2016, 01:18 # 0
                                                Да, это pdotools тупил. Оказалось, что после удаления он еще и весь modx с собой забирает. Повезло, что перед удалением забэкапился.
                                                1. but1head 01 july 2016, 01:24 # 0
                                                  pdoTools тут не тупил, кто-то но явно не он.
                                                  Скорее всего код метрики\аналитикс вставили без пробелов от кавычек {w*****, вот и fenom ругался, что не понимает что такое w.
                                                  1. Евгений 01 july 2016, 01:32 # 0
                                                    Не знаю, может быть. Проблема то не в этом, а в том, что pdotools вместе с modx-ом удаляется.

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

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

                                                    На что-то новое замахиваться пока нет ни сил, ни желания. Да и разработчикам дополнений нужно привыкнуть хотя-бы к этой версии, прежде чем еще что-то накручивать.
                                              1. Артур 30 june 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 june 2016, 16:53 # +1
                                                  Такое может быть только если у тебя нарушен порядок фотографий. То есть, 2 фотки с rank = 0.

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

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

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


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

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

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

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

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

                                                            Вид в mail.ru

                                                            Вид в Яндекс

                                                            Код письма в Яндекс
                                                            1. Василий Наумкин 01 july 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 july 2016, 17:42 # 0
                                                                Спасибо! Разобрался.
                                                            2. Евгений 01 july 2016, 21:05 # -1
                                                              При добавлении любой картинки выходит ошибка ms2_gallery_err_no_source

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

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

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

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

                                                                  Не показывается картинка здесь, хотя на сайте показывается.
                                                                  1. Василий Наумкин 02 july 2016, 07:35 # +2
                                                                    Укажи правильный размер в системной настройке ms2_product_thumbnail_size
                                                                    1. Евгений 02 july 2016, 17:37 # 0
                                                                      Спасибо.
                                                                      1. Евгений 02 july 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 july 2016, 19:54 # +2
                                                                          Разберись, почему у твоих товаров свойство source = 0.

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

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

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

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

                                                                              Исправлю.
                                                                              1. Алексей Бгатов 08 july 2016, 18:33 # 0
                                                                                спасибо)
                                                                            2. Владимир 14 july 2016, 19:49 # 0
                                                                              Василий прошу помощи, не понимаю почему не подхватывается стандартный шаблон письма при заказе, в письме приходит массив!
                                                                              1. Василий Наумкин 18 july 2016, 09:36 # +1
                                                                                Может быть только одна причина — в настройках статуса указан несуществующий чанк.
                                                                              2. Александр Котлов 17 july 2016, 16:37 # 0
                                                                                Я правильно понимаю что скрипт перегенерации картинок галереи минишоп не работает для новой галереи?
                                                                                  1. Владимир 27 july 2016, 02:36 # 0
                                                                                    Перегенерировал превью товаров с новыми параметрами и возник непонятный мне глюк который попытаюсь описать. Превью внутри товаров как бы поменялись местами, хотя порядок не изменился, вместо нулевой картинки показывает последнюю… Если их передернуть местами все становится в порядке. Как решить этот вопрос не перебирая сто товаров руками???
                                                                                1. adminixi 18 july 2016, 08:27 # +1
                                                                                  Подскажите, как теперь выводить TV поля в чанке tpl.msProducts.row?
                                                                                  1. Василий Наумкин 18 july 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 july 2016, 00:32 # 0
                                                                                      Да, это помогло, спасибо. Но не везде…

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


                                                                                      а в БД все ок

                                                                                      1. Василий Наумкин 20 july 2016, 14:25 # 0
                                                                                        С минусом выводятся заказы с type = 1, а не 0. Обычно это списания со счёта юзера через msProfile.
                                                                                        1. but1head 20 july 2016, 14:34 # 0
                                                                                          Не подумал, спасибо!
                                                                                      2. Александр Котлов 20 july 2016, 15:08 # 0
                                                                                        Василий, при выводе характеристик столкнулся с моментом — Вместо option.value одной из характеристик оказался массив с ключами наверняка для чего-то нужными тк это в чанке дефолтном минишопа предусмотрено. Создал еще одну характеристику аналогичную — у нее все ок, просто значение а не массив. В документации про это не нашел. Можешь подсказать как это работает? Вопрос скорее праздный, тк работает нормально, просто интересно)
                                                                                        1. Денис Гром 21 july 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 july 2016, 09:05 # 0
                                                                                            Обнови pdoTools до версии 2.6.1 — исправил.
                                                                                            1. Денис Гром 22 july 2016, 11:53 # 0
                                                                                              Да все заработало! Спасибо
                                                                                          2. adminixi 25 july 2016, 16:20 # +1
                                                                                            Добрый день.

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

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

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

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

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


                                                                                              После обновления страницы, картинки нормально отображаются
                                                                                              1. Алексей Бгатов 11 august 2016, 17:04 # 0
                                                                                                Нашли решение?
                                                                                                ===
                                                                                                UPD: о, сам нашел. data-width=«100%» (или в пикселях, тоже норм)
                                                                                              2. Владимир 27 july 2016, 19:19 # 0
                                                                                                Жесткий баг на rc11, после перегенерации превью товаров скриптом из документации ,превью меняются местами, воспроизвел на modhost, все так же (Думал сначала у меня какие то баги закрались). Вот сайт s6108.h3.modhost.pro/
                                                                                                Надеюсь найдется решение как исправить это, а то не хочется сотню товаров руками перебирать!
                                                                                                1. Никита Грабун 28 july 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 july 2016, 13:02 # 0
                                                                                                    Есть неудобный момент с отправкой писем.
                                                                                                    Во-первых, хотелось бы событие для плагина из коробки для самостоятельно обработки отправки письма.
                                                                                                    Во-вторых, в новом релизе msGetOrder вызывается прямо в minishop2.class.php, и если надо сделать вывод нестандартных изображений в письме, то приходится или править основной код вызова, или извращаться с msGallery в теле письма. Что кажется не слишком удобным, плюс к этому изображения в письме на отправку могут отличаться от изображений по-умолчанию, которые показываются в админке сайта, и при этом не могут быть одинаковыми, предвосхищая вопрос.
                                                                                                    1. Василий Наумкин 31 july 2016, 13:25 # 0
                                                                                                      В третьих, можно переопределить класс заказа и написать там свою отправку писем.
                                                                                                      1. Dmitry Rodionov 31 july 2016, 13:55 # 0
                                                                                                        Согласен, хотя решение будет проще, если будет событие добавлено ;)
                                                                                                    2. Евгений 01 august 2016, 04:13 # +3
                                                                                                      Куда подевалась документация по импорту товаров из csv?
                                                                                                      Поиск и все ссылки на этом сайте ведут
                                                                                                      на bezumkin.ru/modx/minishop2/import/2309/
                                                                                                      откуда перекидывает на docs.modx.pro/
                                                                                                      1. Владимир 02 august 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 august 2016, 09:53 # 0
                                                                                                        Тоже не хотели загружаться фотки к товарам. Поменял php с 5.3 до 7 версии все заработало.
                                                                                                        Хостинг sprinthost
                                                                                                        1. Роман 02 august 2016, 13:24 # 0
                                                                                                          Подскажите, как поменять чанки с шаблонами различных писем — это понятно: в настройках статусов заказов. Но, все эти шаблоны завязаны на один tpl.msEmail. А как/где переопределить его на свой?
                                                                                                          1. Stan Ezersky 02 august 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 august 2016, 00:14 # 0
                                                                                                              includeThumbs и {$product['300x300']} попробуй
                                                                                                              1. Stan Ezersky 03 august 2016, 07:26 # 0
                                                                                                                Спасибо!
                                                                                                                Оказалось, точку не убрал
                                                                                                                {$product['100x100']}
                                                                                                            2. Dmitry Rodionov 03 august 2016, 00:17 # 0
                                                                                                              заметил одну интересую вещь, пока не копал глубоко в чем проблема, при перетаскивании картинок в галерее у них становится один ранг не нулевой и msProducts не выводит первое изображения, и я решил использовать вызов msGallery внутри чанка msProducts, в итоге получил что выводится первый товар только, а лог от msProducts заменяется на лог от msGallery может кто подскажет есть ли какое-то решение по этому поводу?
                                                                                                              1. Роман 10 august 2016, 21:42 # 0
                                                                                                                в чанке tpl.msEmail присутствует такая конструкция: {$product.id | url: ['scheme' => 'full']}
                                                                                                                чтобы вывести ссылку на продукт. Во-первых, никак не нашел вообще описание синтаксиса. Ну да ладно. Вопрос, собственно, не в этом. Когда приходит письмо, то, если я его открываю в Thunthebird, то там ссылка нормальная. А если открываю в браузере на сайте mail.ru, то там ссылка порезана. Как быть?
                                                                                                                1. Konstantin 11 august 2016, 02:20 # +1
                                                                                                                  Во-первых, никак не нашел вообще описание синтаксиса.
                                                                                                                  ищите туточки — Синтаксис

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



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



                                                                                                                  В чём прикол?

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

                                                                                                                  1. Сашок 12 august 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 august 2016, 23:06 # 0
                                                                                                                      Василий, глюк это или нет, решать тебе.
                                                                                                                      При таких настройках работает:
                                                                                                                      joxi.ru/a2Xak8bIy8KvyA

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

                                                                                                                      как видно на скриншоте специально протестил на modhost
                                                                                                                      1. Василий Наумкин 12 august 2016, 23:17 # +1
                                                                                                                        Исправил, можно обновляться.
                                                                                                                        1. Андрей 17 august 2016, 10:09 # 0
                                                                                                                          Почему то у меня в админке в репозитории только Minishop 2.2. как скачать 2.4?
                                                                                                                      2. Константин Ильин 22 august 2016, 13:47 # 0
                                                                                                                        Василий не подскажешь как подружить AjaxManager и minishop2
                                                                                                                        Проблема только одна, свойства товара не отображаются при просмотре товара:
                                                                                                                        1. Дмитрий 22 august 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 august 2016, 13:35 # +1
                                                                                                                            Извините, ложная тревога. Дело оказалось в jQuery скрипте который не был замечен сразу.
                                                                                                                            p.s. зато теперь про нововведений Fenom стало многое ясно, что где куда и зачем — не плохая штука, удобная, т.к. упрощает код за счёт базового синтаксиса и возможностей.
                                                                                                                          2. Алексей Суслов 03 september 2016, 09:50 # 0
                                                                                                                            Добрый день, Василий.
                                                                                                                            Писал вам на почту пару дней назад, не уверен получили ли вы сообщение, т.к. ответа не последовало.
                                                                                                                            Присутствует баг, что если у товара заполнен «Производитель», то при следующем редактировании товара список всех производителей не появляется и выбрать другого становится невозможно. Мне кажется это очень похоже на это github.com/bezumkin/miniShop2/issues/230
                                                                                                                            Только у меня эта ошибка на любом товаре воспроизводится, не только клонированном.
                                                                                                                            Буду очень признателен, если подскажите как победить это.
                                                                                                                            1. Алексей Суслов 06 september 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. This comment was deleted.
                                                                                                                              1. This comment was deleted.
                                                                                                                                1. This comment was deleted.
                                                                                                                                  1. This comment was deleted.
                                                                                                                                    1. This comment was deleted.
                                                                                                                                      1. This comment was deleted.
                                                                                                                                  2. This comment was deleted.
                                                                                                                                  3. lexikon 07 september 2016, 10:15 # 0
                                                                                                                                    комментарий не надо было удалять, вопрос все же остался без ответа, прошу прощения.
                                                                                                                                    Дело было вовсе не в плагине.
                                                                                                                                    1. Василий Наумкин 07 september 2016, 10:18 # 0
                                                                                                                                      Вопросы по работе msOptionsPrice2 и cityFields нужно задавать их автору, а не мне.
                                                                                                                                      1. lexikon 07 september 2016, 10:32 # 0
                                                                                                                                        так вопрос касался не дополнений, а связки событий msOnBeforeAddToCart и msOnGetProductPrice
                                                                                                                                        1. Василий Наумкин 07 september 2016, 10:45 # 0
                                                                                                                                          Никакого желания ни спорить, ни разбираться — вот тут всё про 2 дополнения, которые переопределяют цену на разных событиях.

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

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

                                                                                                                                        Array ( [options] => Array ( ) )
                                                                                                                                        В логе ошибка есть, но она позже появилась и к делу не относится вероятнее всего. Что можно предпринять в данном случае?
                                                                                                                                        1. Александр 28 september 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 september 2016, 09:07 # 0
                                                                                                                                            Все файлы на месте — можешь проверить.

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

                                                                                                                                                Телефон покупателя: {$address.phone}
                                                                                                                                                Email покупателя: {$user.email}
                                                                                                                                                Способ доставки: {$delivery.name}
                                                                                                                                                Тип оплаты: {$payment.name}
                                                                                                                                                Комментарий к заказу: {$address.comment}
                                                                                                                                              You need to login to create comments.