Максим Кузнецов · 29 июня 2016, 16:05 'where' => '{ "id:!=": '~ $_modx->resource.id ~' }' Вопросы / Проблема с where и sortby в fenom 8 +2 7
Василий Столейков · 22 июня 2016, 13:34 Для себя на память выложу решение на Fenom чтобы снова не искать так долго: 'where' => '{ "id:IN":['~$comment_childrens~'] }', Вопросы / TicketComments - как вытащить одну ветку? 10 +1 3
Антон · 11 июня 2016, 15:19 Я у себя реализовал вот это решение (случайно нактнулся на просторах интернета): Система тегов: myitstuff.ru/32-tagging-site-on-modx Облако тегов: myitstuff.ru/36-modx-tag-cloud Готовые решения / И опять теги: теперь индексируемые 9 +1 2
Максим Кузнецов · 09 июня 2016, 12:44 Сколько не вчитывался, так и не понял, что из этого «готовое решение». Ну, допустим. Раз вы не знали о существовании такой особенности в MODX'e, то, подозреваю, не знали и о том, что такие ссылки в СЕО являются дублями страниц и от них нужно бы избавляться. Примерно таким плагином: <?php if ($modx->event->name != "OnHandleRequest" || $modx->context->key == 'mgr') { return; } //Если не главная страница вида '/' if (strtok($_SERVER['REQUEST_URI'], '?') != '/') { //Разбиваем ури на основную ссылку и гет-параметры $request_uri = explode("?", $_SERVER['REQUEST_URI']); $uri = $request_uri[0]; //Очищаем от слеша в начале uri $uri = substr($uri, 1); //Если запрос идет к index.php, то заменяем страницы вида /index.php?id= на чпу-шные if ($uri == 'index.php') { $id = intval($_GET['id']); //Если ресурс с таким id существует - редиректим if ($modx->getCount('modResource', array('id' => $id))) { $modx->sendRedirect($modx->makeUrl($id), array('responseCode' => 'HTTP/1.1 301 Moved Permanently')); } else { //Если url не чпу, то обработка OnPageNotFound не срабатывает и необходимо дублировать определение страницы 404 $error_id = intval($modx->getOption('error_page')); //Если 404 страница объявлена в системных настройках и существует, то редиректим 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')); } } } Для разработчиков / Доступ к странице сайта по id 7 +3 1
Николай Загумённов · 08 июня 2016, 23:50 Спасибо Паше за помощь. Открыл для себя Ext.ComponentMgr.onAvailable. Вот такой плагин получился и не надо создавать никаких comments2.grid.js. <?php switch ($modx->event->name) { case 'OnBeforeManagerPageInit': if ($action['namespace'] == 'tickets' && $action['controller'] == 'index') { $modx->controller->addHtml("<script type='text/javascript'> Ext.ComponentMgr.onAvailable('tickets-home-tabs', function() { // Тут можно переопределять все что угодно }); </script>"); } break; } Пошаговые инструкции / Дополнительные поля профиля юзера (не extended) 138 +2 4
Максим Кузнецов · 06 июня 2016, 14:40 Скорее всего, придется расширять функцию saveComment в core/components/tickets/model/tickets/tickets.class.php Если использовать феном, то можно обойтись и без сниппета: {foreach $thumbs | split as $thumb} <!--Получаем основное изображение из превью 120х120, к примеру --> <a href='{$thumb | replace : ".w120.h120" : ""}'> <img src='{$thumb}' width='120' height='120' /> </a> {/foreach} Вопросы / Как прикрепить изображение к комментарию 27 +2 2
Станислав · 29 мая 2016, 11:25 Вот решение $(document).ready(function() { var $container = $(".masonry-container"); $container.imagesLoaded(function () { $container.masonry({ columnWidth: 1, itemSelector: ".item" }); }); }); $(document).on('pdopage_load', function() { var $container = $(".masonry-container"); // вся вишка сводится к добавлении этой строки $container.masonry('reloadItems'); //конец добавленной строки $container.imagesLoaded(function () { $container.masonry({ columnWidth: 1, itemSelector: ".item" }); }); }); Вопросы / pdoResources, pdoPage, Masonry 4 +2 1
Влад · 28 мая 2016, 13:04 решается через параметр снипетта &optionFilters=`{«ssss:<»:200}` Вопросы / Выборка товаров по доп опции товара 1 +1 1
Николай Загумённов · 25 мая 2016, 11:12 Путь до картинки можно менять не модификаторами во время, а при сохранении тикета, плагином на событие OnDocFormSave. Заодно проверяет поле content на наличие картинок с таким путём и меняет 0 на id. Может кому пригодится. Мне пригодился этот пост. Спасибо за него. <?php switch ($modx->event->name) { case 'OnDocFormSave': if (is_object($resource) && is_array($resource->_fields)) { $data = $resource->_fields; $resource_id = $data['id']; // $modx->log(1, print_r($data, 1)); $flds = $tv_values = array(); foreach ($data as $key => $value) { if ($key == 'item_image') { $tv_id = 2; // id твшки с картинкой $value = trim($value); $tv_value = str_replace('assets/images/tickets/0', 'assets/images/tickets/' . $resource_id, $value); } if ($key == 'content') { $content = str_replace('assets/images/tickets/0', 'assets/images/tickets/' . $resource_id, $value); } } if (!empty($content)) { $res_obj = $modx->getObject('modResource',$resource_id); $res_obj->set('content', $content); $res_obj->save(); unset($res_obj); } // пишем в таблицу modTemplateVarResource if (!empty($tv_value)) { //$modx->log(1, print_r($tv_values, 1)); if (!$tv_obj = $modx->getObject('modTemplateVarResource', array( 'tmplvarid' => $tv_id, 'contentid' => $resource_id, ))) { $tv_obj = $modx->newObject('modTemplateVarResource'); } $tv_obj->fromArray(array( 'tmplvarid' => $tv_id, 'contentid' => $resource_id, 'value' => $tv_value, )); $tv_obj->save(); // $modx->log(1, print_r($tv_obj->toArray(), 1)); unset($tv_obj); } } break; } Готовые решения / TinyMCE + Tickets + выбор главной картинки в TV 27 0 3
Иван Бочкарев · 24 мая 2016, 06:03 Basic portfolio with isotope in MODX Вопросы / Isotope галерея 12 +1 1
[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, сервис-ориентированная архит...
Система тегов: myitstuff.ru/32-tagging-site-on-modx
Облако тегов: myitstuff.ru/36-modx-tag-cloud
Раз вы не знали о существовании такой особенности в MODX'e, то, подозреваю, не знали и о том, что такие ссылки в СЕО являются дублями страниц и от них нужно бы избавляться. Примерно таким плагином:
Вот такой плагин получился и не надо создавать никаких comments2.grid.js.
core/components/tickets/model/tickets/tickets.class.php
Если использовать феном, то можно обойтись и без сниппета:
Заодно проверяет поле content на наличие картинок с таким путём и меняет 0 на id.
Может кому пригодится.
Мне пригодился этот пост. Спасибо за него.