20 марта 2024, 06:45 Тоже замучился но у меня форма динамическая инпуты подставляются через JS и хеш не совпадает, сделал такой костыль пока: В assets/components/ajaxform/action.php Закомментировал с 25 по 27 строку проверку $_REQUEST['af_action']Кому лень вот готовый код (костыль): <?php /** @var modX $modx */ define('MODX_API_MODE', true); require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/index.php'; $modx->getService('error', 'error.modError'); $modx->setLogLevel(modX::LOG_LEVEL_ERROR); $modx->setLogTarget('FILE'); // Switch context if need if (!empty($_REQUEST['pageId'])) { if ($resource = $modx->getObject('modResource', (int)$_REQUEST['pageId'])) { if ($resource->get('context_key') != 'web') { $modx->switchContext($resource->get('context_key')); } $modx->resource = $resource; } } /** @var AjaxForm $AjaxForm */ $AjaxForm = $modx->getService('ajaxform', 'AjaxForm', $modx->getOption('ajaxform_core_path', null, $modx->getOption('core_path') . 'components/ajaxform/') . 'model/ajaxform/', array()); if (empty($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') { $modx->sendRedirect($modx->makeUrl($modx->getOption('site_start'), '', '', 'full')); } /*elseif (empty($_REQUEST['af_action'])) { echo $AjaxForm->error('af_err_action_ns'); }*/ else { echo $AjaxForm->process($_REQUEST['af_action'], array_merge($_FILES, $_REQUEST)); } @session_write_close(); Вопросы / Не могу найти указанный ключ формы (action). 37 0
06 марта 2024, 08:21 $res->set('source',2); Вопросы / Загрузка изображений в галерею miniShop2 из фронтэ 17 0
27 декабря 2023, 06:48 Типо того: <ul> <?php $contexts = $modx->getCollection('modContext', array('key:NOT IN' => array('mgr'))); foreach ($contexts as $context) { $contextName = $context->get('key'); $contextUrl = $modx->makeUrl('[[*id]]', '', $contextName); echo "<li><a href='{$contextUrl}'>{$contextName}</a></li>"; } ?> </ul> Вопросы / Как вывести на сайте ссылки на контексты (поддомены) и сделать навигацию в виде меню? 4 +2
27 декабря 2023, 06:36 Попробуй напрямую закинуть запрос через метод $modx->query $sql = "SELECT * FROM ваша_таблица WHERE (width + length) <= 1000 AND (length - width) >= 500"; $result = $modx->query($sql); $rows = $result->fetchAll(PDO::FETCH_ASSOC); Вопросы / Запрос xpdo с условием при сложении значений двух столбцов 1 0
18 декабря 2023, 07:57 дело может быть еще в плагине MinifyX, он отрубает www.google.com/recaptcha/api.js?onload=ReCaptchaCallbackV3 Временно сделал так в сниппете rcv3_html <?php $public = $modx->getOption('formit.recaptcha_public_key'); $action = $action ?: 'ajaxform'; $js = ""; if (!$modx->getPlaceholder('rcv3_initialized')) { $js.='<script src="https://www.google.com/recaptcha/api.js?onload=ReCaptchaCallbackV3&render=' . $public . '" async></script>'; $js.=' <script> var ReCaptchaCallbackV3 = function() { grecaptcha.ready(function() { grecaptcha.reset = grecaptchaExecute; grecaptcha.reset(); }); }; function grecaptchaExecute() { grecaptcha.execute("' . $public . '", { action: "' . $action . '" }).then(function(token) { var fieldsToken = document.querySelectorAll("[name =\'g-recaptcha-response\']"); Array.prototype.forEach.call(fieldsToken, function(el, i){ el.value = token; }); }); }; // обновляем капчу каждую минуту setInterval(function() { grecaptcha.reset(); }, 60000); </script> '; $modx->setPlaceholder('rcv3_initialized', 1); } $output = ' <span class="error_g-recaptcha-response error">' . $error . '</span> <input type="hidden" name="g-recaptcha-response"> '; return $js.$output; Вопросы / Не работает reCaptchaV3 12 0
17 ноября 2023, 20:13 Создаешь сниппет mod_image <?php /* @var modX $modx*/ /* @var $input*/ // Создаем объект DOMDocument $dom = new DOMDocument(); // Загружаем HTML-код $html = $input; //$dom->loadHTML($html); $dom->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')); // Получаем все элементы <img> $xpath = new DOMXPath($dom); $images = $xpath->query("//img"); foreach ($images as $image) { // Получаем старый путь из атрибута 'src' $oldSrc = $image->getAttribute('src'); $new_path = $modx->runSnippet('phpthumbof',['input'=>$oldSrc,'options'=>'w=0&h=800&zc=0']); // Заменяем значение атрибута 'src' $image->setAttribute('src', $new_path); // Получаем родительский элемент <a> и добавляем атрибут 'href' с значением $oldSrc $parentLink = $image->parentNode; if ($parentLink->nodeName === 'a') { $parentLink->setAttribute('href', $oldSrc); } else{ // Создаем тег a $a = $dom->createElement('a'); $a->setAttribute('href', $oldSrc); $a->setAttribute('data-fancybox', 'gal'); $a->setAttribute('class', 'pointer img-fluid'); $image->parentNode->replaceChild($a, $image); $a->appendChild($image); } if(!$image->getAttribute('title')){ $image->setAttribute('title', 123); $image->setAttribute('alt', 'Рисунок'); } } // Получаем обновленный HTML-код $content_new = $dom->saveHTML(); return $content_new;и потом используй {$_modx->resource.content | replace : '<h3>' : '<h3 class="title-dec">' | mod_image} Вопросы / Визуальный редактор и картинка 1 +1 1
28 июля 2023, 08:53 [[PdoPage? &tpl=`@INLINE [[+pagetitle]]` &sortby=`{"id":"ASC"}` &limit=`0` &where=`{"album":1}` &class=`galAlbumItem` &loadModels=`gallery` &select=`{ "galAlbumItem": "*", "galItem": "*" }` &leftJoin=`{ "galItem":{"class":"galItem", "on":"galItem.id = galAlbumItem.item"} }` ]] Вопросы / pdoTools и leftJoin 4 0
28 марта 2023, 20:16 Вот только дошло до меня оно!) Новости и события / Релиз MODX Revolution 2.8.5 13 +1
21 марта 2023, 08:10 После <?php пропиши, error_reporting(0);, а по хорошему в php8 нужно указывать типизацию! <?php error_reporting(0); if ($modx->context->get('key') !== 'mgr') { ///code } Вопросы / modx3 и php8 3 +1
25 января 2023, 09:06 За YouTube Shorts, отдельный котёл в аду вас ждет!))) Новые дополнения и их версии / [videoGallery] 1.4.0 Поддержка VK Video и ещё пара фишек 10 0
24 января 2023, 06:22 Думаю дорохо за Twitter Bootstrap в редизайне color scheme))) Сделай цену в 500р, я уверен ты больше заработаешь!) Новые дополнения и их версии / Тема интернет-магазина - handyShop v1 26 0
16 января 2023, 12:05 Сорян нужное указывать {var $count_pub+=1} ))) {var $count_pub = 0} {var $plus = [ ["published" => 1,"name"=>"dsdsds"], ["published" => 1,"name"=>"xdsdsds"], ]} {if $plus} {foreach $plus as $idx => $item} {if $item.published ==1} {var $count_pub+=1} {$item.name} {/if} {/foreach} RETURN COUNT: {$count_pub} {/if} Вопросы / Как на FENOM узнать количество записей с определенным числом в массиве? 15 +1 1
16 января 2023, 06:50 Ага, мой косяк))) Вот так: {var $count_pub++} Вопросы / Как на FENOM узнать количество записей с определенным числом в массиве? 15 0
12 декабря 2022, 07:52 Как писал выше Артур! Создай сниппет к примеру contextKeys: <?php /* @var modX $modx */ /* @var modContext $ctxs */ $ctxs_obj = $modx->getCollection('modContext', array('key:!=' => "mgr")); $ctxs = []; if ($ctxs_obj) { foreach ($ctxs_obj as $ctx) { $ctxs[] = $ctx->key; } } return implode(",", $ctxs);Далее впихивай его в pdoSitemap [[!pdoSitemap? &tpl=`@INLINE [[+url]][[+date]]` &where=`{"hidemenu":0}` &context=`[[contextKeys]]` ]] Вопросы / pdoSitemap - как автоматически добавить контексты? 4 +1 1
09 декабря 2022, 13:54 Если тебе на оффсайте говорят что не работает! мы тут не можем точно помочь! Вопросы / HybridAuth как сделать авторизацию через твиттер 3 0
09 декабря 2022, 10:06 Вот так: <?php /* @var modX $modx */ $context_key = 'abc'; $context_resID = '317'; //Опция site_url $site_url = $modx->getOption('site_url', array('context_key'=>$context_key)); var_dump($site_url); //Поуличить ресурс из котекста /* @var modResource $resource*/ $resource = $modx->getObject('modResource', array('id'=>$context_resID, 'context_key'=>$context_key)); if ($resource){ var_dump($resource->pagetitle ." | ".$resource->id); } Вопросы / Как с контекста вытянуть настройки для снипета? 3 0 1
09 декабря 2022, 09:42 hybridauth.github.io/hybridauth/userguide/IDProvider_info_Twitter.html Вопросы / HybridAuth как сделать авторизацию через твиттер 3 0
08 декабря 2022, 09:39 Муза придет, напишу))) Пока завал на работе) Новые дополнения и их версии / FacetSearch - быстрый фасетный поиск с сервисом facetsearch.ru 47 0
08 декабря 2022, 06:58 Ну, во-первых, сайт не внушает доверия! (нет контактов, реквизитов, договоров, оферт и тп.) Во вторых, где гарантия моментального ответа сервака с любой точки мира и в любое время?! В третьих, за что платить, если есть готовые решения на гите, я к примеру использую пакет faceted-search, и я буду всегда знать что он под рукой и не зависит от левых сервисов! git: github.com/k-samuel/faceted-search Ну и сомневаюсь я в круглосуточной поддержке, потому что автор спит или заболел… Новые дополнения и их версии / FacetSearch - быстрый фасетный поиск с сервисом facetsearch.ru 47 +2
UiCMPGenerator дополнение для создания пакетов Ближе к сентябрю, основная загвоздка это создание нормальной документации и видео обзора, а так пакет как бы уже готов
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
msImportExport не сохраняет родителя по умолчанию Компонент не понимает кирилические домены при загрузку фото. пример: Error download. Url : https://антаресдвери.рф/upload/iblock/a50/a50b2ef45305a3c18f6e298f1e134880.jpg. Message...
В assets/components/ajaxform/action.php
Закомментировал с 25 по 27 строку проверку Кому лень вот готовый код (костыль):
Временно сделал так в сниппете rcv3_html
и потом используй
Сделай цену в 500р, я уверен ты больше заработаешь!)
Вот так:
Создай сниппет к примеру contextKeys:
Далее впихивай его в pdoSitemap
Во вторых, где гарантия моментального ответа сервака с любой точки мира и в любое время?!
В третьих, за что платить, если есть готовые решения на гите, я к примеру использую пакет faceted-search, и я буду всегда знать что он под рукой и не зависит от левых сервисов!
git: github.com/k-samuel/faceted-search
Ну и сомневаюсь я в круглосуточной поддержке, потому что автор спит или заболел…