21 мая 2016, 00:14 Можно решить стандартным jevix'ом примерно так: <?php if ($modx->event->name == 'OnDocFormSave') { $template = $resource->get('template'); if ($template != 0) { $id = $resource->get('id'); //В наборе параметров отключены неугодные теги аля script, iframe и прочие $jevixParams = $modx->getObject('modPropertySet',array('name'=>'Ticket')); $jevixOptions = $jevixParams->getProperties(); //content if (strlen($content = $resource->getContent()) > 0) { $jevixOptions['input'] = $content; $content = $modx->runSnippet('jevix', $jevixOptions); $resource->setContent($content); } switch ($template) { //Шаблон с доп. тв, которое нужно обработать case 7: if (strlen($custom_tv = $resource->getTVValue('custom_tv')) > 0) { $jevixOptions['input'] = $custom_tv; $custom_tv = $modx->runSnippet('jevix', $jevixOptions); $resource->setTVValue('custom_tv', $custom_tv); } break; } } $resource->save(); } Безопасность / О пользе RTE 10 +4 3
10 мая 2016, 13:36 Попробуйте изменить событие на OnDocFormRender (для корректной отрисовки ошибки). Урл для редиректа придется формировать самостоятельно: $modx->sendRedirect($modx->getOption('site_url') . 'manager/?a=resource/update&id=' . $parent); Как альтернатива — можно с минимальным расширением плагина повесить его помимо OnDocFormRender также и на OnBeforeDocFormSave (чтобы исключить возможность создания документа). Вопросы / Не дать создать дочерний ресурс у нужных родителей 8 +1
10 мая 2016, 04:43 Примерно так: <?php if ($modx->event->name == "OnDocFormPrerender" && $mode == "new") { if (!$modx->user->isMember('Administrator')) { if ($parent = intval($_REQUEST['parent'])) { $disallow_parent_list = array(1, 2, 3); if (in_array($parent, $disallow_parent_list)) { $modx->event->output('Ресурс не может быть создан в данном разделе'); //как вариант - можно после алерта редиректить пользователя } } } } Вопросы / Не дать создать дочерний ресурс у нужных родителей 8 +1
01 мая 2016, 21:41 Как вариант — написать плагин примерно следующего содержания: <?php if ($modx->event->name == "OnDocFormRender" && $mode == "new") { if ($parent = intval($_REQUEST['parent'])) { if (isset($modx->controller)) { switch ($parent) { case '1': $newTemplate = '10'; break; //... } $modx->controller->setProperty('template', $newTemplate); } } } Вопросы / Дефолтное назначение шаблонов для категорий блога 37 +1 1
01 мая 2016, 20:15 Ну, если брать с «запасом» на побочные мелкие хотелки, которые не расписаны (+ расплывчатость в дизайне) — приблизительно от 35 до 70. Ценники Москвы в расчет не беру. Вопросы / Сколько будет стоить магазин 19 +3
01 мая 2016, 19:45 Что нет ни у кого опыта?Ну просто классический вопрос, который не стоит задавать при отсутствии ответов..) По факту, для получения ответа на ваш вопрос требуется конкретика, а именно: — какой именно дизайн (пример сайта, макет, реализованная верстка) — какая логика должна выполняться на странице возврата товара — сколько (и каких) этажей в лендинге Логотип — логотип мм… что? Нарисовать? — сроки выполнения Ну и дополнительно, но не критично: Настройка связи комплекта товара средствами миниШопа2 без плагинов в корзине — из любопытства: из-за какой причины нельзя использовать плагины? Наполнение магазина 10 товаров — звучит как-то подозрительно, когда всего 10 товаров (не импорт или еще что-то) выделяют отдельным пунктом для программиста UPD: Пункт про «дополнение» If лучше убрать. =) Вопросы / Сколько будет стоить магазин 19 +4
22 апреля 2016, 17:55 Хех, ну как уже описали последовательностью выше, таким способом вы подключите TinyMCE на форуму. Но тикетс ее не переварит. Вам также потребуется отредактировать дефолтные скрипты Tickets, чтобы при нажатии на кнопку «добавить тикет/комментарий» содержимое визуального редактора отправлялось в родную textarea (до отправления на проверку). Что без проблем решается при помощи связки jQuery и родных методов TinyMCE. Вопросы / tinymce во фронтэнде?! 14 +1
22 апреля 2016, 12:03 Аналогично..) Новости и события / Робокасса» больше не работает с ИП и физлицами 16 0
21 апреля 2016, 21:52 Чистый запрос, пожалуй, будет более уместным из-за отсутствия лишней передаваемой информации. TV — Возможные значения (подойдет для одиночного и множественного списка): @EVAL return $modx->runSnippet('name'); Код сниппета: <?php $q = $modx->newQuery('modResource'); //пример ограничения выборки $q->where(array( "parent" => "16", "template" => "10" )); $q->sortby('pagetitle','ASC'); $q->select(array( "modResource.id", "modResource.pagetitle", )); $s = $q->prepare(); $s->execute(); //если тип тв - одиночный список, то можно также дописать "заглушку" без реального значения: //$data[] = "Выберите категорию из списка=="; while($row = $s->fetch(PDO::FETCH_ASSOC)){ $data[] = "{$row['pagetitle']}=={$row['pagetitle']}"; } $output = implode("||", $data); return $output; Вопросы / Выбор возможных значений из подкатегорий 2 0 1
20 апреля 2016, 10:19 Мм… тогда я не совсем понимаю, в чем ваша проблема: При редактировании Тикетс в редакторе показываются html теги при редактировании такого нет К слову, на этом же сайте можно посмотреть, что html-теги проявляются и при создании и при редактировании тикетов/комментариев. Возможно, в вашей форме редактирования отваливается MarkItUp из-за сторонней ошибки javascript'a? Вопросы / TicketForm при обновлении html теги в редакторе?! 5 0
20 апреля 2016, 09:42 Дело не в самом Tickets/ms2Forms, а в визуальном редакторе, который подключается по-умолчанию: MarkItUp. Если вы хотите визуализировать html-теги, вам необходимо отключить MarkItUp и самостоятельно подключить тот визуальный редактор, который умеет это делать. Вопросы / TicketForm при обновлении html теги в редакторе?! 5 0
16 апреля 2016, 22:19 Не переживайте, судя по последним тенденциям и количеству желающих разработать на нем проектов — MODX определенно становится популярнее. Просто не для всех. Вопросы / pdoResources + MIGX (getImageList) 14 +2
12 апреля 2016, 17:18 Добрый день. Скайп Антона — inocoweb. =) Объявления о работе / Компонент "Доска объявлений" 4 +4
12 апреля 2016, 09:16 На мой взгляд, эту задачу нужно и реализовывать «в другую сторону»: — загружаем кучу изображений в «альбом» (ресурс) — при нажатии на превьюшку открывать изображение в полноценном всплывающем окне — подгружать в это окно (помимо самого изображения) комментарии TicketComments с уникальным &thread для данной картинки (не ресурса) — расширить таблицу UserFiles, добавив в нее столбец для хранения рейтинга — выводить рейтинг/кнопки для его изменения Впрочем, можно попробовать реализовать и через ticketform + ufForm: — создаете страницу «добавить фотографию» — через TicketForm выводите в ней формы для заполнения полей ресурса (заголовок, описание) — там же вызываете ufForm с параметром &dropzone=`{"maxFiles":1}` — навешиваете рейтинги/комментарии в шаблоне созданной страницы (как и для обычного ресурса) Пошаговые инструкции / Tickets + UserFiles - загрузка с фронт-энда 18 0
12 апреля 2016, 08:06 Примерно вот так.) Готовые решения / Информер загруженных изображений для ms2Gallery 8 +1
11 апреля 2016, 10:31 UPD: не успел отредактировать — в передачу данных по «автору добавления / количеству изображений»: 'output' =>$modx->getChunk($tplUser, array( 'count' => $data_value['info']['count'], 'createdby' => $data_value['info']['createdby'] )) — нужно результат загнать в цикл по $data_value['info']['createdby']. Готовые решения / Информер загруженных изображений для ms2Gallery 8 0
11 апреля 2016, 10:21 Не за что..) Если не трудно — отпишитесь потом, если реализация выйдет удобной. Я схожую задачу реализовал через (не рекламы ради) связку Tickets + UserFiles и плагин на OnDocFormSave, который при выполнении условий перепривязывал загруженные изображения на свежесозданный документ. А ms2guploader все никак не доберусь протестировать + интересует, дружит ли он с облачной загрузкой. Готовые решения / Информер загруженных изображений для ms2Gallery 8 +1
11 апреля 2016, 10:12 Да, почему нет. Нужно: 1. В выборку $q->select('`msResourceFile`.`createdon`, `msResourceFile`.`id`, `msResourceFile`.`resource_id`, `modDocument`.`pagetitle`'); добавить автора изображения: ,`modDocument`.`createdby` 2. Счетчик и передаваемую информацию персонализировать для каждого автора, т.е. строка: ${'count_' . $day . '_' . $item['resource_id']}++; $data = array( 'pagetitle' => $item['pagetitle'], 'count' => ${'count_' . $day . '_' . $item['resource_id']} ); заменится на: ${'count_' . $day . '_' . $item['resource_id'] . '_' . $item['createdby']}++; $data = array( 'pagetitle' => $item['pagetitle'], 'info' => array( 'count' => ${'count_' . $day . '_' . $item['resource_id'] . '_' . $item['createdby']}, 'createdby' => $item['createdby'] ) ); 3. В цикл передачи данных в чанк: foreach ($data as $data_key => $data_value) { $output .= $modx->getChunk($tplRow, array( 'id' => $data_key, 'pagetitle' => $data_value['pagetitle'], 'count' => $data_value['count'] )); } Нужно передавать айди, заголовок и связку информации об авторе и количестве добавленных им изображений: foreach ($data as $data_key => $data_value) { $output .= $modx->getChunk($tplRow, array( 'id' => $data_key, 'pagetitle' => $data_value['pagetitle'], 'output' =>$modx->getChunk($tplUser, array( 'count' => $data_value['info']['count'], 'createdby' => $data_value['info']['createdby'] )) )); } — соответственно, появится новый чанк &tplUser. Вот пример его содержания: [[+count]] изображений от [[+createdby:userinfo=`fullname`]] А чанк &tplRow изменится на такой: <li> В альбом<b>[[+pagetitle]]</b> добавлены: [[+output]] </li> Вроде ничего не забыл..) Готовые решения / Информер загруженных изображений для ms2Gallery 8 +3
02 апреля 2016, 17:07 Конкретно TicketForm подключают следующие скрипты: /assets/components/tickets/js/web/default.js /assets/components/tickets/js/web/lib/plupload/plupload.full.min.js /assets/components/tickets/js/web/files.js+ формируют массив TicketsConfig. + (опционально) скрипты редактора MarkitUp. Вы можете попробовать подгружать их самостоятельно и запускать их внутренние элементы инициализации через $(document).ajaxStop. Плюс формировать конфигурационный массив самостоятельно. UPD: Но я вас заверяю — без глубоких знаний php+js оно того вообще не стоит и грозит очень серьезно переписать исходный сниппет. Для разработчиков / Основы Ajax 86 0 1
02 апреля 2016, 11:11 Это потому что TicketForm при инициализации подключает свои скрипты на страницу. В случае же с аякс-загрузкой их подключение не происходит. Для разработчиков / Основы Ajax 86 +1
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 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... Да, планируется. Даже чуть больше, чем просто бонусная система)
Урл для редиректа придется формировать самостоятельно:
Как альтернатива — можно с минимальным расширением плагина повесить его помимо OnDocFormRender также и на OnBeforeDocFormSave (чтобы исключить возможность создания документа).
По факту, для получения ответа на ваш вопрос требуется конкретика, а именно:
— какой именно дизайн (пример сайта, макет, реализованная верстка)
— какая логика должна выполняться на странице возврата товара
— сколько (и каких) этажей в лендинге
— логотип мм… что? Нарисовать?
— сроки выполнения
Ну и дополнительно, но не критично:
— из любопытства: из-за какой причины нельзя использовать плагины?
— звучит как-то подозрительно, когда всего 10 товаров (не импорт или еще что-то) выделяют отдельным пунктом для программиста
UPD: Пункт про «дополнение» If лучше убрать. =)
Вам также потребуется отредактировать дефолтные скрипты Tickets, чтобы при нажатии на кнопку «добавить тикет/комментарий» содержимое визуального редактора отправлялось в родную textarea (до отправления на проверку). Что без проблем решается при помощи связки jQuery и родных методов TinyMCE.
TV — Возможные значения (подойдет для одиночного и множественного списка):
Код сниппета:
К слову, на этом же сайте можно посмотреть, что html-теги проявляются и при создании и при редактировании тикетов/комментариев.
Возможно, в вашей форме редактирования отваливается MarkItUp из-за сторонней ошибки javascript'a?
Если вы хотите визуализировать html-теги, вам необходимо отключить MarkItUp и самостоятельно подключить тот визуальный редактор, который умеет это делать.
Скайп Антона — inocoweb.
=)
— загружаем кучу изображений в «альбом» (ресурс)
— при нажатии на превьюшку открывать изображение в полноценном всплывающем окне
— подгружать в это окно (помимо самого изображения) комментарии TicketComments с уникальным &thread для данной картинки (не ресурса)
— расширить таблицу UserFiles, добавив в нее столбец для хранения рейтинга
— выводить рейтинг/кнопки для его изменения
Впрочем, можно попробовать реализовать и через ticketform + ufForm:
— создаете страницу «добавить фотографию»
— через TicketForm выводите в ней формы для заполнения полей ресурса (заголовок, описание)
— там же вызываете ufForm с параметром
— навешиваете рейтинги/комментарии в шаблоне созданной страницы (как и для обычного ресурса)
— нужно результат загнать в цикл по $data_value['info']['createdby'].
Если не трудно — отпишитесь потом, если реализация выйдет удобной. Я схожую задачу реализовал через (не рекламы ради) связку Tickets + UserFiles и плагин на OnDocFormSave, который при выполнении условий перепривязывал загруженные изображения на свежесозданный документ.
А ms2guploader все никак не доберусь протестировать + интересует, дружит ли он с облачной загрузкой.
Нужно:
1. В выборку
добавить автора изображения:
2. Счетчик и передаваемую информацию персонализировать для каждого автора, т.е. строка:
заменится на:
3. В цикл передачи данных в чанк:
Нужно передавать айди, заголовок и связку информации об авторе и количестве добавленных им изображений:
— соответственно, появится новый чанк &tplUser. Вот пример его содержания:
А чанк &tplRow изменится на такой:
Вроде ничего не забыл..)
+ формируют массив TicketsConfig.
+ (опционально) скрипты редактора MarkitUp.
Вы можете попробовать подгружать их самостоятельно и запускать их внутренние элементы инициализации через $(document).ajaxStop. Плюс формировать конфигурационный массив самостоятельно.
UPD: Но я вас заверяю — без глубоких знаний php+js оно того вообще не стоит и грозит очень серьезно переписать исходный сниппет.
В случае же с аякс-загрузкой их подключение не происходит.