Андрей Шевяков

Андрей Шевяков

С нами с 28 сентября 2016; Место в рейтинге пользователей: #45

Подгрузка чанков по мере прокрутки страницы

Добрый вечер. Работаю в ModX 2.8.7
В ходе оптимизации сайта для Google столкнулся с проблемой — слишком длинная главная страница.

Сама страница состоит из большого и длинного шаблона с разными html блоками. В итоге Google ругается, что слишком длинная страница, долгое время загрузки и так далее…

Если бы на стр были всплывающие окна, блоки типа блога, товаров, новостей — видел варианты их подгрузки по мере прокрутки страницы.
НО
КАК организовать подгрузку ЧАНКОВ по мере прокрутки страницы?
Т.е. пример: Google загружает слайдер, меню и еще какой-то блок. Прокручиваем дальше… На Ajax происходит подгрузка блока О компании, проматываем, подгружается Преимущества, продолжаем спускаться… подгружаются… Загружается блок Footer. Страница кончилась…
Матвей
17 июля 2024, 01:36
modx.pro
1
788
0

Настройка translit для поисковой системы яндекс

Арман
01 июля 2024, 20:11
modx.pro
3
2 184
+3

Localizator: TV и MIGX не переводило, а ларчик оказалось открывался просто

Столкнулся с одной особенностью работы Localizator с MIGX и TV.
Все никак не получалось заставить Localizator правильно переводить MIGX поля и в некоторых случаях отдельные TV поля. Перепробовал кучу вариантов, пытался выводить через выводы сниппетов localizator, pdoResources, getImageList. Потратил пару суток впустую, кучу нервов и сил.
А в итоге оказалось все просто. Случайно обнаружил что некоторые TV переводит, а некоторые нет.
В некоторых местах я MIGX выводил следующим образом:
{set $rows = json_decode($_modx->resource.id | resource : 'migx_why_us_list', true)}
{foreach $rows as $idx =>$row1 index=$index}
    <li>
        {$row1.textprichini}
    </li>
{/foreach}
где migx_why_us_list — MIGX поле.
В итоге вывод этого кода не переводился как надо, выводился только MIGX не из переводов.
Но если заменить
$_modx->resource.id | resource : 'migx_why_us_list'
на
$_modx->resource.migx_why_us_list
то все начинает работать как надо.
Олег Захаров
03 июня 2024, 14:36
modx.pro
2
3 477
+4

Задваиваются письма

При регистрации пользователя через LOGIN подключил сниппет '&postHooks=`email_reg_user`'
<?php
$email = $hook->getValue('email');
$username = $hook->getValue('username');
$password = $hook->getValue('password');
$fullname = $hook->getValue('fullname');
$phone = $hook->getValue('phone');

//отправляем админу
$message_admin = $modx->getChunk('adminEmailTemplate_reg',array(
   'email' => $email,
   'fullname' => $fullname,
   'username' => $username,
   'phone' => $phone
));
 
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message_admin);
$modx->mail->set(modMail::MAIL_FROM,'noreply@site.ru');
$modx->mail->set(modMail::MAIL_FROM_NAME,'Сайт');
$modx->mail->set(modMail::MAIL_SUBJECT,'регистрация участника');
$modx->mail->address('to', 'admin@site.ru');//$modx->getOption('emailsender'));
$modx->mail->setHTML(true);
$modx->mail->send();

//отправляем пользователю
$message = $modx->getChunk('myEmailTemplate_reg',array(
   'email' => $email,
   'fullname' => $fullname,
   'username' => $username,
   'password' => $password,
   'phone' => $phone
));
 
//$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,'noreply@site.ru');
$modx->mail->set(modMail::MAIL_FROM_NAME,'Сайт');
$modx->mail->set(modMail::MAIL_SUBJECT,'регистрация');
$modx->mail->address('to', $email);
$modx->mail->setHTML(true);
$modx->mail->send();
проблема в том что на почту (администартора) admin@site.ru приходит два письма adminEmailTemplate_reg и myEmailTemplate_reg
Как сделать так чтобы второе не уходило админу
ВитОс
29 мая 2024, 18:52
modx.pro
1
1 629
0

[miniShop2 + mspTinkoff] Можно ли вызвать оплату заказа через API ?

Добрый день. Создаю заказ через API modx примерно так:

$miniShop2->initialize($modx->context->key, $scriptProperties);
$miniShop2->cart->clean();

$miniShop2->cart->add(165, 1, $option);
$miniShop2->order->add('receiver', 'Заказ доставки из калькулятора');
$miniShop2->order->add('email', 'test@test.io');
$miniShop2->order->add('phone', $fullInfo['Телефон']);
$miniShop2->order->add('comment', $fullInfo['ФИО и комментарий']);
$miniShop2->order->add('text_address', $text);
	
$miniShop2->order->add('payment', 2);
$miniShop2->order->add('delivery', 1);
    
$miniShop2->order->submit();

Как сделать так, чтобы после создания заказа происходил переход на его оплату? На сайте установлен модуль mspTinkoff.
Giant Dad
22 мая 2024, 16:27
modx.pro
1
2 416
0

Получение всех TV полей ресурса из конкретной категории и вывод в чанк

Всем привет. Хочу поделиться сниппетом, который позволяет получить все TV поля ресурса из определённой категории и оформить вывод в чанк. Задача по сути простая, но те решения которые находил в интернете (например тут или тут или тут) немного не о том и мне не подходят, тоесть готового кажется нет.

Да, её можно решить с помощью MIGX, но это мне тоже не совсем подходило (об этом ниже). Поэтому решил написать этот сниппет. Единственная сложность была сформировать запрос в БД, так как опыта небыло от слова совсем, поэтому воспользовался gpt чатом, ну а дальше отправить результаты в чанк проблем не составило. Возможно кому-то будет полезно.

Андрей Чаплыгин
03 мая 2024, 23:25
modx.pro
4
1 616
+5

Как вывести похожие товары по списку опций?

Подскажите пожалуйста, как реализовать вывод похожих товаров Minishop2 в карточке товара, у которых отмечены такие же опции, как и у товара в текущей карточке? Опции в админке выведены чекбоксами.
Вероятно опции нужно перечислить в WHERE через pdoPage, но пока ничего не выходит.
Олег
03 мая 2024, 01:48
modx.pro
1
1 442
0

Как передать переменные внутрь чанка из сниппета и заполнить с помощью 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» то ничего не покажет.
Pandemic
29 апреля 2024, 10:58
modx.pro
1
1 092
0

mfilter2 — создание фильтра по алфавиту и вывод результатов по первой букве поля pagetitle

Всем привет! Столкнулся с задачей реализовать фильтрацию по первой букве ресурса (из поля pagetitle) в моём случае это фильтрация пород собак, но готового решения не нашёл. Вдохновился документацией и очень похожим решением в этой статье. Может кому будет полезно.
Андрей Чаплыгин
08 апреля 2024, 12:04
modx.pro
5
1 468
+10

Яндекс.Карты. Меняем метку при наведении нестандартным способом расширяя содержимое метки контентом!

Делюсь наработкой, на которую потратил несколько часов пока бился над решением проблемы. Может кому пригодится, да и для себя чтобы не забыть (пока память свежа изложить полученные знания в шпаргалку).
Понадобилось реализовать поведение карты чтобы при наведении на метку к метке справа добавлялся свой блок с содержимым (так называемый iconContentLayout). Пример:

Не нашел нигде как сделать так. В официальной документации было только примеры изменения иконки метки через замену iconImageHref
Олег Захаров
05 апреля 2024, 02:54
modx.pro
3
6 206
+8