30 сентября 2016, 10:33 Можно поподробнее? if ($modx->event->name == 'msOnCreateOrder') { $modx->user->addSessionContext('web'); }Выдаёт ошибку 673) User Group not found with key: 4 Вопросы / Авторизация пользователя при первом заказе 3 0
29 сентября 2016, 12:16 Работает, спасибо. Теперь я хочу вызвать окно, для подтверждения регистрации нового пользователя. Как я понял нужно пилить js и там менять auth/formLogin на auth/formRegister если пользователь не найден. Как лучше поймать этот момент? if (response.message = 'Пользователь не найден') {...}Можно лучше? Новые дополнения и их версии / Office 1.1.0 - улучшения авторизации 110 0
29 сентября 2016, 11:49 Сработало так: <div class="row" id="office-auth-form"> <form method="post"> <input type="hidden" name="action" value="auth/formLogin"/> <h4>Вход</h4> <div class="form-group"> <input type="email" name="email" placeholder="email"> </div> <button type="submit" class="btn btn-success">Отправить</button> </form> </div>Но как сделать, чтоб тут же регистрировался пользователь, email которого не найден? Новые дополнения и их версии / Office 1.1.0 - улучшения авторизации 110 0
28 сентября 2016, 19:58 Кстати говоря, если вам все эти новшества не по душе — вы можете просто не обновлять чанк авторизации, и всё будет работать как и раньше.Как быть, если я впервые поставил office уже с новыми чанками и эти новшества мне не по душе? :-) Хочу как на makimaki.ru, чтоб только email. Может где-то остался код старого чанка авторизации? Новые дополнения и их версии / Office 1.1.0 - улучшения авторизации 110 0
28 августа 2016, 15:27 Настройки TV вкладка «Параметры ввода» в самом низу. Готовые решения / Content Editor Tools 0.8 и тема для админки 63 +1 1
28 июня 2016, 17:15 Есть сайт-витрина, который становится магазином. Пытаюсь изменить 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 происходит, если обновить страницу, но после никакие изменения у товара не сохраняются. Новые дополнения и их версии / [miniShop2] Версия 2.4.0 rc 193 0
01 июня 2016, 10:43 Какая версия php? Готовые решения / Content Editor Tools 0.8 и тема для админки 63 0
23 мая 2016, 10:35 Мой пока что кривой и недоделанный Builder решает проблему отображая все script в виде блока codemirror рядом с rte: modx.pro/solutions/7881-content-editor-tools-0-8-and-subject-to-adminki/. Кроме того, насколько мне помнится и в TinyMCE и в CKEditor можно указать список возможных тегов. Безопасность / О пользе RTE 10 0
19 мая 2016, 12:11 На данный момент только в файле /core/components/assetstv/elements/tv/input/tpl/assetstv.tpl Потом будет вынесено в словари. Готовые решения / Content Editor Tools 0.8 и тема для админки 63 +1
29 апреля 2016, 15:46 Пока решение такое. 1. На странице товара, добавил dropzone в отдельной форме. То есть в шаблоне у меня есть такое: <script src="/assets/js/dropzone.js"></script> <link rel="stylesheet" href="/assets/js/dropzone.css"> <form action="/upload.php" class="dropzone"> <div class="fallback"> <input name="file" type="file" multiple /> </div> </form> 2. Сделал тупой загрузчик upload.php: <?php session_start(); $ds = DIRECTORY_SEPARATOR; //1 $ses = session_id(); $storeFolder = 'uploads/'.$ses; //2 if (!is_dir($storeFolder)) mkdir($storeFolder); if (!empty($_FILES)) { $tempFile = $_FILES['file']['tmp_name']; //3 $targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds; //4 $targetFile = $targetPath. $_FILES['file']['name']; //5 move_uploaded_file($tempFile,$targetFile); //6 } ?>Загруженный файл сохраняется в папку /uploads/session_id/. 3. В /core/components/minishop2/model/minishop2/minishop2.class.php изменил функцию sendEmail, следующим образом: public function sendEmail($email, $subject, $body = 'no body set') { if (!isset($this->modx->mail) || !is_object($this->modx->mail)) { $this->modx->getService('mail', 'mail.modPHPMailer'); } $this->modx->mail->set(modMail::MAIL_FROM, $this->modx->getOption('emailsender')); $this->modx->mail->set(modMail::MAIL_FROM_NAME, $this->modx->getOption('site_name')); $this->modx->mail->setHTML(true); $this->modx->mail->set(modMail::MAIL_SUBJECT, trim($subject)); $this->modx->mail->set(modMail::MAIL_BODY, $body); $this->modx->mail->address('to', trim($email)); $storeFolder = MODX_BASE_PATH .'uploads/'.session_id(); if (is_dir($storeFolder)){ $files = scandir($storeFolder); foreach($files as $file) { $attachment = $storeFolder.'/'.$file; $this->modx->mail->attach($attachment); } } if (!$this->modx->mail->send()) { $this->modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$this->modx->mail->mailer->ErrorInfo); } $this->modx->mail->reset(); if($files){ foreach ($files as $file) { unlink($storeFolder.'/'.$file); } rmdir($storeFolder); } }Функция цепляет все файлы из папки /uploads/session_id/ к отправляемому письму и удаляет папку. Ясно, что нужно расширять класс, а не править minishop2.class.php. Что удалять папку нужно в другом месте (сейчас аттачи приходят только менеджеру). Но, вроде работает. Попробую допилить дальше. Хотя есть сомнения в правильности такого способа. Как я уже 100 раз говорил, я дизайнер, а не программист. Хотелось бы услышать мнение программистов. Вопросы / Отправка файла с заказом 16 0
28 апреля 2016, 19:11 Это слишком геморойно для менеджеров. Почта практически бесконечна, в отличии от хостинга. Нужно чтоб файлы именно аттачились к письму, а не были ссылкой на файл, который в скором времени исчезнет, пусть даже это случится через месяц. Заставлять манагеров удалять файлы самостоятельно (пусть даже ссылкой) — гиблое дело. Забьют. Вопросы / Отправка файла с заказом 16 0
28 апреля 2016, 19:02 Это понятно. Осталось решить две «простецких» задачи: аккуартно и безопасно загрузить файл куда-то и как-то приаттачить его к письму менеджеру. А потом ещё удалить, чтоб не создавать помойку на хостинге. Вопросы / Отправка файла с заказом 16 0
28 апреля 2016, 18:46 Задача, в моём случае — увеличить стоимость товара при загрузке файла пользователем. Файл — фотка. Делаем продукт с фоткой пользователя — увеличиваем его стоимость. Так что загружаться файл должен ещё до добавления товара в корзину. Вопросы / Отправка файла с заказом 16 0
28 апреля 2016, 18:29 У меня пока идея: грузить файлы куда-то в tmp и как-то аттачить к заказу, после чего удалять. Пока кажется что это реально. Попробую. Вопросы / Отправка файла с заказом 16 0
28 апреля 2016, 12:59 Та же задача. Похоже этот вопрос везде игнорируется. Нашли решение? Вопросы / Отправка файла с заказом 16 0
12 апреля 2016, 11:40 Пытаюсь сделать ровно то же самое. Не могли бы более подробно рассказать о вашем решении? Реализовать изменение веса в корзине не пробовали? Вопросы / Произвольна цена в Minishop2 3 0
04 апреля 2016, 13:24 На данный момент никак. Я занят основной своей работой. Тем не менее, в процессе этой работы придумались некоторые небольшие улучшения, но говорить о них пока рано. Я не забил, но времени на доработки пока нет. Когда оно появится, в первую очередь я собираюсь исправить ошибки, привести в порядок код и выложить компоненты в репозитории. На данный момент связка AssetsTV и Builder решает все те проблемы, которые у меня возникали, и добавления каких-то серьёзных новых фитч не планируется — только полировка существующих. Конечно, у компонентов появится своя страница с документацией и примерами. Но я занимаюсь этим только в свободное время, которого сейчас не так много. Если вам не хватает каких-то плюшек, пишите здесь или на гитхабе. Если хотите поучаствовать в развитии компонентов — опять же гитхаб. Последние, на данный момент, версии выложены здесь: modx.pro/solutions/7881-content-editor-tools-0-8-and-subject-to-adminki/ Ссылки на гитхаб там же. Готовые решения / Content Editor Tools 32 0
21 марта 2016, 09:39 <img src="[[phpthumbon? &input=`[[+atv.url]]` &options=`w=78&h=52&zc=1`]]" />или можете вызвать assetsTV с пареметром &tmb_max_height, и он посчитает вам размеры превьюшек: [[!assetsTV? &tv=`assets`&tpl=`assetsTV-tpl-foto-tmb` &tmb_max_height=`52`]]Тогда в чанке: <img src="[[phpthumbon? &input=`[[+atv.url]]` &options=`w=[[+atv.thumb_width]]&h=[[+atv.thumb_height]]`]]" /> Готовые решения / Content Editor Tools 0.8 и тема для админки 63 +1
19 февраля 2016, 09:03 Плохо понял, но путь к файлам хранится только в настройках TV. Так что после переноса вам достаточно будет его поменять в одном месте. Перезаливать ничего не нужно. Но если вы вставляете картинки в контент, то там, возможно, нужно будет править. Готовые решения / Content Editor Tools 0.8 и тема для админки 63 0
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
Выдаёт ошибку
Теперь я хочу вызвать окно, для подтверждения регистрации нового пользователя. Как я понял нужно пилить js и там менять auth/formLogin на auth/formRegister если пользователь не найден. Как лучше поймать этот момент?
Можно лучше?
Но как сделать, чтоб тут же регистрировался пользователь, email которого не найден?
[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 происходит, если обновить страницу, но после никакие изменения у товара не сохраняются.1. На странице товара, добавил dropzone в отдельной форме. То есть в шаблоне у меня есть такое:
2. Сделал тупой загрузчик upload.php:
Загруженный файл сохраняется в папку /uploads/session_id/.
3. В /core/components/minishop2/model/minishop2/minishop2.class.php изменил функцию sendEmail, следующим образом:
Функция цепляет все файлы из папки /uploads/session_id/ к отправляемому письму и удаляет папку.
Ясно, что нужно расширять класс, а не править minishop2.class.php. Что удалять папку нужно в другом месте (сейчас аттачи приходят только менеджеру). Но, вроде работает. Попробую допилить дальше. Хотя есть сомнения в правильности такого способа. Как я уже 100 раз говорил, я дизайнер, а не программист. Хотелось бы услышать мнение программистов.
Я не забил, но времени на доработки пока нет. Когда оно появится, в первую очередь я собираюсь исправить ошибки, привести в порядок код и выложить компоненты в репозитории. На данный момент связка AssetsTV и Builder решает все те проблемы, которые у меня возникали, и добавления каких-то серьёзных новых фитч не планируется — только полировка существующих.
Конечно, у компонентов появится своя страница с документацией и примерами. Но я занимаюсь этим только в свободное время, которого сейчас не так много.
Если вам не хватает каких-то плюшек, пишите здесь или на гитхабе. Если хотите поучаствовать в развитии компонентов — опять же гитхаб.
Последние, на данный момент, версии выложены здесь: modx.pro/solutions/7881-content-editor-tools-0-8-and-subject-to-adminki/ Ссылки на гитхаб там же.
Тогда в чанке: