Max
С нами с 28 июня 2020; Место в рейтинге пользователей: #890Шорткод для простановки ссылок в редакторе, с учетом состояния ресурса
Всем привет, у меня не вопрос, а просто удобный сниппет, в другие разделы публиковать не дает, рейтинг низкий =((, не нашел ни чего подобного, поэтому пилил сам, может кому то понадобится, упрощает жизнь сеошнику при внутренней перелинковке сайта. Собственно к сути:
Сделал сниппет который получает текст где проставлены вот такие шорткоды — "[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, с анкором «такую конструкцию»Как то так, сильно не пинайте)))
Не приходит e-mail заказчика при оформлении заказа minishop2
Добрый день.
При оформлении заказа (ИМ на minishop2 ) заполняется несколько полей, тел, e-mail, имя, комментарий к заказу, на почту приходит все кроме e-mail, оно остается пустым.
Даже если я вызываю msOrder без своего шаблона, а просто со стандартными полями
Заполняю все поля, e-mail все равно не приходит
Вывожу поля в письме вот так
При оформлении заказа (ИМ на minishop2 ) заполняется несколько полей, тел, e-mail, имя, комментарий к заказу, на почту приходит все кроме e-mail, оно остается пустым.
Даже если я вызываю msOrder без своего шаблона, а просто со стандартными полями
{$_modx->runSnippet('!msOrder', [
])}
Заполняю все поля, e-mail все равно не приходит
Вывожу поля в письме вот так
{extends 'tpl.msEmail'}
{block 'title'}
{'ms2_email_subject_new_manager' | lexicon : $order}
<div class="row">
<div class="col-12">
<h2>Данные клиента</h2>
<p>Имя: <b>[[+address.receiver]]</b></p>
<p>Телефон: <b>[[+address.phone]]</b></p>
<p>e-mail: <b>[[+address.email]]</b></p>
<p>Комментарий: <b>[[+address.comment]]</b></p>
</div>
</div>
{/block}
Интеграция MODX Revo с системой IIKO
10 5 000
Добрый день. Сайт заполнен, требуется сделать интеграцию с системой для ресторанов IIKO
Документация ru.iiko.help/articles/#!api-documentations/kak-podkluchit-api
Сколько это будет стоить?
Я разраб, пишу на феноме, верстка и прочее, но не тот уровень пока, часть рутины сделаю сам.
Жду предложений)
Документация ru.iiko.help/articles/#!api-documentations/kak-podkluchit-api
Сколько это будет стоить?
Я разраб, пишу на феноме, верстка и прочее, но не тот уровень пока, часть рутины сделаю сам.
Жду предложений)
Как сделать обязательным к заполнению поле Артикул при заполнении карточки товара в minishop2
Добрый день. Не нашел ответ или плохо искал, в основном обсуждаются вопросы по обязательным полям при оформлении заказа, а как сделать что бы контент менеджер при заполнении каталога обязательно заполнял поле Артикул у товара, которое является стандартным, и находится во вкладке «Свойства товара», т.е. не мог сохранить товар, если поле Артикул пустое. Создать и использовать свое ем поле не хотелось бы.
Не работает импорт в minishop2 через компонент msImportExport
Приветствую!
Собственно проблема в импорте товаров, делаю экспорт из минишопа, где для наглядности добавлен один товар, выгружаю в xls или csv, после выгрузки добавляю строчку с новым товаром, указываю ему Родителя, такого же как у демо-товара, который выгрузил из минишопа, но при импорте выдает ошибку
«Для добавляемого нового товара не указан родитель, действие отклонено. Array»
Собственно проблема в импорте товаров, делаю экспорт из минишопа, где для наглядности добавлен один товар, выгружаю в xls или csv, после выгрузки добавляю строчку с новым товаром, указываю ему Родителя, такого же как у демо-товара, который выгрузил из минишопа, но при импорте выдает ошибку
«Для добавляемого нового товара не указан родитель, действие отклонено. Array»
[2020-11-13 12:27:31] (ERROR @ core\components\msimportexport\model\msimportexport\msie.class.php : 3723) Для добавляемого нового товара не указан родитель, действие отклонено. Array
(
[parents] => Главная|Группа1|Группа2
[Название родителя] => Группа2
[Галерея] => assets/images/products/4/img1.png
[Название] => Товар 1
[Полное название] =>
[Родитель] => 3
[Цена] => 0.00
[class_key] => msProduct
[context_key] => web
[tvs] =>
)
Как вывести используя Fenom название tv поля (не значение).
Доброго времени суток!
Встал вопрос о выводе в синтаксисе fenom НАЗВАНИЕ поля:
Вот такой пример поля создал в админке, в tv полях, назвал tv_name, со значениями:
Пример со стандартным шаблонизатором:
С использованием fenom этот модификатор не работает, искал в документации, нет ни каких упоминаний, может плохо искал))
Встал вопрос о выводе в синтаксисе fenom НАЗВАНИЕ поля:
Вот такой пример поля создал в админке, в tv полях, назвал tv_name, со значениями:
Поле1==значение_поля1||Поле2==значение_поля2
Имя в стандартном шаблонизаторе можно получить через модификатор tvLabelПример со стандартным шаблонизатором:
[[*tv_name:tvLabel]]
Этот код выводит «Поле1» или «Поле2», в зависимост от выбора в настройках ресурсаС использованием fenom этот модификатор не работает, искал в документации, нет ни каких упоминаний, может плохо искал))