Вопросы
Автовывод заполненных модификаций и опций msOptionPrice2
Доброго дня!
Нужна помощь. Кто готов сделать полностью на платной основе — пожалуйста https://modx.pro/work/16473
На фронтенде выводятся модификации товара и опции автоматически — без указания в чанке, какую опцию выводить, а какую нет.
На фронтенде это выглядит так:

Модификации (для понимания) такие:
Цвет (Белый) — Ширина умывальника (80) — +1000р
Цвет (Белый) — Ширина умывальника (100) — +2000р
Цвет (Черный) — Ширина умывальника (80) — +3000р
Цвет (Черный) — Ширина умывальника (100) — +4000р
Нужно сделать некоторые доработки:
1. В модификациях вывести автоматически не только опции товара, но и свойства товара. Компонент позволяет в модификациях использовать не только опции товара, но и свойства. Сейчас настроен автовывод только опций — нужно и модификаций.
2. Сделать вывод названия опции и свойства из caption (так же, как называется в админке, а не из лексикона) — на изображении ms2_product_color2 не задавать через словарь.
3. Из списка опций, которые под модификациями, исключить автоматически те, которые использованы в модификациях. На изображении под модификациями автоматически выводятся опции. Стоит, видимо, объединить вывод модификаций и вывод списком опций и в процессе перебора опций и свойств разделить на те, которые использованы в модификациях и на остальные. Модификации вывести с возможностью выбора значений, а остальные — просто в виде таблицы.
Логику действий понимаю, но знаний реализовать не хватает. Буду рад любым промежуточным вариантам или готовому решению.
Нужна помощь. Кто готов сделать полностью на платной основе — пожалуйста https://modx.pro/work/16473
На фронтенде выводятся модификации товара и опции автоматически — без указания в чанке, какую опцию выводить, а какую нет.
На фронтенде это выглядит так:

Модификации (для понимания) такие:
Цвет (Белый) — Ширина умывальника (80) — +1000р
Цвет (Белый) — Ширина умывальника (100) — +2000р
Цвет (Черный) — Ширина умывальника (80) — +3000р
Цвет (Черный) — Ширина умывальника (100) — +4000р
Нужно сделать некоторые доработки:
1. В модификациях вывести автоматически не только опции товара, но и свойства товара. Компонент позволяет в модификациях использовать не только опции товара, но и свойства. Сейчас настроен автовывод только опций — нужно и модификаций.
2. Сделать вывод названия опции и свойства из caption (так же, как называется в админке, а не из лексикона) — на изображении ms2_product_color2 не задавать через словарь.
3. Из списка опций, которые под модификациями, исключить автоматически те, которые использованы в модификациях. На изображении под модификациями автоматически выводятся опции. Стоит, видимо, объединить вывод модификаций и вывод списком опций и в процессе перебора опций и свойств разделить на те, которые использованы в модификациях и на остальные. Модификации вывести с возможностью выбора значений, а остальные — просто в виде таблицы.
Логику действий понимаю, но знаний реализовать не хватает. Буду рад любым промежуточным вариантам или готовому решению.
pdoFetch и LEFT JOIN modResource
Есть собственный классSmsNotify. есть стандартный класс modResource. В собственном компоненте есть поле res_id — в которой хранится id связанного ресурса. Как при помощи pdoTools вынуть все поля собственного класса и присоединить часть полей из класса modResource?
Как работать с платными компонентами на сервере разработки?
Допустим есть платный компонент на ModStore. Прежде, чем принимать решение о его использовании на продакшене хосется потестить этот компонент. Как можно это осуществить?
Почему плагин SEO PRO берет не pagetitle?
Заметил такой нюанс в работе Компонента SEO PRO. Для отображения заголовка в снипете поисковика он берет поде longtitle, а не pagetitle. Почему так? Можно это откорректировать?
Восстановление ресурса из кэша
Внимание! Это не вопрос, а готовое решение. В готовые решения не могу разместить, т.к. не хватает рейтинга.Всем привет. Как-то столкнулся с такой проблемой, что вся кодировка бэкапа базы данных была сбита и оставался только чистый кэш. Оставляю на случай, если кому поможет решить проблему.
Таким же успехом можно прогнать и системные настройки. Здесь я показал в пример только восстановление полей ресурса, TV к нему и чанков.
<?php
$resources = $modx->getIterator('modResource');
// Указываем путь к кэшу
$options = array(
xPDO::OPT_CACHE_KEY => 'resource/web/resources',
);
foreach ($resources as $resource) {
// Берём каждый ресурс по идентификатору
$cache = $modx->cacheManager->get($resource->get('id'), $options);
// Массив параметров ресурса
$data = $cache['resource'];
// Заносим все поля ресурса из кэша
$resource->fromArray($data);
foreach($data as $property) {
// Дополнительное поле выглядит как массив
if (is_array($property)) {
// Если это массив, то берём название поля и его значения в 1-й и 2-й ячейках
$resource->setTVvalue($property[0], $property[1]);
}
}
$resource->save();
// Бывает слетает кодировка и в чанках, восстанавливаем чанки, которые относятся к ресурсу
$chunks = $cache['sourceCache']['modChunk'];
foreach ($chunks as $key => $chunk) {
$modChunk = $modx->getObject('modChunk', array('name' => $key));
// getIterator тут не работает
$modChunk->setContent($chunk['fields']['snippet']);
$modChunk->save();
}
} Синтаксис Fenom и экранирование ковычек
Всем привет! Уже 2 дня не могу понять, почему феном выдает двойную кавычку, вместо одинарной и закрывает мне весь вызов.
Вот кусок кода:
Помогите пожалуйста разобраться, могу скинуть весь код.
Вот кусок кода:
<div class="popup_scrollbar">
{var $frame_tpl} {ignore}
<div class="popup_product_item" data-product-id="{$id}" data-product-prices="{$_modx->runSnippet('!msop2GetOptionsWithPrices', ['id ' => $id,'key ' => 'size ','price '=> ($id | resource : 'price ')]) | toJSON} ">
<div class="_img"><img src="{$_pls['280x280 ']}" alt="{$pagetitle}" title="{$pagetitle}"></div>
<div class="_title">{$pagetitle}</div>
<div class="_title" style="font-size: 70%;font-style: italic;">Ширина: {$longtitle} см.</div>
<div class="_details">
<div class="_price"><span class="_price_num">{($id | resource : 'price ')}</span> {'ms2_frontend_currency ' | lexicon}</div>
<div class="_select text-right">+</div>
<div class="clear"></div>
</div>
</div>
{/ignore}
{/var}
{var $frames = $_modx->runSnippet('msProducts ', [
'parents ' => 38,
'sortby ' => 'price ',
'sortdir ' => 'ASC ',
'includeThumbs ' => '280x280 ',
'tpl ' => '@INLINE '~$frame_tpl,
'tpl_n3 ' => '@INLINE '~$frame_tpl~'<div class="clear"></div>', ])} {$frames}
</div>В итоге на фронте, как HTML он выводится вот так:<div class="popup_scrollbar">
<div class="popup_product_item" data-product-id="{$id}" data-product-prices="{$_modx->runSnippet(" !msop2getoptionswithprices="" ',="" [="" 'id="" '=""> $id,
'key ' => 'size ',
'price ' => ($id | resource : 'price '),
]) | toJSON}'>
<div class="_img"><img src="{$_pls['280x280']}" alt="{$pagetitle}" title="{$pagetitle}"></div>
<div class="_title">{$pagetitle}</div>
<div class="_details">
<div class="_price"><span class="_price_num">{($id | resource : 'price')}</span> {'ms2_frontend_currency' | lexicon}</div>
<div class="_select text-right">+</div>
<div class="clear"></div>
</div>
</div>
<div class="popup_product_item" data-product-id="{$id}" data-product-prices="{$_modx->runSnippet(" !msop2getoptionswithprices="" ',="" [="" 'id="" '=""> $id,
'key ' => 'size ',
'price ' => ($id | resource : 'price '),
]) | toJSON}'>
<div class="_img"><img src="{$_pls['280x280']}" alt="{$pagetitle}" title="{$pagetitle}"></div>
<div class="_title">{$pagetitle}</div>
<div class="_details">
<div class="_price"><span class="_price_num">{($id | resource : 'price')}</span> {'ms2_frontend_currency' | lexicon}</div>
<div class="_select text-right">+</div>
<div class="clear"></div>
</div>
</div>
<div class="popup_product_item" data-product-id="{$id}" data-product-prices="{$_modx->runSnippet(" !msop2getoptionswithprices="" ',="" [="" 'id="" '=""> $id,
'key ' => 'size ',
'price ' => ($id | resource : 'price '),
]) | toJSON}'>
<div class="_img"><img src="{$_pls['280x280']}" alt="{$pagetitle}" title="{$pagetitle}"></div>
<div class="_title">{$pagetitle}</div>
<div class="_details">
<div class="_price"><span class="_price_num">{($id | resource : 'price')}</span> {'ms2_frontend_currency' | lexicon}</div>
<div class="_select text-right">+</div>
<div class="clear"></div>
</div>
</div>
<div class="clear"></div>
<div class="popup_product_item" data-product-id="{$id}" data-product-prices="{$_modx->runSnippet(" !msop2getoptionswithprices="" ',="" [="" 'id="" '=""> $id,
'key ' => 'size ',
'price ' => ($id | resource : 'price '),
]) | toJSON}'>
<div class="_img"><img src="{$_pls['280x280']}" alt="{$pagetitle}" title="{$pagetitle}"></div>
<div class="_title">{$pagetitle}</div>
<div class="_details">
<div class="_price"><span class="_price_num">{($id | resource : 'price')}</span> {'ms2_frontend_currency' | lexicon}</div>
<div class="_select text-right">+</div>
<div class="clear"></div>
</div>
</div>
</div>То есть, тег закрывается намного раньше, но в ресурсе у меня нет там двойной кавычки, она одинарная)Помогите пожалуйста разобраться, могу скинуть весь код.
Как настроить вывод аватарки в панели управления ModX Revo?
В панели управления есть иконка пользователя. Так вот, когда туда загружаешь картинку, то иконка не выводится. Вернее так, она отображается с ошибкой. В журнале ошибок создается запись:
В чем может быть ошибка?
[2018-09-26 17:45:21] (ERROR @ E:\OSPanel\domains\lp\core\model\phpthumb\modphpthumb.class.php: 144) phpThumb was unable to generate a thumbnail for: E:\OSPanel\domains\lp\core\cache\phpthumb\lp.local__src8316ee7be845a13238eba20a97b23757_par397327b300e2532553c171cb19a456f3_dat0.jpegСобственно файла E:\OSPanel\domains\lp\core\cache\phpthumb\lp.local__src8316ee7be845a13238eba20a97b23757_par397327b300e2532553c171cb19a456f3_dat0.jpeg по факту нет, но там ест другие файлы, которые нарезаются с оригинала при нажатии кнопки Сохранить в профиле (если указана картинка аватарки).
В чем может быть ошибка?
Вывод сниппета из чанка другого сниппета через Ajax
Всем привет!
Подскажите, пожалуйста, мб кто-то сталкивался или просто знает решение: есть такой сниппет, который при клике на определенный элемент выводит pdoResources с заданными параметрами
Подскажите, пожалуйста, мб кто-то сталкивался или просто знает решение: есть такой сниппет, который при клике на определенный элемент выводит pdoResources с заданными параметрами
<?php
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}
$action = filter_input(INPUT_POST,'action');
if (empty($action)) {return;}
$res = '';
switch ($action) {
case 'pdoResources':
$params = array();
$params['parents'] = filter_input(INPUT_POST, 'parents', FILTER_SANITIZE_NUMBER_INT);
$params['resources'] = filter_input(INPUT_POST, 'resources', FILTER_SANITIZE_NUMBER_INT);
$params['tpl'] = filter_input(INPUT_POST,'tpl');
$params['includeTVs'] = filter_input(INPUT_POST,'includeTVs');
$res = $modx->runSnippet('pdoResources', $params);
break;
}
if (!empty($res)) {
die($res);
}JS выглядит так<script>
$('.trigger').on('click', function() {
var data = {
action: 'pdoResources',
parents: '25',
resources: objectId,
tpl: 'tpl.mapObjectsItem',
includeTVs: 'objectStatus'
};
$.post('/ajax/', data, function(data) {
$('.current-object').empty().prepend(data);
})
});
</script>В чанке tpl.mapObjectsItem подгружается ms2Gallery...
[[!ms2Gallery?
&resources = `[[+id]]`
&tpl = `tpl.ms2GalleryCatalog`
&frontend_css = ``
&frontend_js = ``
]]
...Все было бы замечательно, если бы не одно НО — когда на страницу при клике загружается нужный ресурс, вместо того, чтобы выполнить сниппет ms2Gallery, он выводится в виде текста, т.е. так[[!ms2Gallery? &resources = `61` &tpl = `tpl.ms2GalleryCatalog` &frontend_css = `` &frontend_js = `` ]] Не приходят уведомления о заказах
Перестали поступать уведомления о заказах на сайте и при смене статуса заказа. Самое интересное, что «клиенту» (пробовал тестовый заказ делать) уведомления приходят.
Может ли это быть как то связано с почтой, от которой приходят все уведомления?
Кто то поднимал эту тему давно, но решения так и не нашел.
Дополнил, от 26.09.2018 в 9:30
Скрин настроек:

Пробовал прификс убирать, тоже самое, к хостеру обращался, его ответ:
у кого есть какие еще мысли?
Может ли это быть как то связано с почтой, от которой приходят все уведомления?
Кто то поднимал эту тему давно, но решения так и не нашел.
Дополнил, от 26.09.2018 в 9:30
Скрин настроек:

Пробовал прификс убирать, тоже самое, к хостеру обращался, его ответ:
Попробуйте убрать smpt_prefix ssl. Если не получится, то вопрос нужно адресовать либо разработчику сайта, либо в поддержку modx так как это проблема лишь почтового скриптаЕсли указать в качестве почты менеджера и клиента обычную почту — допустим, mail, то туда все сообщения приходят, а на ту же корпоративную почту ****@domen.com, ничего не приходит.
у кого есть какие еще мысли?
Убрать расширения по регулярному выражению!
Приветствую сообщество!
В общем дело такое…
Необходимо в теле контента (а в контенте у нас много всего и картинки и теги и текст разумеется), убрать расширение…
НО! Не у самих картинок, а у атрибута title, т.е.:
Было так:
title=«dazzle1»
В общем дело такое…
Необходимо в теле контента (а в контенте у нас много всего и картинки и теги и текст разумеется), убрать расширение…
НО! Не у самих картинок, а у атрибута title, т.е.:
Было так:
<a href="/assets/images/tickets/95/8b8d318dc167c4249d0635e60a0ca114b1e03aaf.png" data-fancybox="gallery">
<img title="dazzle1.png" src="/assets/images/tickets/95/8b8d318dc167c4249d0635e60a0ca114b1e03aaf.png" alt="dazzle1.png">
<small>Нажмите на картинку для увеличения.</small>
</a>но убрать надо расширение, чтобы получилось так:title=«dazzle1»