Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 123 комментария

al1ve
al1ve
ну вроде работает, но почему то создаёт на всю ширину и ненужные теги в виде html, head, body. Если что — сам сайт smnu-vos.ru. Сама карта должна быть в правом блоке. Но спасибо за подсказку.
И этот код нужно поставить вместо стандартного яндексовского?
Денис Усманов
Денис Усманов
Если правильно помню, этот скрипт подгружает карту при скролле после загрузки, если карта (как правило) внизу, то будет работать как надо.

<script>
    let ok = false;
    window.addEventListener('scroll', function() {
        if (ok === false) {
            ok = true;
            setTimeout(()=>{
                let mapScript = document.createElement('script');
                mapScript.src = 'https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A55fa9cd5f69ce35aa1eabe9bdf02db7fce18bb55c2ae44e2745b1b8b6cee9464&width=100%25&height=577&lang=ru_RU&scroll=true';
                document.getElementById('map').replaceWith(mapScript);
            }
            , 1000)
        }
    });
</script>

Где mapScript.src = '... это подключение скрипта Яндекс.Карты.
Где document.getElementById('map')… — это id элемента, в который надо загрузить карту.
Артур Шевченко
Артур Шевченко
Если на fenom то как-то так наверное
{set $cats = []}
{foreach $products as $product}
    {set $parent = $product.id | resource: 'parent'}
   {set $productsByCategory[$parent][] = $product}
{/foreach}
{foreach $productsByCategory as $parent => $products}
    {$parent | resource: 'pagetitle'}
    {foreach $products as $product}
       {$product | print}
    {/foreach}
{/foreach}
Дима Касаткин
Дима Касаткин
Вам бы, коллеги, скооперироваться чтобы список ботов (user agent-ов) общий использовать для botAim и SmartSessions)

Предлагаю, если нужно, захостить его там же, где статистика установки компонентов, в надёжной инфраструктуре одного из крупных ДЦ. Я поспособствую!

Или выпустить список в качестве отдельного пакета, который наследовать, чтобы обновлять средствами MODX.

С каждым годом всё больше и больше проблем от ботов. Ваши решения (Алексея и Андрея) очень помогают, и необходимость в них только растёт!
Наумов Алексей
Наумов Алексей
Перенесу и свой ответ тогда уж!:
пару месяцев назад я переписал это всё… сейчас по другому, в github код доступен. Можно даже PR сделать!
Интересная мысль насчет целесообразности создания сессий для ботов… в принципе может они и не нужны… как вариант можно добавить соответствующую настройку в компонент. В общем мысль сохранил.
Wassi Wassinen
Wassi Wassinen
<script>
document.addEventListener('fetchit:success', (e) => { // Добавляем listener на событие успешной обработки формы
    const { form } = e.detail; // Получаем форму

    switch (form.getAttribute('id')) {
        case 'form-1':
            // Обрабатываем только форму с id="form-1"
            // Тут код с отправкой целей
            break;
        case 'form-2':
            // Обрабатываем только форму с id="form-2"
            // Тут код с отправкой целей
            break;
    }
})
</script>

Я могу это так вставить на страницу с формами?
Баха Волков
Баха Волков
например так

document.addEventListener('fetchit:success', (e) => { // Добавляем listener на событие успешной обработки формы
    const { form } = e.detail; // Получаем форму

    switch (form.getAttribute('id')) {
        case 'form-1':
            // Обрабатываем только форму с id="form-1"
            // Тут код с отправкой целей
            break;
        case 'form-2':
            // Обрабатываем только форму с id="form-2"
            // Тут код с отправкой целей
            break;
    }
})
Андрей Степаненко
Андрей Степаненко
Перенос из modx.pro/components/24542#comment-142930

Проанализировал код

1. Во время удаления сессий выполняется N запросов, если быть точным то сколько прописано сигнатур user agent столь и будет выполнено запросов
2. Поле user_agent не индексное, то есть это будут медленные запросы



Еще хотел узнать, зачем для ботов создавать сессию?
И потом её удалять, целесообразность этого функционал не понимаю
особенно с учетом тяжести запросов в цикле
Наумов Алексей
Наумов Алексей
так если про smartSessions вопрос — то я пару месяцев назад переписал это всё… сейчас по другому, в github код доступен. Можно даже PR сделать! и да, если еще вопросы будут — давай переедем в соседнюю тему, чтобы Володю не дергать)
Андрей Степаненко
Андрей Степаненко
Проанализировал код

1. Во время удаления сессий выполняется N запросов, если быть точным то сколько прописано сигнатур user agent столь и будет выполнено запросов
2. Поле user_agent не индексное, то есть это будут медленные запросы



Еще хотел узнать, зачем для ботов создавать сессию?
И потом её удалять, целесообразность этого функционал не понимаю
особенно с учетом тяжести запросов в цикле
Андрей Степаненко
Андрей Степаненко
git submodule
прикольно)) Один раз читал про это, но руки не дошли чтобы использовать
Спасибо за решение)

Опять же это то о чем я и писал, один из вариантов работы, где требуется содержание сервера и развернутого modx

Безусловно я не коем образом не сравниваю, в том плане что твое решение хуже или лучше) думаю сам да же где то попробую аналогично использовать modx-build-environment-gui.
Артур Шевченко
Артур Шевченко
Самый простой вариант купить и установить компонент. Второй по простоте вариант, слать запрос на свой коннектор и получать всё что тебе нужно. А через action минишопа галерею ты не получишь, потому что там просто нет такого метода.
Владимир
Владимир
ну штатные компоненты их же делают. это не коннекторы, которые в админке, это публичные action-коннекторы. я просто повторил запросы, которые делал компонент Office :)
но вытаскивание картинок товаров там не предусмотрено.