Шорткод для простановки ссылок в редакторе, с учетом состояния ресурса
Всем привет, у меня не вопрос, а просто удобный сниппет, в другие разделы публиковать не дает, рейтинг низкий =((, не нашел ни чего подобного, поэтому пилил сам, может кому то понадобится, упрощает жизнь сеошнику при внутренней перелинковке сайта. Собственно к сути:
Сделал сниппет который получает текст где проставлены вот такие шорткоды — "[id10] анкор ссылки []" где 10 это id ресурса на который должна сформироваться ссылка, по мне так удобнее чем делать жесткую ссылку через функционал редактора в админке, часто бывает что я меняю структуру, и меняется uri страницы, еще одним удобством сделал то что если ресурс на который мы ссылаемся еще не опубликован, то ссылка игнорируется, а конструкция шорткода просто вырезается, но как только ресурс публикуется (сделали отложенную публикацию к примеру) то ссылка на него сразу появится.
Создаем сниппет в админке, называем к примеру — url_by_id
Код сниппета:
Как то так, сильно не пинайте)))
Сделал сниппет который получает текст где проставлены вот такие шорткоды — "[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, с анкором «такую конструкцию»Как то так, сильно не пинайте)))
Вывод чанка по расписанию
В чанке telnumber1 первый номер телефона, в чанке telnumber2 второй номер телефона.
Как сделать публикацию чанка telnumber1 в шаблоне с 23-00 до 8-00, а telnumber2 с 8-00 до 23-00?
Как сделать публикацию чанка telnumber1 в шаблоне с 23-00 до 8-00, а telnumber2 с 8-00 до 23-00?
Ухватиться к времени заказа minishop2
Как можно ухватиться к времени созданного заказа в minishop2?
Форма на 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',
])}
Прошу помощи ошибки 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г, ничего не обновляли, просто работал.
Обнаружил что сайт работает частично после того как хостер перенес мой сайт на другой сервер…
Сыпет 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г, ничего не обновляли, просто работал.
как убрать index.php в середине урл
столкнулся с проблемой, что на моих сайтах не работает редирект с index.php в середине урл
например:
grand-service.su/index.php/kontaktyi.html
перекидывает на главную (хотя страница 404 есть), а должно быть
grand-service.su/kontaktyi.html
никак не могу найти как побороть это. мб кто сталкивался?
скрин с настройками ЧПУ
например:
grand-service.su/index.php/kontaktyi.html
перекидывает на главную (хотя страница 404 есть), а должно быть
grand-service.su/kontaktyi.html
никак не могу найти как побороть это. мб кто сталкивался?
скрин с настройками ЧПУ
[mSync] Вопрос по импорту через XML
Добрый день.
Прошу помочь, кто владеет информацией. В описании/документации не нашел ответ, а у автора вопросы отключены.
Вопрос в следующем. Есть ссылка в формате XML, необходимо синхронизировать товары по ней. Это просто ссылка от другого интернет-магазина, т.е. мне НЕ нужна интеграция/связка с 1С и т.д.
Из документации не понятно, является ли связка/авторизация в 1С обязательна или нет? Могу ли я использовать модуль, только для импорта/обновление товаров по XML ссылке.
Прошу помочь, кто владеет информацией. В описании/документации не нашел ответ, а у автора вопросы отключены.
Вопрос в следующем. Есть ссылка в формате XML, необходимо синхронизировать товары по ней. Это просто ссылка от другого интернет-магазина, т.е. мне НЕ нужна интеграция/связка с 1С и т.д.
Из документации не понятно, является ли связка/авторизация в 1С обязательна или нет? Могу ли я использовать модуль, только для импорта/обновление товаров по XML ссылке.
Не загружаются пакеты
Приветствую всех!
Имеется сайт на 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 и ситуация не изменилась.
Спасибо за внимание!
Имеется сайт на 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 и ситуация не изменилась.
Спасибо за внимание!
Перезагрузка страницы админки при клике на любой пункт меню слева
Животрепещущий вопрос…
MODX Revolution 2.8.3-pl
При попытке развернуть вложенное меню любого ресурса — админка перезагружается и зайти на вложенный ресурс не получается.
Такое происходит во всех вкладках меню слева (Resources, Elements, Files).
Получается редактировать только ресурсы верхнего уровня, но если там есть вкладки, то переход по ним тоже перезагружает админку и всё сбрасывается…
Подскажите пожалуйста, что делать, куда смотреть?
MODX Revolution 2.8.3-pl
При попытке развернуть вложенное меню любого ресурса — админка перезагружается и зайти на вложенный ресурс не получается.
Такое происходит во всех вкладках меню слева (Resources, Elements, Files).
Получается редактировать только ресурсы верхнего уровня, но если там есть вкладки, то переход по ним тоже перезагружает админку и всё сбрасывается…
Подскажите пожалуйста, что делать, куда смотреть?
[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?
Недавно одному из клиентов пришло письмо следующего содержания:
Вы используете интеграцию с МоимСкладом по 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?