Максим Кузнецов · 26 марта 2016, 22:05 1. Отключаете редактор «markItUp» 2. Ставите свой визуальный редактор и подключаете его к форме 3. Правите встроенные скрипты тикетсов, чтобы он корректно переваривал новый визуальный редактор Вот таким способом, например, можно подключить Ckeditor к форме. Вопросы / Рендер изображений <textarea> в Tickets 2 0 1
Илья Уткин · 25 марта 2016, 12:20 Я понимаю, что уже есть новая версия с дополнительными сниппетами. Но для истории сохраню код, как вывести тикеты по тегу [[!pdoPage? &element=`getTickets` &parents=`0` &loadModels=`tvsuperselect` &select=`{ "tvTags":"tvTags.value as tag" }` &leftJoin=`{ "tvTags":{"class":"tvssOption", "on":"Ticket.id = tvTags.resource_id"} }` &where=`{ "tvTags.value":"[[!+vp.tag]]" }` &tpl=`tpl.Ticket` &includeContent=`1` &includeTVs=`img,tags` &tvPrefix=`tv.` ]] [[!+page.nav]] Вопросы / Кто пользуется tvSuperSelect 11 +2 2
Илья Уткин · 16 марта 2016, 16:42 Вот так выведет id-шники нужных пользователей $members = $modx->getCollection('modUserGroupMember', array('user_group' => 1)); foreach($members as $member) { echo $member->get('member') . "\n"; } Вопросы / Получить всех админов 1 +1 1
Максим Кузнецов · 16 марта 2016, 05:42 Что касается порядкового номера — просто создайте произвольную системную настройку, например «Всего отправлено сообщений» (formit_total) и дергайте ее непосредственно в хуке: $formit_total = $modx->getObject('modSystemSetting', 'formit_total'); $new_total = intval($formit_total->get('value')) + 1; $formit_total->set('value', $new_total); $formit_total->save(); $modx->cacheManager->refresh(array('system_settings' => array())); Вопросы / Динамическое заполнение темы в FormIt. Как? 7 +2 1
Василий Наумкин · 05 марта 2016, 10:26 &where=`{"tags:LIKE":"%[[!#GET.tag]]%"}`docs.modx.pro/components/pdotools/parser#Теги-fastField Вопросы / Теги и pdoResources 26 +2 1
Константин · 04 марта 2016, 15:30 Недавно делал на сайте вот так: Вызов сниппета через AjaxForm [[!AjaxForm? &snippet=`QuickOrder` &form=`order.form` ]] И вот сам сниппет QuickOrder <?php $errors = array(); if ( empty( trim( $_POST['total'] ) ) OR !is_numeric( trim( $_POST['total'] ) ) ) { $errors['total'] = 'Вы не заполнили кол-во человек'; } if ( empty( trim( $_POST['phone'] ) ) ) { $errors['phone'] = 'Вы не заполнили телефон'; } if ( !empty( $errors ) ) { return $AjaxForm->error( 'В форме содержатся ошибки!', $errors ); } else { $miniShop2 = $modx->getService( 'minishop2','miniShop2', MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties ); if ( !( $miniShop2 instanceof miniShop2 ) ) { return $AjaxForm->error( 'Ошибка скрипта!' ); } $miniShop2->initialize($modx->context->key, $scriptProperties); $miniShop2->order->add( 'receiver', trim( $_POST['receiver'] ) ); $miniShop2->order->add( 'email', trim( $_POST['email'] ) ); $miniShop2->order->add( 'delivery', 1 ); // id метода доставки $miniShop2->order->add( 'payment', 1 ); // id метода оплаты $miniShop2->cart->add($_POST['id'], $modx->getOption('count', $_POST, 1), $modx->getOption('options', $_POST, array())); return $AjaxForm->success( 'Форма успешно отправлена. Сейчас вы перейдете на страницу оплаты.' ); } JS Callback для отправки формы: $( document ).on('af_complete', function( event, response ) { if( response.success ) { response.form[0].submit(); } }) Вопросы / Покупка товара в один клик 3 +1 7
Максим Кузнецов · 29 февраля 2016, 13:46 Для fenom: {set $canonical_url = $_modx->makeUrl($_modx->resource.id, '', '', 'full')} <link rel="canonical" href="{$canonical_url}" /> <meta property="og:url" content="{$canonical_url}" /> Тегами modx: <link rel="canonical" href="[[~[[*id]]? &scheme=`full`]]" /> <meta property="og:url" content="[[~[[*id]]? &scheme=`full`]]" /> Или, например, вот так (не помню для чего, но как-то возникла проблема с предыдущим вариантом, которая решилась нижеописанным примером): [[++site_url]][[*id:isnot=`[[++site_start]]`:then=`[[~[[*id]]]]`]] Вопросы / Почему 404 страница не всегда выбивает? 12 +2 4
Максим Кузнецов · 29 февраля 2016, 12:00 Можно расписать плагин для такой ситуации: <?php if ($modx->event->name != "OnHandleRequest" || $modx->context->key == 'mgr') { return; } if ($_SERVER['REQUEST_URI'] != '/') { $uri = strtok(substr($_SERVER['REQUEST_URI'], 1), '?'); if ($uri == 'index.php') { //Заменяем страницы вида /index.php?id= на чпу-шные $id = intval($_GET['id']); if ($modx->getCount('modResource', array('id' => $id))) { $modx->sendRedirect($modx->makeUrl($id), array('responseCode' => 'HTTP/1.1 301 Moved Permanently')); } else { //Если url не чпу, то обработка OnPageNotFound не срабатывает и необходимо дублировать определение страницы переадресации $error_id = intval($modx->getOption('error_page')); if ($error_id > 0 && $modx->getCount('modResource', array('id' => $error_id))) { $redirect_page = $modx->makeUrl($error_id); } else { $start_id = intval($modx->getOption('site_start')); $redirect_page =$modx->makeUrl($start_id); } $modx->sendRedirect($redirect_page, array('responseCode' => 'HTTP/1.1 404 Not Found')); } } } — написал на скорую руку, если что — поправляйте %) Вопросы / Почему 404 страница не всегда выбивает? 12 +2 1
Евгений Шеронов · 28 февраля 2016, 01:08 Поле [[+price]], по умолчанию, разбивается на разряды через пробел. Наверное так должно работать: [[+price:stripString=` `:ge=`5000`:then=`<img src="#">`:else=``]] Вопросы / Не корректно работает модификатор 2 +3 1
Василий Наумкин · 24 февраля 2016, 22:05 Прикольно! Ну и выкидывай нафиг этот default: <img src="{$_pls['270x235'] ?: '/assets/components/minishop2/img/web/ms2_small.jpg'}" alt="{$pagetitle | Jevix}" />Jevix нужно будет указать как модификатор Fenom. Вопросы / Проблемы после обновления на MODx 2.4.3 9 +3 2
[videoGallery] Видео галерея YouTube, Vimeo Невозможно установить пакет с подписью: videogallery-1.4.0-beta Ошибка установки Error в /core/packages/videogallery-1.4.0-beta/modCategory/7fc931a7772edc9752c16e9c41eb5e52.reso...
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3 Привет, добавил пользователя в группу mxBoard(4), создал токен. Добавляю все в postman пишет: rest: { «success»: false, «message»: «Недействительный токен.», «data...
Релиз miniShop2 ver. 4.4.1 & 4.4.2 Подскажите пожалуйста, может я что-то не знаю или упустил. Но есть ли решение по глюку с radio? Указываешь свое radio c одинаковым name и в результате при переключении получаешь вс...
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3 Расскажите пожалуйста как вы настраиваете сайт на MODX 3 чтобы был dev, prod, stage. Можете описать workflow? Допустим у меня 80% — это магазины, там клиенты, продажи, все онлай...
MaxNotify Обновление компонента 1.3.0-pl (22.07.2026) — добавлено автоматическое получение полей через msOrder->toArray(); — массивы и объекты безопасно пропускаются; — стандартные...
MyFavorites MyFavorites — 3.0.0-beta Первая версия для MODX Revolution 3.x — компонент полностью переписан с нуля (PHP >= 8.4, namespaced-ядро MODX 3, PSR-4, сервис-ориентированная архит...
2. Ставите свой визуальный редактор и подключаете его к форме
3. Правите встроенные скрипты тикетсов, чтобы он корректно переваривал новый визуальный редактор
Вот таким способом, например, можно подключить Ckeditor к форме.
Вызов сниппета через AjaxForm
И вот сам сниппет QuickOrder
JS Callback для отправки формы:
Тегами modx:
Или, например, вот так (не помню для чего, но как-то возникла проблема с предыдущим вариантом, которая решилась нижеописанным примером):
— написал на скорую руку, если что — поправляйте %)
Наверное так должно работать:
Ну и выкидывай нафиг этот default:
Jevix нужно будет указать как модификатор Fenom.