Всего 123 788 комментариев

Wassi Wassinen
15 апреля 2024, 16:42
0
Есть возможность полностью написать вызов скрипта с проверкой по ID формы?
Я пробую скомпоновать что-то из примеров выше и документации — не отправляет. :)
Наумов Алексей
15 апреля 2024, 16:20
0
Да, в свои js скрипты добавить данный код, внутри функции разместить код от яндекс.метрики. Ну а для отслеживания конкретной формы нужно выяснить, к примеру, её id, который должен присутствовать где-то в response. Я предпочитаю к форме добавлять data атрибут, наподобие:
<form data-goal="feedback">
Wassi Wassinen
15 апреля 2024, 16:16
0
Спасибо за ответ. Это скриптом на страницу добавлять?
Наумов Алексей
15 апреля 2024, 15:34
+1
Пожалуй отвечу:
добавить обработчик на событие «fetchit:success»
docs.modx.pro/components/fetchit/frontend/events

document.addEventListener('fetchit:success', (e) => {
    const { response } = e.detail;

    // Посмотреть данные response
    // console.log(response);
})
Wassi Wassinen
15 апреля 2024, 15:32
0
Особенно для тех случаев, когда на странице несколько форм. И для каждой формы своя уникальная цель.
Wassi Wassinen
15 апреля 2024, 15:08
0
Спасибо за компонент. :)
Подскажите, как наиболее правильно отправлять цель в Яндекс-Метрику при отправке формы?
Nikolay
15 апреля 2024, 12:20
0
Добрый день, на текущий момент плагин передает в лк ID товара вместо артикула товара. Как это возможно исправить?

Также не передается размер упаковки, который заполнен в товаре, а всем товарам присваивается размер 40х40х40 в лк cdek.
Нужна Ваша помощь по этим двум вопросам, спасибо.
Сергей Лим
15 апреля 2024, 11:30
0
Код выше уже устаревший и не сработает на новых версиях modx. Ниже рабочий код для 2.8.4

<?php
/**
 * Created by PhpStorm.
 * User: admin
 * Date: 25.06.2019
 * Time: 14:19
 */


require_once '/ТУТ ПУТЬ К ФАЙЛУ ПИШЕМ/public_html/config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error','error.modError', '', '');

$modx->getService('error', 'error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_FATAL);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');

$msg = "";

$table_prefix = $modx->config['table_prefix'];

//Ищем двойников
$find_query = $modx->query("SELECT group_concat(`id`) ids, count(id) c FROM `" . $table_prefix . "site_content` GROUP by concat(uri) HAVING c > 1");

$dubles = $find_query->fetchAll(PDO::FETCH_ASSOC);
//Если нашли
if (count($dubles)) {
    foreach ($dubles as $item) {
        //Разбивем ID
        $ids = explode(",", $item['ids']);
        //Сортируем - старые вверх
        sort($ids, SORT_NUMERIC);

        $count = 0;

        foreach ($ids as $doc_id) {
            $count++;
            //ПРопускаем оригинал
            if ($count > 1) {

                //Обновляем ресурс
                $originalRes = $modx->getObject('modResource', $doc_id);
                $generated = $originalRes->cleanAlias($originalRes->get('pagetitle')) . "-" . $count;
                $originalRes->set('alias', $generated);
                $originalRes->save();
                //В лог
                $msg .= $originalRes->get('id') . " | " . $originalRes->get('pagetitle') . " - обновлен.\n";
            }

        }
        //Сброрс кеша
        $modx->cacheManager->refresh();
    }

} else {
    $msg .= "Дублей нет\n";
}

echo "<pre>" . $msg;
Евгений Куценко
15 апреля 2024, 11:06
0
Понимаю, поэтому буду подпиливать потихоньку хотелки.
Пишу, чтобы если кто столкнется, знал как решить.
Дима Касаткин
15 апреля 2024, 10:45
0
Без данных, что я запросил выше, не могу повторить твой кейс, а хочется же разобраться.

То что ты руками указал, и сработало, это вроде как хорошо, но решить системно было бы ещё лучше!

В свежей версии MODX были правки в указанной части дефолтного конфига, и хотелось бы понять, есть ли недочёт в новой версии, или просто у тебя сайт со времён HTTP не был перенастроен на HTTPS и действуют какие то старые настройки. В любом случае я хотел бы подтвердить, что именно обновление приводит к смене протокола в url, а не что-то другое.

Я уже несколько десятков сайтов обновил и нигде такое не всплыло, вот в чем дело. Но ещё больше предстоит обновить и лучше бы я знал, если проблема и правда есть ;-)

Кстати, добавлю к списку вопросов выше ещё:
— не установлен ли у тебя тег в вёрстке? Если да, в каком значении?
Николай Савин
15 апреля 2024, 10:26
0
Ты же понимаешь что компоненту аж 7 лет? Последнее обновление выпустили 6 лет назад.
Диман
15 апреля 2024, 08:33
0
Возможно, только раньше и без правок обновлялось все корректно
vrm13
15 апреля 2024, 08:18
0
Скорее всего нужно поправить строчку в core/config/config.inc.php
там должно быть:
if (!defined('MODX_URL_SCHEME')) { $url_scheme= 'https://'; define('MODX_URL_SCHEME', $url_scheme); }
Всегда переписываю после обновления, это от хостинга зависит если не ошибаюсь, у меня, например, sweb и там это нужно делать.
Диман
15 апреля 2024, 04:02
0
Никогда не вносил изменения в настройках, протокол https вставал автоматом до последнего обновления четко, проблем не было, пришлось в настройках контекста, руками добавить site_url и указать полный адрес
Дима Касаткин
14 апреля 2024, 20:24
+1
Привет! У меня нет возможности проверить по http (без https) но вот сейчас проверил на паре сайтов из тех, что обновил — всё выводится как надо, значение настройки содержит https:// в начале.
Чтобы помочь тебе, дай больше инфы:
1. Проверь в системных настройках и в настройках контекста, может у тебя руками указано значение где-то?
2. По какому протоколу открываешь сайт, когда настройка выдаёт неверное значение? Например по https. А если по http открыть (без редиректа на https) — как себя поведет настройка?
3. Какой протокол указан в настройке [[++server_protocol]]?
Диман
14 апреля 2024, 18:21
0
После обновления на двух сайтах, эта переменная [[!++site_url]], выдает http вместо https, до этого, проблем с обновлениями не было
Наумов Алексей
14 апреля 2024, 00:04
+2
Как бы я поступил:

создал компонент (на базе modExtra), чтобы быстро, где будет по сути 1 объект Услуга (header, alias, description, seo_title/seo_description, а также полем parent_id для вложенности).
Свой интерфейс для управления ими будет поудобнее, чем MIGX. Чуть подумать, чтобы интерфейс выглядел симпатично и понятно (больше всего вопросов по отображению услуга/подуслуга).

Да, можно конечно поставить fastRoute или VirtualPages, но т.к. уровень вложенности не большой, то в целом все решается не самым сложным плагином на OnPageNotFound.
Чуть сложнее, если нужно ряд услуг скрыть для определенных моделей авто…

Кстати, VirtualPages у меня трудится на одном проекте уже много лет стабильно:)
Евгений Куценко
13 апреля 2024, 22:01
0
Кстати, удвоение количества товара при обновлении страницы тоже в версии с modstore.pro никуда не ушло.
Кто-то знает, в версии с Гитхаб есть удвоение?
Евгений Куценко
13 апреля 2024, 21:46
0
Снипер [[!getShareCart?]] не работал (выводил массив), так как указан неправильный чанк.

Было:
$tpl = $modx->getOption('tpl', $scriptProperties, 'getShareCart');
Надо:
$tpl = $modx->getOption('tpl', $scriptProperties, 'tpl.getShareCart');
Установил версию из магазина, но вроде и в коде на гитхабе тоже ошибка. только там надо добавить chunk.