Шорткод для простановки ссылок в редакторе, с учетом состояния ресурса

Всем привет, у меня не вопрос, а просто удобный сниппет, в другие разделы публиковать не дает, рейтинг низкий =((, не нашел ни чего подобного, поэтому пилил сам, может кому то понадобится, упрощает жизнь сеошнику при внутренней перелинковке сайта. Собственно к сути:
Сделал сниппет который получает текст где проставлены вот такие шорткоды — "[id10] анкор ссылки []" где 10 это id ресурса на который должна сформироваться ссылка, по мне так удобнее чем делать жесткую ссылку через функционал редактора в админке, часто бывает что я меняю структуру, и меняется uri страницы, еще одним удобством сделал то что если ресурс на который мы ссылаемся еще не опубликован, то ссылка игнорируется, а конструкция шорткода просто вырезается, но как только ресурс публикуется (сделали отложенную публикацию к примеру) то ссылка на него сразу появится.
Создаем сниппет в админке, называем к примеру — url_by_id
Код сниппета:
<?php
$text = $input;
for ($i = 1; $i <= 8; $i++) { //8 это максимальное количество обрабатываемых шорткодов, можно конечно с foreach что то придумать, но тогда нужно массив создавать заранее, не стал заморачиваться
preg_match('[id\d{1,}]', $text, $output);
$res_id = str_replace('id','',$output[0]);
    if ($res_id) { 
        $res = $modx->getObject('modResource', $res_id);
            if ($res->get('published')){
                $url = $modx->makeUrl($res_id);
                $link = "<a href=\"$url\">";    
                $seraching_string = '['.$output[0].']';
                $text = str_replace($seraching_string, $link, $text);
               $text = preg_replace('/\[\]/', '</a>',$text, 1);
            }elseif(!$res->get('published')){
                $link = "";    
                $seraching_string = '['.$output[0].']';
                $text = str_replace($seraching_string, $link, $text);
                $text = preg_replace('/\[\]/', '',$text, 1);
                }
        }
}
return $text;
И использование в шаблонизаторе:
{$_modx->resource.content | url_by_id}
Если в текстовом редакторе сделать вот [id5]такую конструкцию[], то на фронте получится ссылка на url ресурса с id = 5, с анкором «такую конструкцию»
Как то так, сильно не пинайте)))
Max
Max
16 марта 2023, 09:54
modx.pro
419
-1

Вывод чанка по расписанию

В чанке telnumber1 первый номер телефона, в чанке telnumber2 второй номер телефона.
Как сделать публикацию чанка telnumber1 в шаблоне с 23-00 до 8-00, а telnumber2 с 8-00 до 23-00?
Антон
15 марта 2023, 20:57
modx.pro
352
0

Ухватиться к времени заказа minishop2

Как можно ухватиться к времени созданного заказа в minishop2?
Андрей
15 марта 2023, 18:59
modx.pro
482
0

Форма на AjaxForm с шаблоном в файле

Здравствуйте, пытаюсь сделать форму через AjaxForm и FomrIt, делаю это с помощью фенома и файлов, выглядит это вот так:
{$_modx->runSnippet("AjaxForm", [
            'snippet' => 'FormIt',
            'form' => '@FILE chunk/form-contact/form-contact-form.tpl',
            'hooks' => 'spam,email,FormItSaveForm',
            
            'formName' => 'Контактная форма',
            'validate' => 'name:required,email:email:required,comment:required,antispam:blank',
])}
Дима Лукьянов
15 марта 2023, 16:54
modx.pro
549
0

Прошу помощи ошибки Unexpected token '{'

Добрый день, прошу помощи.
Обнаружил что сайт работает частично после того как хостер перенес мой сайт на другой сервер…

Сыпет 500 ошибками.
Не работают разные страницы сайта

админка в логах ругается на следующие две ошибки, они возникают при каждом обновлении страницы:

[2023-03-14 19:43:07] (ERROR @ /public_html/core/components/pdotools/model/pdotools/pdotools.class.php: 969) Unexpected token '{' in expression in 6a4ebe0b9031789a550652f8e863e79f line 388, near '{{' < — there
[2023-03-14 19:43:07] (ERROR @ /public_html/core/components/pdotools/model/pdotools/pdotools.class.php: 969) Unexpected token '{' in expression in 111b123247399d38fe6d3a385bcf35a8 line 12, near '{{' < — there

Было бы прекрасно если бы кто то смог помочь

До этого сайт прекрасно работал с 2019г, ничего не обновляли, просто работал.
Andrey
15 марта 2023, 15:27
modx.pro
637
0

как убрать index.php в середине урл

столкнулся с проблемой, что на моих сайтах не работает редирект с index.php в середине урл
например:
grand-service.su/index.php/kontaktyi.html
перекидывает на главную (хотя страница 404 есть), а должно быть
grand-service.su/kontaktyi.html
никак не могу найти как побороть это. мб кто сталкивался?
скрин с настройками ЧПУ
alexandr.skyrda
15 марта 2023, 14:40
modx.pro
1 014
0

[mSync] Вопрос по импорту через XML

Добрый день.

Прошу помочь, кто владеет информацией. В описании/документации не нашел ответ, а у автора вопросы отключены.

Вопрос в следующем. Есть ссылка в формате XML, необходимо синхронизировать товары по ней. Это просто ссылка от другого интернет-магазина, т.е. мне НЕ нужна интеграция/связка с 1С и т.д.

Из документации не понятно, является ли связка/авторизация в 1С обязательна или нет? Могу ли я использовать модуль, только для импорта/обновление товаров по XML ссылке.
Роман
15 марта 2023, 09:16
modx.pro
586
0

Не загружаются пакеты

Приветствую всех!

Имеется сайт на MODX REVO 3.0.3 (PHP 7.4). Случайно заметил, что не грузятся пакеты. Просто появляется бесконечный прогресс бар и все. Если правильно зажать курсор, то можно увидеть невидимое окно с ошибкой.



В этот момент в инспекторе появляются две ошибки.



С какого обновления появилась эта ошибка сказать не могу, потому что все установил на версии 3.0 и потом просто обновлялся. Пробовал откатиться на версию 3.0.2, 3.0.1 и 3.0 — ничего не изменилось.
Сделал новую установку MODX 2.8.5 и там точно такая же проблема.
Также менял версии php: 7.1, 7.2, 7.3 — сайт вообще не запускается, а 8.0 и 8.1 — проблема остается.
Database — mysqlnd 7.4.29. Webserver — LiteSpeed V8.0.1 Cloudlinux 1.3.

UPD: Поставил чистую MODX Revo 2.8.5 и ситуация не изменилась.

Спасибо за внимание!
Иван
15 марта 2023, 08:58
modx.pro
684
0

Перезагрузка страницы админки при клике на любой пункт меню слева

Животрепещущий вопрос…
MODX Revolution 2.8.3-pl
При попытке развернуть вложенное меню любого ресурса — админка перезагружается и зайти на вложенный ресурс не получается.
Такое происходит во всех вкладках меню слева (Resources, Elements, Files).
Получается редактировать только ресурсы верхнего уровня, но если там есть вкладки, то переход по ним тоже перезагружает админку и всё сбрасывается…

Подскажите пожалуйста, что делать, куда смотреть?
Андрей
14 марта 2023, 11:33
modx.pro
697
0

[syncMoySklad] Переход на API 1.2

Добрый день!
Недавно одному из клиентов пришло письмо следующего содержания:

Вы используете интеграцию с МоимСкладом по JSON API 1.1. <...> С 1 ноября 2023 года мы прекращаем поддерживать JSON API версии 1.1 и переходим на версию 1.2, у которой больше возможностей. <...> До 1 ноября мы будем поэтапно снижать лимиты по количеству запросов для JSON API 1.1. Первое снижение лимитов до 30 запросов в 3 секунды будет 10 апреля. Если вы разработчик, использующий версию 1.1, запланируйте переход на 1.2. По всем вопросам напишите нам на support@moysklad.ru.

В связи с этим хотелось бы уточнить, достаточно ли для перехода изменить системную настройку sync_moysklad_api_endpoint на адрес нового API или всё же это потребует более глубокой переаботки кода самого syncMoySklad?
Giant Dad
14 марта 2023, 10:33
modx.pro
732
0