Как сделать отложенную загрузку для скриптов яндекс карт и рекапчи 3?
Всем привет. В одном из сео-отчётов был пункт о том, что сайт типа долго загружается из-за сторонних скриптов. Чаще из-за загрузки яндекс. карт и рекапчи 3. реКапча 3 у меня встроена в форму fetchit/formit, а яндекс карты подключены через тег script.
[msOptionsPrice2] Как добавить свою колонку в Модификации?
Всем здравствуйте. В общем, суть такая — по умолчанию во вкладке Модификации 6-7 стандартных столбцов — Цена, старая цена, артикул, картинка, тип и так далее.
В колонке Цена у меня указана цена за упаковку (то есть, условно, 1000 руб за упаковку и в коробе 800 пог. м.).
Мне нужно ввести новую колонку Цена за погонный метр/шт., а потом выводить её в зависимости от модификации.
К примеру, товар 1 и у него 2 типа: тип 1 — 5.60 руб за 1 пог. м., тип 2 — 15 руб за 1 пог. м.).
В документации вроде ничего такого не нашёл, либо я неправильно понял. На сайте документации нашёл только старую — docs.modx.pro/components/msoptionsprice.
В колонке Цена у меня указана цена за упаковку (то есть, условно, 1000 руб за упаковку и в коробе 800 пог. м.).
Мне нужно ввести новую колонку Цена за погонный метр/шт., а потом выводить её в зависимости от модификации.
К примеру, товар 1 и у него 2 типа: тип 1 — 5.60 руб за 1 пог. м., тип 2 — 15 руб за 1 пог. м.).
В документации вроде ничего такого не нашёл, либо я неправильно понял. На сайте документации нашёл только старую — docs.modx.pro/components/msoptionsprice.
mmxDatabase 1.2.0
Выгрузил новую версию дополнения на packagist.org. Изменений не очень много, но все они интересные.
Во-первых, теперь запросы через Eloquent учитываются в системных плейсхолдерах MODX:
Во-вторых, если включить системную настройку log_level на третий уровень (INFO), то вы увидите все SQL запросы прямо в журнале, вместе со временем выполнения.
Во-первых, теперь запросы через Eloquent учитываются в системных плейсхолдерах MODX:
[^q^] queries, time: [^qt^]
Во-вторых, если включить системную настройку log_level на третий уровень (INFO), то вы увидите все SQL запросы прямо в журнале, вместе со временем выполнения.
[JSON] Как вывести страницу в формате JSON?
Необходимо чтобы страница site.com/api возвращала JSON с данными из ресурсов. Это можно сделать через сниппет pdoResources с помощью 'return' => 'json' но необходимо чтобы выводились не все данные, а только id, pagetitle и пара tv-полей. Примерно по такому шаблону
(шаблон)
Подскажите, как правильно нужно это делать
{
"id" : "1",
"name" : "res_name",
"img" : "res_tv_img"
}, ...
Как правильно это сделать? Вот такой вариант:(шаблон)
[
{'!pdoResources' | snippet : [
'parents' => 2,
'showUnpublished' => 1,
'tpl' => 'api_item',
'includeTVs' => 'image,console',
]}
]
(чанк){
"id": "{$id}",
"name": "{$pagetitle}",
"img": "{$_pls['tv.image']}",
},
работает, но только если тип ресурса указан HTML, если выбирать JSON, то как-будто вообще ничего не происходит, ни ошибок в логе, ни вывода на страницу, ничего.Подскажите, как правильно нужно это делать
Настройка уровня вложенности ссылки в адресной строке
Здравствуйте, у меня есть ссылка такого вида:
site.ru/country/news/article-1.html
А нужно сделать вот такой вид:
site.ru/country/article-1.html
Имеется ввиду, чтобы был только самый первый родитель в адресной строке, ну и соответственно последний элемент независимо от коло-ва уровня вложенности
Как это можно реализовать?
site.ru/country/news/article-1.html
А нужно сделать вот такой вид:
site.ru/country/article-1.html
Имеется ввиду, чтобы был только самый первый родитель в адресной строке, ну и соответственно последний элемент независимо от коло-ва уровня вложенности
Как это можно реализовать?
Получение tv поля ресурса
Пытался найти самостоятельно — не справился, прошу, выручайте!
Необходимо получить tv поля другого ресурса, вызвал сниппет pdoResources, указал includeTVs, id ресурса, все как надо, затем вывожу через [[*tv-name]] и выводит верный json массив (поле через migx сформировано), но как на синтаксисе фенома вывести, пробовал и {$tv-name} — ничего не выводит, {$_modx->resource.tv-name} обращается к текущему ресурсу, так что тоже мимо: с
Необходимо получить tv поля другого ресурса, вызвал сниппет pdoResources, указал includeTVs, id ресурса, все как надо, затем вывожу через [[*tv-name]] и выводит верный json массив (поле через migx сформировано), но как на синтаксисе фенома вывести, пробовал и {$tv-name} — ничего не выводит, {$_modx->resource.tv-name} обращается к текущему ресурсу, так что тоже мимо: с
Получение всех TV полей ресурса из конкретной категории и вывод в чанк
Всем привет. Хочу поделиться сниппетом, который позволяет получить все TV поля ресурса из определённой категории и оформить вывод в чанк. Задача по сути простая, но те решения которые находил в интернете (например тут или тут или тут) немного не о том и мне не подходят, тоесть готового кажется нет.
Да, её можно решить с помощью MIGX, но это мне тоже не совсем подходило (об этом ниже). Поэтому решил написать этот сниппет. Единственная сложность была сформировать запрос в БД, так как опыта небыло от слова совсем, поэтому воспользовался gpt чатом, ну а дальше отправить результаты в чанк проблем не составило. Возможно кому-то будет полезно.
Да, её можно решить с помощью MIGX, но это мне тоже не совсем подходило (об этом ниже). Поэтому решил написать этот сниппет. Единственная сложность была сформировать запрос в БД, так как опыта небыло от слова совсем, поэтому воспользовался gpt чатом, ну а дальше отправить результаты в чанк проблем не составило. Возможно кому-то будет полезно.
Как передать переменные внутрь чанка из сниппета и заполнить с помощью fenom?
Есть снипет, в нём есть переменные, их нужно передать в чанк, где они подставятся, и вернётся отрендеренный сам чанк. Пытался так.
$pdoTools = $modx->getParser()->pdoTools;
$fenom = $pdoTools->getFenom();
$data['count_products'] = count($data['products']);
$fenom->assignAll([
'num' => $data.num,
'date' => $data.date,
'products' => $data.products,
]);
$renderedHtml = $pdoTools->getChunk('pdfHtmlTemplate');
Ошибки нет, просто не срабатывает после строчки назначения переменных, а если вывести переменные «pdoTools,fenom» то ничего не покажет. Подскажите как лучше реализовать структуру сайта
Добрый день!
Необходимо создать сайт для автосервиса под СЕО, есть несколько доменов, для каждой марки автомобиля каждый домен прикреплен к админке как отдельный контекст, внутри каждого контекста страницы с моделями автомобилей и внутри с их поколениями (Audi a5 II F5 или Audi A5 II F5 рестайлинг и тд).
Нужно на каждое поколение автомобиля добавить страницу ремонта двигателя замены клапана и тд.
Я раньше делал так что создавал ресурс в каждой модели через modx API но это довольно трудоемкий процесс
Необходимо создать сайт для автосервиса под СЕО, есть несколько доменов, для каждой марки автомобиля каждый домен прикреплен к админке как отдельный контекст, внутри каждого контекста страницы с моделями автомобилей и внутри с их поколениями (Audi a5 II F5 или Audi A5 II F5 рестайлинг и тд).
Нужно на каждое поколение автомобиля добавить страницу ремонта двигателя замены клапана и тд.
Я раньше делал так что создавал ресурс в каждой модели через modx API но это довольно трудоемкий процесс
как msProductOptions проверить на пустоту?
Добрый вечер!
Вывожу список опций через msProductOptions
В чанке перед выводом опций идет свой заголовок.
Сейчас если у товара нет ни одной опции — на странице отображается только заголовок из чанка.
Как проверить наличие опций, чтобы не выводить на странице одинокий заголовок?
toPlaceholder тут похоже не работает.
Вот код чанка:
Вывожу список опций через msProductOptions
В чанке перед выводом опций идет свой заголовок.
Сейчас если у товара нет ни одной опции — на странице отображается только заголовок из чанка.
Как проверить наличие опций, чтобы не выводить на странице одинокий заголовок?
toPlaceholder тут похоже не работает.
Вот код чанка:
<h2>Заголовок:</h2>
<p>
{foreach $options as $option}
{if $option.value == 1}
{$option.caption},
{/if}
{/foreach}
</p>
Вызов:{$_modx->runSnippet('!msProductOptions@PropertySet', [
'onlyOptions' => 'список опций через запятую',
'tpl' => 'tpl.msOptions',
])}