[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 — по одному на каждый сниппет + несколько почтовых уведомлений.
Например, вот сокращенный вывод корзины:
Больше не нужно бегать по 3 чанкам и что-то менять — всё в одном месте. Модификаторы MODX тоже не нужны, всё делает Fenom.
Скорость, простота и удобство. Надо, конечно, переписать все свои старые чанки, но такова цена прогресса.
Как известно, почтовая вёрстка требует прописывать стили прямо в HTML элементы, в результате чего поддержка нескольких шаблонов писем становится серьёзной головной болью.
А с помощью Fenom мы можем использовать один шаблон и расширять его другими.
Для чего в комплекте с miniShop2 идёт чанк tpl.msEmail с общим шаблоном письма по умолчанию, который разбит на смысловые блоки.
Другие письма расширяют этот чанк и меняют нужные им блоки:
Например, письмо с новым заказом покупателю выглядит так:
Обратите внимание, что в miniShop2 теперь есть и неплохой почтовый шаблон из коробки.
Ах, да! Все письма теперь подготавливаются сниппетом msGetOrder, так что вы легко можете тестировать их оформление с его помощью:
Все сниппеты переписаны заново, понимают массивы в параметрах (для вызова из 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.
Пришла спасибо от Максима — 500р.
И еще одна, тоже 500р — от Паши Гвоздя.
Владимир Бурнос — еще 500р.
Юрий Браги — 1000р!
Александр Здоров — 500р.
Павел Романов — еще 1000р!
Старый друг Виталий Батушев — 1000р!
Парни из modstore.pro заготовили и перечислили еще 30000 рублей!
Всем ответное «спасибо» и «на здоровье»!
Рассуждения о том, что кому и как нужно делать, чтобы в один миг всем стало хорошо — почистил. Не хочется портить очередной перепалкой такое радостное событие, как окончание полугодовой разработки.
Надеюсь на понимание.
Наконец-то, в этой версии представлены изменения, которые нарушат работу текущих магазинов при обновлении.
Это связано с переходом на 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.
Рассуждения о том, что кому и как нужно делать, чтобы в один миг всем стало хорошо — почистил. Не хочется портить очередной перепалкой такое радостное событие, как окончание полугодовой разработки.
Надеюсь на понимание.
Комментарии: 193
Чанк msProduct.content не переписан.
Переписан, но он остался на MODX тегах, потому что Fenom не парсит все страницы сайта по умолчанию.
И я не хочу заставлять всех включать эту настройку.
И я не хочу заставлять всех включать эту настройку.
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Сейчас начал делать магаз на Minishop, пока накидал структуру, есть смысл делать на новой версии или делать сразу на 2.4? в репах не видно этой версии
Делай сразу на новой.
В modstore.pro лежат 2 версии: 2.2 и 2.4. Сначала ставится первая, а потом её можно обновить на вторую. Как проверим, что 2.4-rc не имеет фатальных ошибок, 2.2 отключу.
В modstore.pro лежат 2 версии: 2.2 и 2.4. Сначала ставится первая, а потом её можно обновить на вторую. Как проверим, что 2.4-rc не имеет фатальных ошибок, 2.2 отключу.
После обновления до 2.4-rc в админке перестали открываться категории товаров.
При клике на категорию справа пустое серое окно. В консоли вижу следующее:
Версия MODX 2.4.3-pl
Версия PHP 5.6
В чем может быть дело?
При клике на категорию справа пустое серое окно. В консоли вижу следующее:
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
В чем может быть дело?
Пока помогла установка системных параметров compress_js и compress_css в значения Нет. Но это же не есть правильно.
А ведь все остальные разделы сайта открываются нормально.
А ведь все остальные разделы сайта открываются нормально.
После обновления MODX до 2.5.0-pl страницы категории начали открываться и с включенной компрессией js и css.
у меня только на «compress_js Да» в стойку встает, на «compress_css Да» не ругается
В консоли ругался на подключение обоих типов файлов и я по отдельности просто не пробовал отключать. Выключал сразу и для js и для css :)
чего-то я поторопился. До этого у меня не открывались Приложения->miniShop2->Заказы/Настройки. Я выключил js и css, как писал вверху. Сейчас проверил, категории товаров один фиг не открываются :-( Обновлять MODx чего-то сыкую. Сайт рабочий и порушить его как-то не хоцца. Чего делать?
P.S. Собственно, если создать ресурс «Товар магазина», то происходит то же самое: справа от дерева пусто
P.S. Собственно, если создать ресурс «Товар магазина», то происходит то же самое: справа от дерева пусто
Сайт рабочий и порушить его как-то не хоцца. Чего делать?Сделать бэкап, и доводить до ума на нём.
MODx обновил до 2.5.0, легче не стало :-(
Спасибо, Василий! Сбылись мои мечты, особенно за tpl.msEmail.* и tpl.msCart.*. Теперь меньше возни между ними.
Новая галерея шикарная!
у меня не работает форма оформления заказа, после нажатия на кнопку «Сделать заказ!» идет идет 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
Извини, не пользуюсь OpenServer.
На minishop2.com с PHP 7.0 всё отлично работает. Да и с другими версиями PHP пока никто больше на pdoTools не жаловался.
На minishop2.com с PHP 7.0 всё отлично работает. Да и с другими версиями PHP пока никто больше на pdoTools не жаловался.
переключил с php 5.3 на 5.4 и заработало
Есть сайт-витрина, который становится магазином. Пытаюсь изменить 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:1585php 5.6.10. Кэш чистил. Только у меня так? Раньше вроде работало. Причём замена на msProduct происходит, если обновить страницу, но после никакие изменения у товара не сохраняются.
Поправил, обновляйся.
У меня вот версия 2.4.11, а проблема точно такая же
Вот примерно так это выглядит:
6 0.2457 1705000 msProductUpdateProcessor->run( ) .../modx.class.php:1706
7 0.2802 1765488 msProductUpdateProcessor->process( ) .../modprocessor.class.php:173
8 0.3801 1897432 msProductUpdateProcessor->saveObject( ) .../modprocessor.class.php:833
9 0.3801 1897408 msProduct_mysql->save( ) .../modprocessor.class.php:848
10 0.3801 1897408 msProduct_mysql->save( ) .../msproduct.class.php:158
11 0.4066 1924152 msProduct_mysql->save( ) .../modresource.class.php:646
12 0.4067 1924152 msProduct_mysql->save( ) .../modaccessibleobject.class.php:172
13 0.4068 1924176 msProduct_mysql->_saveRelatedObjects( ) .../xpdoobject.class.php:1353
14 0.4068 1924976 msProduct_mysql->_saveRelatedObject( ) .../xpdoobject.class.php:1536
15 0.4068 1924976 msProductData_mysql->save( ) .../xpdoobject.class.php:1585
16 0.4069 1924976 msProductData_mysql->save( ) .../msproductdata.class.php:23
17 0.4070 1925072 msProductData_mysql->_saveRelatedObjects( ) .../xpdoobject.class.php:1353
18 0.4071 1925872 msProductData_mysql->_saveRelatedObject( ) .../xpdoobject.class.php:1536
19 0.4071 1925872 msProduct_mysql->save( ) .../xpdoobject.class.php:1588
20 0.4071 1925872 msProduct_mysql->save( ) .../msproduct.class.php:158
21 0.4237 1943296 msProduct_mysql->save( ) .../modresource.class.php:646
22 0.4237 1943296 msProduct_mysql->save( ) .../modaccessibleobject.class.php:172
23 0.4238 1943416 msProduct_mysql->_saveRelatedObjects( ) .../xpdoobject.class.php:1353
24 0.4239 1944216 msProduct_mysql->_saveRelatedObject( ) .../xpdoobject.class.php:1536
25 0.4239 1944216 msProductData_mysql->save( ) .../xpdoobject.class.php:1585
26 0.4239 1944216 msProductData_mysql->save( ) .../msproductdata.class.php:23
27 0.4241 1944312 msProductData_mysql->_saveRelatedObjects( ) .../xpdoobject.class.php:1353
28 0.4242 1945112 msProductData_mysql->_saveRelatedObject( ) .../xpdoobject.class.php:1536
Василий, добрый день!
Как можно в логах посмотреть, что именно не работает, на что ругается miniShop? У меня не открываются категории и товары, а то в журнале ошибок ничего не пишет при этом.
Спасибо за понимание.
Как можно в логах посмотреть, что именно не работает, на что ругается miniShop? У меня не открываются категории и товары, а то в журнале ошибок ничего не пишет при этом.
Спасибо за понимание.
Смотри консоль сервера.
Ну и проверить работу можно на modhost.pro. Думаю, у тебя мешается какой-то другой компонент, например, AjaxManager.
Ну и проверить работу можно на modhost.pro. Думаю, у тебя мешается какой-то другой компонент, например, AjaxManager.
Вот чего пишет:
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
Очень рад, что он тебе такое пишет. Мне это совершенно ни о чём не говорит.
Проверь работу дополнения на modhost.pro и убедись, что там всё в порядке. А потом ищи конфликтующие дополнения у себя на сайте, начиная с AjaxManager и подобных «улучшателей» админки.
Проверь работу дополнения на modhost.pro и убедись, что там всё в порядке. А потом ищи конфликтующие дополнения у себя на сайте, начиная с AjaxManager и подобных «улучшателей» админки.
Спасибо! Будем искать. AjaxManager у меня не установлен, значит кто-то другой
шпиёном-вредителем оказался Tickets. Сейчас думаю, как победить
Поди обновить давно Tickets нужно.
да, он очень давно не обновлялся. В далекие-далекие времена, я его как-то обновил, и у меня комментарии перестали добавляться. Я тогда писал об этом. В итоге откатился к старой версии, но что-то с твоего совета поменял в коде. С тех пор не обновлялся.
Вот сейчас и думаю, что делать с этим. Буду экспериментировать с обновлениями :-)
Вот сейчас и думаю, что делать с этим. Буду экспериментировать с обновлениями :-)
обновил :-))))) теперь с miniShop все хорошо, категории показываются и т.п. Болезнь перешла на Тикеты, теперь панель с ними не показывается
Всё! Получилось!
если я создам товар не из категории, а просто в дереве ресурсов. Он не отображается в дереве. Как его потом найти? Или товар нужно создавать исключительно из категории?
Правильная логика — создавать в категории. Некоторые механизме в товаре завязаны именно на родителя-категорию.
вопрос снят, можно удалить
Не знаю, нужно ли такое фиксировать.
В FF 38.0.5 при удалении заказа не исчезает прелоудер — joxi.ru/dp27oobSvXx627
В Chrome ошибки нет.
В FF 38.0.5 при удалении заказа не исчезает прелоудер — joxi.ru/dp27oobSvXx627
В Chrome ошибки нет.
Делаю новый магазин, добрался до корзины. Хостинг Таймвеб, версия 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/
После установки кеш сичтил. Дополнений на сайте минимум. Подскажите в чем может быть дело?
В логах: 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/
После установки кеш сичтил. Дополнений на сайте минимум. Подскажите в чем может быть дело?
Для чистоты эксперимента, создал на этом хостинге еще один тестовый сайт. Из дополнений только pdo и минишоп, та же самая ошибка
Для чистоты эксперимента, создал на modhost.pro еще один тестовый сайт — всё работает
http://s5819.h5.modhost.pro/manager/ s5819 ZqkughmwaLwz
Это понятно. Я обычно для проектов на Revo покупаю хостинг у вас, но в данном случае разместил на Таймвебе, так как нужно будет использовать большое количество поддоменов, а у вас ограничения на хостинге. Не подскажете, чем может быть вызвана ошибка, приведенная выше?
Не подскажу, я нигде из доступных мне серверов такой ошибки не вижу.
Ограничение у нас только на домены второго уровня, на поддомены ограничений давно нет. То есть
домен modx.pro считается, а id.modx.pro уже нет.
На тарифе «Минимальный» можно добавить 3 домена второго уровня и сколько угодно поддоменов к ним.
Call to undefined method miniShop2::loadMap()Функция loadMap вполне себе на месте в классе miniShop2. Может хостинг как-то прям дико кэширует php код и у тебя там работает класс от версии 2.2
Ограничение у нас только на домены второго уровня, на поддомены ограничений давно нет. То есть
домен modx.pro считается, а id.modx.pro уже нет.
На тарифе «Минимальный» можно добавить 3 домена второго уровня и сколько угодно поддоменов к ним.
Привет Василий, хотел уточнить, правильно ли я понимаю, что с новым методом подключения классов (через addService) проблема с использованием нескольких компонентов, например доставки, на сайте отпадает?
Правильно.
Василий, подскажи пжл, не совсем понял про регистрацию файла через addService. Где именно это нужно сделать?
сниппет msCart, параметр includeTVs=`pic` дает сырой результат — без учета источника файлов.
впервые работаю с Fenom, пытаюсь вывести что-то вроде
так тоже:
Как правильно строку к переменной присоединить?
впервые работаю с 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">
естесственно, работает. Как правильно строку к переменной присоединить?
спасибо! prepareTVs, мог бы и сам догадаться)
HTTP ERROR 500
7.0.7
2.4.0-rc
2.5.4-pl
[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
Проблема в твоих скриптах и чанках. К minishop2 прямого отношения это не имеет. Fenom ругается на непредвиденный тэг где-то.
Да, это pdotools тупил. Оказалось, что после удаления он еще и весь modx с собой забирает. Повезло, что перед удалением забэкапился.
pdoTools тут не тупил, кто-то но явно не он.
Скорее всего код метрики\аналитикс вставили без пробелов от кавычек {w*****, вот и fenom ругался, что не понимает что такое w.
Скорее всего код метрики\аналитикс вставили без пробелов от кавычек {w*****, вот и fenom ругался, что не понимает что такое w.
Не знаю, может быть. Проблема то не в этом, а в том, что pdotools вместе с modx-ом удаляется.
p.s. Не помню, когда код метрики\аналитикс вставлял последний раз. Сейчас только GTM ставлю и уже в него номер аналитикса и метрику (только гуглу не говорите :).
p.s. Не помню, когда код метрики\аналитикс вставлял последний раз. Сейчас только GTM ставлю и уже в него номер аналитикса и метрику (только гуглу не говорите :).
Добрый день. Хотелось бы поинтересоваться о «судьбе» Товарных вариантов (SKU) зачатки которых были в предыдущих версиях. В заметке написано
Больше никаких работ не планируется, только исправление найденных ошибок и выпуск стабильной версии после этого.
Я верно понимаю, что реализовано этой функции в ближайшее время не будет и нужно и дальше продолжать «колхозить» на своих сайтах для реализации SKU?
Понял спасибо. Просто немного боязно использовать не «стандартные методы сторонних разработчиков». Судьба и развитие дополнительных компонентов не всегда понятна, может перестать поддерживаться да и если потом это будет включено «в коробку» возникнут сложности переноса.
Я полгода переписывал то, что было. Включая дополнительные опции из версии 2.2.
На что-то новое замахиваться пока нет ни сил, ни желания. Да и разработчикам дополнений нужно привыкнуть хотя-бы к этой версии, прежде чем еще что-то накручивать.
На что-то новое замахиваться пока нет ни сил, ни желания. Да и разработчикам дополнений нужно привыкнуть хотя-бы к этой версии, прежде чем еще что-то накручивать.
Здравствуйте, не подскажете, в чем может быть проблема?
Снипет msProducts некоторые товары выводит по два раза, причем никакой логики и закономерности обнаружить не удалось( Просто рандомные товары… Только первый раз товар выводится с первой фоткой из галереи, а второй раз — со второй. Лог чистый
Вот вызов снипета
Снипет 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>
Заранее огромное спасибо!
Такое может быть только если у тебя нарушен порядок фотографий. То есть, 2 фотки с rank = 0.
Можно проверить в БД, можно просто посортировать картинки в галерее — при этом порядок исправится.
Можно проверить в БД, можно просто посортировать картинки в галерее — при этом порядок исправится.
Спасибо большое! Помогла перетасовка фотографий!
Пытаюсь загрузить картинку для товара, вылетает ошибка: Передан пустой файл
Файл конечно же не пустой.
Файл конечно же не пустой.
Прошу продемонстрировать ошибку на тестовом сайте modhost.pro
Аналогичная ситуация, пытаюсь загрузить png размером 7кб, и выдает Передан пустой файл.
На modhost.pro пытаюсь воспроизвести – не получается)) Картинка загружается.
На modhost.pro пытаюсь воспроизвести – не получается)) Картинка загружается.
То есть, это какая-то криворукость хостинга.
Если что — вот где берётся содержимое файла, можете попробовать отдебажить косяк на своём хостинге.
Если что — вот где берётся содержимое файла, можете попробовать отдебажить косяк на своём хостинге.
Да, как и я думал, дело было в версии php. 5.3. Поменяю версию. Спасибо, Василий!
У вас с Константином Ильиным случаем не один хостинг?
webhost1.ru, версия 5.3 (один модуль в подпапке находится, который требует 5.3 или 5.4), а там на выбор: 5.3, 5.6, 7.0.
Поменял на 5.6, для теста – всё ок. Никогда не нравился этот хостер)
Поменял на 5.6, для теста – всё ок. Никогда не нравился этот хостер)
Ну, раз уже 3 хостинга с ошибкой на 5.3, видимо дело таки в версии PHP.
Постараюсь установить новую виртуальную машину с 5.3 и проверить.
Постараюсь установить новую виртуальную машину с 5.3 и проверить.
проблема оказалась банальной, PHP 5.3 стоял, поменял на 7-ю версию, все норм.
Спасибо за ваши труды Василий!
Спасибо за ваши труды Василий!
Странно, должно работать и на 5.3.
Полагаю, что на твоём хостинге он как-то необычно сконфигурирован. Подождём еще сообщений.
Кстати говоря, вся новая галерея товаров целиком портирована из платной ms2Gallery, с вырезанием некоторых функций. И в поддержке магазина у меня таких вопросов пока нет.
Полагаю, что на твоём хостинге он как-то необычно сконфигурирован. Подождём еще сообщений.
Кстати говоря, вся новая галерея товаров целиком портирована из платной ms2Gallery, с вырезанием некоторых функций. И в поддержке магазина у меня таких вопросов пока нет.
ms2Gallery пользуюсь, до этого ошибок не было с ней.
Два сайта поменял, на версию выше оба заработали. Хостинг Таймвеб.
Два сайта поменял, на версию выше оба заработали. Хостинг Таймвеб.
Загадка.
Подождём еще сообщений.
Подождём еще сообщений.
На сервере используется два интернет магазина. На новом сайте сначала все загружалось нормально (ms2Gallery), однако недавно стало выводится сообщение «Передан пустой файл». Второй сайт работает нормально, даже после обновления. Версия PHP 5.3. Переходить на новую версию PHP в настоящее время не представляется возможным. Прошу оказать содействие.
Прошу обновить miniShop2 до версии 2.4.3-pl, выпущенной сегодня.
Отлично все заработало, живем. Спасибо за оперативность.
Может ли быть связана данная ошибка с обновлением minishop? Одинаковые номера у заказов.
100% так и есть, исправлю.
Отлично… работает! Спасибо!
Исправил, обновляйся.
Обновился. Тестим.
Еще вопрос:
Вывод фотографии товара в письме о новом заказе менеджеру не работает. Проверено на разных почтовых серверах.
Код чанка tpl.msGetOrder
Вид в mail.ru
Вид в Яндекс
Код письма в Яндекс
Вывод фотографии товара в письме о новом заказе менеджеру не работает. Проверено на разных почтовых серверах.
Код чанка tpl.msGetOrder
Вид в mail.ru
Вид в Яндекс
Код письма в Яндекс
За почту отвечает вот этот чанк, и там указан полный путь к картинке.
tpl.msGetOrder выводит картинки на сайте, а tpl.msEmail — в письме. В одном случае достаточно относительных url, в другом необходимы полные.
<img src="{$site_url}{$product.thumb}"
alt="{$product.pagetitle}"
title="{$product.pagetitle}"
width="120" height="90"/>
tpl.msGetOrder выводит картинки на сайте, а tpl.msEmail — в письме. В одном случае достаточно относительных url, в другом необходимы полные.
Спасибо! Разобрался.
При добавлении любой картинки выходит ошибка ms2_gallery_err_no_source
PHP 7.0.8
PHP 7.0.8
Ну что бы это могло быть? Прям загадка! Ответ прямо на твоём скриншоте, в правом верхнем углу.
От таких вопросов в монастырь без интернета хочется уйти.
MySQL 5.5 + Nginx 1.10.1 + PHP 7.0.7
От таких вопросов в монастырь без интернета хочется уйти.
MySQL 5.5 + Nginx 1.10.1 + PHP 7.0.7
Спасибо, не заметил. Раньше всегда по умолчанию там стоял ms2 images.
Вот еще тогда глюк:
Не показывается картинка здесь, хотя на сайте показывается.
Вот еще тогда глюк:
Не показывается картинка здесь, хотя на сайте показывается.
Укажи правильный размер в системной настройке ms2_product_thumbnail_size
Спасибо.
Если сделать товар магазина без картинки, то страница выпадает в осадок
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 нельзя было галерею отключать, т.к. все скрипты вместе с ним отключались.
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 нельзя было галерею отключать, т.к. все скрипты вместе с ним отключались.
Разберись, почему у твоих товаров свойство source = 0.
Такого быть не должно, поэтому сниппет и падает при попытке работы с источником.
Такого быть не должно, поэтому сниппет и падает при попытке работы с источником.
Василий, можно ли как-то добавить в настройках категории товаров источник медиа файлов, чтобы всем товарам из этой категори назначался этот источни?
А то есть разные категории товаров с отличающимися размерами картинок.
А то есть разные категории товаров с отличающимися размерами картинок.
А вопрос такой — никак не переопределить сниппет для формирования писем?
я вот чуть переделал msGetOrder под проект, чтобы он еще несколько нужных значений выводил, сохранил под другим именем и вызвал его на странице оформления — на ней всё работает, но в письма уходит всё равно с пустыми местами вместо этих значений…
ну и еще чанки бы тоже переопределять
я вот чуть переделал msGetOrder под проект, чтобы он еще несколько нужных значений выводил, сохранил под другим именем и вызвал его на странице оформления — на ней всё работает, но в письма уходит всё равно с пустыми местами вместо этих значений…
ну и еще чанки бы тоже переопределять
Решение — собственный класс заказа и переопределенный в нем метод changeOrderStatus()
Перечитал вопрос и я понял, что предложенное вряд ли поможет.
Перечитал вопрос и я понял, что предложенное вряд ли поможет.
Там и так всё, что только можно сниппетом выбирается, чего тебе не хватает?
В крайнем случае, можно вызвать какой-то сниппет из чанка, для получения дополнительных данных.
В крайнем случае, можно вызвать какой-то сниппет из чанка, для получения дополнительных данных.
у меня корзина и заказ на разных страницах, хитрый рассчет скидок от суммы заказа в корзине, а при оформлении нужно показать и сырую цену, и размер скидки, и стоимость доставки — все по отдельности. Да не суть, мало ли какие кейсы бывают)
При добавлении опции товара с типом содержимого «Список с автодополнением», в товарах значения этой опции не сохраняются, если записать опции товаров напрямую в базу, в таблицу «ms2_product_options», то они не выводятся. С другими типами — все ок.
Поправил, обновляйся на rc3.
Заработало, спасибо.
Только у меня не отображается поле цена товара в админке или это глюк последнего обновления?
похоже на то что только у тебя, у меня все работает, только что проверил.
У меня тоже нету, хотя в ms2_product_main_fields поле price есть
Если добавить price в ms2_product_extra_fields, то цена появляется и здесь удобнее, чем в главном окне.
Если добавить price в ms2_product_extra_fields, то цена появляется и здесь удобнее, чем в главном окне.
Цена товара в админке не отображается у тех, кто не хочет читать статьи об обновлениях.
у меня не сохраняется поле «обязательные поля» в способах оплаты( на двух сайтах уже. С нуля ставил новый минишоп.
У оплаты нет обязательных полей, это просто копипаста в форме.
Исправлю.
Исправлю.
спасибо)
Василий прошу помощи, не понимаю почему не подхватывается стандартный шаблон письма при заказе, в письме приходит массив!
Может быть только одна причина — в настройках статуса указан несуществующий чанк.
Я правильно понимаю что скрипт перегенерации картинок галереи минишоп не работает для новой галереи?
Перегенерировал превью товаров с новыми параметрами и возник непонятный мне глюк который попытаюсь описать. Превью внутри товаров как бы поменялись местами, хотя порядок не изменился, вместо нулевой картинки показывает последнюю… Если их передернуть местами все становится в порядке. Как решить этот вопрос не перебирая сто товаров руками???
Подскажите, как теперь выводить TV поля в чанке tpl.msProducts.row?
&includeTVs=`my_tv_1,my.tv.2`
получится{$my_tv_1} и {$_pls['my.tv.2']}
docs.modx.pro/components/pdotools/parser#Плейсхолдеры-с-точкой-или-тире
Да, это помогло, спасибо. Но не везде…
В товаре выводятся сопутствующие товары, используется тот же tpl.msProducts.row, но TV не выводится в них.
В товаре выводятся сопутствующие товары, используется тот же tpl.msProducts.row, но TV не выводится в них.
А есть возможность вывести название TV?
С названиями TV разобрались.
С минусом выводятся заказы с type = 1, а не 0. Обычно это списания со счёта юзера через msProfile.
Не подумал, спасибо!
Василий, при выводе характеристик столкнулся с моментом — Вместо option.value одной из характеристик оказался массив с ключами наверняка для чего-то нужными тк это в чанке дефолтном минишопа предусмотрено. Создал еще одну характеристику аналогичную — у нее все ок, просто значение а не массив. В документации про это не нашел. Можешь подсказать как это работает? Вопрос скорее праздный, тк работает нормально, просто интересно)
а я так понимаю с версией 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
эта ошибка при оформление заказа остается, все остальное хорошо работает, сменить версию на повыше и сразу начинает работать все нормльно
как и выше писалось: Fatal error: Call to protected method FenomX::_assertNoEval() from context '' in site\core\components\pdotools\model\pdotools\_fenom.php on line 529
эта ошибка при оформление заказа остается, все остальное хорошо работает, сменить версию на повыше и сразу начинает работать все нормльно
Обнови pdoTools до версии 2.6.1 — исправил.
Да все заработало! Спасибо
Добрый день.
Раньше после оформления заказа можно было на сайте увидеть его содержимое и надпись
«Спасибо за оформление заказа #**** на нашем сайте ****»
Как сейчас эту фразу с номером оформленного заказа вставить?
Раньше после оформления заказа можно было на сайте увидеть его содержимое и надпись
«Спасибо за оформление заказа #**** на нашем сайте ****»
Как сейчас эту фразу с номером оформленного заказа вставить?
На страницу оформления заказа вставляем вызов сниппета [[!msGetOrder]], и дальше редактируем чанк tpl.msGetOrder.
Понял, как вывести ID заказа — {$order.id}.
Как вывести номер заказа пока не понял.
Понял, как вывести ID заказа — {$order.id}.
Как вывести номер заказа пока не понял.
Собственно, номер заказа выводится так — {$order.num}
Существует проблемка с фоторамой.
Когда первый раз захожу в карточку товара, то картинки (как я понимаю) адаптируются под мобильный
После обновления страницы, картинки нормально отображаются
Когда первый раз захожу в карточку товара, то картинки (как я понимаю) адаптируются под мобильный
После обновления страницы, картинки нормально отображаются
Нашли решение?
===
UPD: о, сам нашел. data-width=«100%» (или в пикселях, тоже норм)
===
UPD: о, сам нашел. data-width=«100%» (или в пикселях, тоже норм)
Жесткий баг на rc11, после перегенерации превью товаров скриптом из документации ,превью меняются местами, воспроизвел на modhost, все так же (Думал сначала у меня какие то баги закрались). Вот сайт s6108.h3.modhost.pro/
Надеюсь найдется решение как исправить это, а то не хочется сотню товаров руками перебирать!
Надеюсь найдется решение как исправить это, а то не хочется сотню товаров руками перебирать!
В массиве
$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.
$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.
Есть неудобный момент с отправкой писем.
Во-первых, хотелось бы событие для плагина из коробки для самостоятельно обработки отправки письма.
Во-вторых, в новом релизе msGetOrder вызывается прямо в minishop2.class.php, и если надо сделать вывод нестандартных изображений в письме, то приходится или править основной код вызова, или извращаться с msGallery в теле письма. Что кажется не слишком удобным, плюс к этому изображения в письме на отправку могут отличаться от изображений по-умолчанию, которые показываются в админке сайта, и при этом не могут быть одинаковыми, предвосхищая вопрос.
Во-первых, хотелось бы событие для плагина из коробки для самостоятельно обработки отправки письма.
Во-вторых, в новом релизе msGetOrder вызывается прямо в minishop2.class.php, и если надо сделать вывод нестандартных изображений в письме, то приходится или править основной код вызова, или извращаться с msGallery в теле письма. Что кажется не слишком удобным, плюс к этому изображения в письме на отправку могут отличаться от изображений по-умолчанию, которые показываются в админке сайта, и при этом не могут быть одинаковыми, предвосхищая вопрос.
В третьих, можно переопределить класс заказа и написать там свою отправку писем.
Согласен, хотя решение будет проще, если будет событие добавлено ;)
Куда подевалась документация по импорту товаров из csv?
Поиск и все ссылки на этом сайте ведут
на bezumkin.ru/modx/minishop2/import/2309/
откуда перекидывает на docs.modx.pro/
Поиск и все ссылки на этом сайте ведут
на bezumkin.ru/modx/minishop2/import/2309/
откуда перекидывает на docs.modx.pro/
кстати, да, вот из кеша Яндекса:
По многочисленным просьбам общественности написал скрипт импорта в 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=|
В конце работы скрипт выведет статистику и ошибки, если есть.
По многочисленным просьбам общественности написал скрипт импорта в 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=|
В конце работы скрипт выведет статистику и ошибки, если есть.
Тоже не хотели загружаться фотки к товарам. Поменял php с 5.3 до 7 версии все заработало.
Хостинг sprinthost
Хостинг sprinthost
Подскажите, как поменять чанки с шаблонами различных писем — это понятно: в настройках статусов заказов. Но, все эти шаблоны завязаны на один tpl.msEmail. А как/где переопределить его на свой?
Поздравляю со стабильной версией!
Очень важная вещь появилась — вывод всех опций, порадовала возможность быстрого редактирования и прочее.
Вопрос по Fenom в корзине: как заменить изображение на другой размер?
Очень важная вещь появилась — вывод всех опций, порадовала возможность быстрого редактирования и прочее.
Вопрос по 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]]?
includeThumbs и {$product['300x300']} попробуй
Спасибо!
Оказалось, точку не убрал
Оказалось, точку не убрал
{$product['100x100']}
заметил одну интересую вещь, пока не копал глубоко в чем проблема, при перетаскивании картинок в галерее у них становится один ранг не нулевой и msProducts не выводит первое изображения, и я решил использовать вызов msGallery внутри чанка msProducts, в итоге получил что выводится первый товар только, а лог от msProducts заменяется на лог от msGallery может кто подскажет есть ли какое-то решение по этому поводу?
в чанке tpl.msEmail присутствует такая конструкция: {$product.id | url: ['scheme' => 'full']}
чтобы вывести ссылку на продукт. Во-первых, никак не нашел вообще описание синтаксиса. Ну да ладно. Вопрос, собственно, не в этом. Когда приходит письмо, то, если я его открываю в Thunthebird, то там ссылка нормальная. А если открываю в браузере на сайте mail.ru, то там ссылка порезана. Как быть?
чтобы вывести ссылку на продукт. Во-первых, никак не нашел вообще описание синтаксиса. Ну да ладно. Вопрос, собственно, не в этом. Когда приходит письмо, то, если я его открываю в Thunthebird, то там ссылка нормальная. А если открываю в браузере на сайте mail.ru, то там ссылка порезана. Как быть?
Во-первых, никак не нашел вообще описание синтаксиса.ищите туточки — Синтаксис
Мне кажется ссылки в письмах на сайте маил.ру дело рук не данного компонента.
Хотя вы даже скриншот не показали, пример не привели. На такой вопрос трудно ответить по существу
Спасибо за ссылочку!
Поэкспериментировал сегодня. Выяснилось, что Mail.ru совершенно не причем. Оказывается, что ссылка на продукт присутствует в письме Юзеру и Менеджеру о том, что заказ сделан. В этих двух первых письмах всё правильно. Потом, после оплаты, приходят письма об оплате заказа. В обоих письмах и Юзеру и Менеджеру ссылка с пустым href. Где это поправить? Ведь по сути шаблон один и тот же используется. Или нет? Тогда что не так?
Поэкспериментировал сегодня. Выяснилось, что Mail.ru совершенно не причем. Оказывается, что ссылка на продукт присутствует в письме Юзеру и Менеджеру о том, что заказ сделан. В этих двух первых письмах всё правильно. Потом, после оплаты, приходят письма об оплате заказа. В обоих письмах и Юзеру и Менеджеру ссылка с пустым href. Где это поправить? Ведь по сути шаблон один и тот же используется. Или нет? Тогда что не так?
Какая-то фигня с письмами. Чанк 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 не существует когда идет генерация письма? Где копать? Мож какую настройку включить?
проверяю 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 не существует когда идет генерация письма? Где копать? Мож какую настройку включить?
Василий, глюк это или нет, решать тебе.
При таких настройках работает:
joxi.ru/a2Xak8bIy8KvyA
Но когда убираешь «Вкладка галерея товара», при редактировании товара вот такое:
joxi.ru/Drl7eY6C4NkXgA
как видно на скриншоте специально протестил на modhost
При таких настройках работает:
joxi.ru/a2Xak8bIy8KvyA
Но когда убираешь «Вкладка галерея товара», при редактировании товара вот такое:
joxi.ru/Drl7eY6C4NkXgA
как видно на скриншоте специально протестил на modhost
Исправил, можно обновляться.
Почему то у меня в админке в репозитории только Minishop 2.2. как скачать 2.4?
Доброго времени суток.
Обнаружил интересный толи баг, толи ёще что.
В полной корзине товаров в чанке tpl.msCart благодаря Fenom — делаю вывод опции размера, как
2ой товар http://c2n.me/3BrVG2L видно что выводится 1ая опция из 1го товара! НООО самое интересное, что если открыть исходный код браузера — там все ок! :)))
Почему то ссылается во 2ом товаре на опцию 1го товара, хотя обращение к другим поля массива — все ок, видно по скринам.
Проверял другой браузер, плагины — нет! Сам программист, но не понимаю где искать, почему в исходном коде норм, в бразуер нет, страница НЕ закеширована.
Обратился уже и к мануалу Fenom Rus по логике все верно.
Обнаружил интересный толи баг, толи ёще что.
В полной корзине товаров в чанке 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 по логике все верно.
Извините, ложная тревога. Дело оказалось в jQuery скрипте который не был замечен сразу.
p.s. зато теперь про нововведений Fenom стало многое ясно, что где куда и зачем — не плохая штука, удобная, т.к. упрощает код за счёт базового синтаксиса и возможностей.
p.s. зато теперь про нововведений Fenom стало многое ясно, что где куда и зачем — не плохая штука, удобная, т.к. упрощает код за счёт базового синтаксиса и возможностей.
Добрый день, Василий.
Писал вам на почту пару дней назад, не уверен получили ли вы сообщение, т.к. ответа не последовало.
Присутствует баг, что если у товара заполнен «Производитель», то при следующем редактировании товара список всех производителей не появляется и выбрать другого становится невозможно. Мне кажется это очень похоже на это github.com/bezumkin/miniShop2/issues/230
Только у меня эта ошибка на любом товаре воспроизводится, не только клонированном.
Буду очень признателен, если подскажите как победить это.
Писал вам на почту пару дней назад, не уверен получили ли вы сообщение, т.к. ответа не последовало.
Присутствует баг, что если у товара заполнен «Производитель», то при следующем редактировании товара список всех производителей не появляется и выбрать другого становится невозможно. Мне кажется это очень похоже на это github.com/bezumkin/miniShop2/issues/230
Только у меня эта ошибка на любом товаре воспроизводится, не только клонированном.
Буду очень признателен, если подскажите как победить это.
Так как ответа я не дождался, пришлось самому покопаться во внутренностях.
В итоге проблему победил, если вдруг кому пригодится, вот решение:
открываете файл assets/components/minishop2/js/mgr/misc/ms2.combo.js
находите строку 202, либо вот этот кусок кода:
Буду признателен, если Василий подскажет верно ли я сделал и не аукнется ли это потом где-то.
Где смог проверил, вроде все в порядке.
В итоге проблему победил, если вдруг кому пригодится, вот решение:
открываете файл 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: '',
В итоге поле производителя стало отображать нормально всех производителей при редактировании товара.Буду признателен, если Василий подскажет верно ли я сделал и не аукнется ли это потом где-то.
Где смог проверил, вроде все в порядке.
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
комментарий не надо было удалять, вопрос все же остался без ответа, прошу прощения.
Дело было вовсе не в плагине.
Дело было вовсе не в плагине.
Вопросы по работе msOptionsPrice2 и cityFields нужно задавать их автору, а не мне.
так вопрос касался не дополнений, а связки событий msOnBeforeAddToCart и msOnGetProductPrice
Никакого желания ни спорить, ни разбираться — вот тут всё про 2 дополнения, которые переопределяют цену на разных событиях.
У MS2 есть возможность переопределить логику работы корзины, написав собственный класс для её расширения, чем я тебе и предлагаю заняться. Можно будет вызывать там какие угодно события, в любой последовательности.
У MS2 есть возможность переопределить логику работы корзины, написав собственный класс для её расширения, чем я тебе и предлагаю заняться. Можно будет вызывать там какие угодно события, в любой последовательности.
Василий, я документацию читал, спасибо вам большое за неё. Класс для работы с корзиной я уже переопределил! я не пытаюсь спорить или разводить демагогию) я пытаюсь понять почему столкнулся с такой ситуёвиной( На гите ваш комментарий прочел — ответить однозначно за авторов я не могу.
Потому, что автор этих дополнений использует 2 разных события для одной цели, вместо того, чтобы использовать верное событие в обоих плагинах — msOnGetProductPrice.
Если что, у событий плагинов есть приоритет и одно событие можно использовать хоть в 100 плагинах, тогда изменение цены пройдёт по цепочке от низшего приоритета к высшему.
Если что, у событий плагинов есть приоритет и одно событие можно использовать хоть в 100 плагинах, тогда изменение цены пройдёт по цепочке от низшего приоритета к высшему.
ответили выше))) спасибо!!! это то что мне нужно — приоритеты
Столкнулся с проблемой. На одном из сайтов msProductOptions не выводит опции. С последним обновлением не связано, было и до него. В админке все ок, в базу пишутся, но на фронте, если пустой tpl указать:
Array ( [options] => Array ( ) )
В логе ошибка есть, но она позже появилась и к делу не относится вероятнее всего. Что можно предпринять в данном случае?
Возник такой вопрос — после обновления заметил несколько проблем, связанных с ассетами:
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. В админке не находило /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)
Как это можно решить? И почему ассеты отказываются обновиться?
Все файлы на месте — можешь проверить.
Скорее всего проблемы в разрешении на директории, из-за чего просто не получается что-то в них записать. Такое часто бывает на кривых хостингах.
Скорее всего проблемы в разрешении на директории, из-за чего просто не получается что-то в них записать. Такое часто бывает на кривых хостингах.
Ну я обновлял локально, владелец папок alex:www-data, плюс был сделан chown -R g+w(права на запись для www-data точно есть), однако замены не происходит. Я правильно понимаю, что по факту все ассеты из core/assets/components/minishop2 по сути должны попасть в assets/components/minishop2
Добрый день. И еще по поводу опций. Можно ли Опции отображать в категории где идет список товаров. Хотя бы отображать, уже не говор о заполнении, т.к. как я понимаю это запредельный функционал.
Или только идти путем плагинов с добавлением Свойств товаров и в этом случае они смогут быть отображены в списке товаров, аналогично цене, заголовоку и прочее.
joxi.ru/823x1l0uJJENEA
Или только идти путем плагинов с добавлением Свойств товаров и в этом случае они смогут быть отображены в списке товаров, аналогично цене, заголовоку и прочее.
joxi.ru/823x1l0uJJENEA
Насколько я помню (и в документации так написано), нет, опции там не выводятся.
А как можно в письме менеджеру о заказе указать телефон, емейл. способ доставки, тип оплаты и комментарий? Я не нашел этих плейсхолдеров
уже не нужно. Нашел в коде, если кому интересно:
Телефон покупателя: {$address.phone}
Email покупателя: {$user.email}
Способ доставки: {$delivery.name}
Тип оплаты: {$payment.name}
Комментарий к заказу: {$address.comment}
Телефон покупателя: {$address.phone}
Email покупателя: {$user.email}
Способ доставки: {$delivery.name}
Тип оплаты: {$payment.name}
Комментарий к заказу: {$address.comment}
Да, догадаться что комментарий передается не в {$order.comment}, а в {$address.comment}… ндя…
Притом в order Тоже есть поле comment.
Спасибо добрый человек за наводку. )
Притом в order Тоже есть поле comment.
Спасибо добрый человек за наводку. )
Уважаемые коллеги! Помогите кто может дилетанту.
Исходные данные. Есть страница с корзиной, которая содержит следующее:
[[!mySnippet]]
[[!msCart]]
[[!msOrder]]
[[!msGetOrder]]
Сниппетом mySnippet после клика на кнопку «Оплатить» генерируется дополнительная платежная информация и записывается во внешнюю базу данных. Кроме того, эта информация выводится покупателю. После этого сниппетом msGetOrder отправляется email покупателю (как указано в документации) и выводится содержимое заказа.
Мне нужно включить в email покупателю дополнительную платежную информацию из внешней базы данных, записанную перед этим сниппетом mySnippet. Я пытаюсь сделать это в сниппете msGetOrder, но складывается впечатление, что email покупателю отправляется до того, как дополнительная платежная информация записывается во внешнюю базу данных.
Мои вопросы:
— скажите пожалуйста, где, как и в какой момент отправляется email покупателю;
— где и как мне нужно сделать запись во внешнюю базу данных (после клика на кнопку «Оплатить»), чтобы эту информацию можно было бы потом извлечь и вставить в email покупателю;
— можно ли изменить момент отправки email покупателю так, чтобы это происходило гарантированно после записи во внешнюю базу данных.
Зараннее Спасибо.
Исходные данные. Есть страница с корзиной, которая содержит следующее:
[[!mySnippet]]
[[!msCart]]
[[!msOrder]]
[[!msGetOrder]]
Сниппетом mySnippet после клика на кнопку «Оплатить» генерируется дополнительная платежная информация и записывается во внешнюю базу данных. Кроме того, эта информация выводится покупателю. После этого сниппетом msGetOrder отправляется email покупателю (как указано в документации) и выводится содержимое заказа.
Мне нужно включить в email покупателю дополнительную платежную информацию из внешней базы данных, записанную перед этим сниппетом mySnippet. Я пытаюсь сделать это в сниппете msGetOrder, но складывается впечатление, что email покупателю отправляется до того, как дополнительная платежная информация записывается во внешнюю базу данных.
Мои вопросы:
— скажите пожалуйста, где, как и в какой момент отправляется email покупателю;
— где и как мне нужно сделать запись во внешнюю базу данных (после клика на кнопку «Оплатить»), чтобы эту информацию можно было бы потом извлечь и вставить в email покупателю;
— можно ли изменить момент отправки email покупателю так, чтобы это происходило гарантированно после записи во внешнюю базу данных.
Зараннее Спасибо.
Вопрос. Как вернуться предыдущую версию, надо сделать «все как и было» до обновления…
Стандартной опцией не получается… Чанки все равно остаются от новой версии ms2
@Восстановить
Это позволит восстановить предыдущий вариант параметров компонента, такими какими они были до установки новой версии пакета.@
Как то надо вернуть на метсо старые чанки
Стандартной опцией не получается… Чанки все равно остаются от новой версии ms2
@Восстановить
Это позволит восстановить предыдущий вариант параметров компонента, такими какими они были до установки новой версии пакета.@
Как то надо вернуть на метсо старые чанки
Почти получилось, осталось где-то найти и вернуть дополнительные поля товара (и их былые значения… ) в админке…
Всем, здравствуйте!
Подскажите!
как я могу вывести товары по tv-параметру
Есть поля:
collection-id- текстовое, где я через запятую вписываю числа
tagg — tagLister
В одном товаре может быть несколько тегов
Нужно вывести товары, у которых есть совпадение хотя бы по одному из чисел в collection-id или tagg
делаю вот так не выходит
[[msProducts?
&limit=`0`
&parents=`0`
&depth=`0`
&tpl=`tpl.msProducts.row`
&includeTVs=`collection-id,tagg` &where=`{«collection-id:LIKE»:"[[*collection-id]]"}`]]
Подскажите!
как я могу вывести товары по tv-параметру
Есть поля:
collection-id- текстовое, где я через запятую вписываю числа
tagg — tagLister
В одном товаре может быть несколько тегов
Нужно вывести товары, у которых есть совпадение хотя бы по одному из чисел в collection-id или tagg
делаю вот так не выходит
[[msProducts?
&limit=`0`
&parents=`0`
&depth=`0`
&tpl=`tpl.msProducts.row`
&includeTVs=`collection-id,tagg` &where=`{«collection-id:LIKE»:"[[*collection-id]]"}`]]
Здравствуйте!
Вопрос по галерее минишопа. Есть товар, у товара картинки с водяными знаками проставленные в настройках источника медиа
joxi.ru/12M7daECllewJr
Создал отдельно original чтобы был в полный размер и с водяным знаком.
Вопрос в том, что в папке каждого продукта лежат файлы оригинал без водяного знака.
joxi.ru/VrwWwPXI77NjNr
Удалять их понятное дело нельзя, т.к. они могут понадобится, например для перегенерации превью
Как запретить к ним доступ? т.к. негодяи захотят, спарсят все картинки без водяного знака.
Вопрос по галерее минишопа. Есть товар, у товара картинки с водяными знаками проставленные в настройках источника медиа
joxi.ru/12M7daECllewJr
Создал отдельно original чтобы был в полный размер и с водяным знаком.
Вопрос в том, что в папке каждого продукта лежат файлы оригинал без водяного знака.
joxi.ru/VrwWwPXI77NjNr
Удалять их понятное дело нельзя, т.к. они могут понадобится, например для перегенерации превью
Как запретить к ним доступ? т.к. негодяи захотят, спарсят все картинки без водяного знака.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.