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

Володя
19 декабря 2023, 20:21
0
Добрый вечер. Пишите в тп посмотрим в чем дело.
Но более 5 магазинов после обновления и с модификациями чувствуют себя нормально. Так что вероятно какая то локальная пенка связанная с опциями модификаций.
Ivan Ramaniovich
19 декабря 2023, 19:59
0
Добрый вечер. Обновил модуль для работы с api v1.2 Мой Склад. Но возникла проблема с дублями модификаций для товара. Кто сталкивался и может подсказать как решить?
Максим
19 декабря 2023, 17:20
0
Может быть в .htaccess как-то прописать запрет на изменение (удаление) файла?
Дмитрий
19 декабря 2023, 16:52
0
если пару сайтов — то да, а если более 20, то это уже проблематично…
Евгений
19 декабря 2023, 16:41
0
Что-то я так понимаю, кроме меня никто офисом не пользуется))) Подумываю с него и я мигрировать на другой компонент.
alex87.ru
19 декабря 2023, 11:15
0
Не поверите, почти 2024 и все еще актуально и будет актуально еще как минимум пару лет)))
Максим
19 декабря 2023, 07:32
0
Да, но самый логичный как мне кажется. Тема вроде не так часто меняется, можно и вручную обновлять иногда оставшиеся файлы.
Максим
19 декабря 2023, 07:28
0
Потому и говорю, что на их стороне полюбому проблема. Сталкивался с прошлой версией, тоже голову сломал себе, в итоге заказчика просто отказался от него))
Баха Волков
19 декабря 2023, 07:27
0
Подскажите пожалуйста, почему не работает перевод в письме с латиницы, вроде как за это отвечает &fieldNames=`name==Имя,phone==Контактный телефон,pageId==ID страницы`
Но мне по прежнему приходят письма без переводов.
Параметр fieldNames отвечает за вывод названий полей в админке на странице просмотра сохраненных форм, при использовании хука FormitSaveForm

За формирование письма отвечаете вы. Создайте и укажите нужный вам чанк письма в параметре emailTpl и реализуйте логику переводов там. Кстати, это не я так решил, а разработчик FormIt и если вдруг покажется, что это не логично, то вопросы к ним.

И как добавить свои данные например отправлять название страницы или url адрес.
Либо используйте хуки FormIt, либо скрытые поля в форме. Первый вариант лучше.

Можно ли как то использовать одну форму но передавать в ней разные тем? Например есть на страницы 3 услуги, что бы не платить форму, было бы удобно передавать в теме её название. Заранее спасибо!
Можно, при вызове сниппета укажите разные значения параметра emailSubject или если у вас одна форма, то используйте связку js, скрытого поля subject и параметра emailUseFieldForSubject
Артур Шевченко
18 декабря 2023, 22:19
0
Можно использовать связку Очереди + Scheduler. По крону читать очередь и, если выполнить задачу не удалось, возвращать её в очередь.
Lori
18 декабря 2023, 17:32
0
Спасибо большое! Странно, что на вашу статью не нарвался с гугла
Сергей Шлоков
18 декабря 2023, 17:21
2
+4
Можно так.
Сергей Шлоков
18 декабря 2023, 17:16
+1
Для этого используют брокеры сообщений. Kafka, RabbitMQ и т.п.
Prihod
18 декабря 2023, 16:23
0
Кодировка таблиц в базе данных какая?
Сергей Карпович
18 декабря 2023, 14:30
0
Подскажите, с чем может быть проблема, в консоль сыпятся ошибки:

18.12.2023	11:56:58	ERROR	/home/a0652399/domains/robotekhniks.ru/public_html/core/cache/includes/elements/modsnippet/73.include.cache.php	30
Data Google API ERRORS:
апи ключи 100% указаны верно, в консоли гугла, есть статистика по сработкам.

И пропускает спам
Oleg
18 декабря 2023, 13:16
0
@Prihod
Подскажите, в чем может быть проблема. Вывожу в шаблон Содержимое, вся кодировка страниц меняется в это:

Вывод из алкогольного запоя: анонимно

Клиника «ÐœÐµÐ´ Клиник» оказывает неотложную помощь больным алкоголизмом, предлагая услуги по выводу из запоя в условиях стационара или на дому.

В шаблон вставляют так:
[[!TableOfContents]]
[[*content]]
Наумов Алексей
18 декабря 2023, 12:35
+1
На самом деле действительно, для разработки более-менее серьезных решений, подобный подход с отложенным выполнением заданий, занимающих длительное время — must have.
Правда 99% сайтов все равно это не используют (вообще ни на одном не своем сайте ни разу не видел Scheduler, а сам применял единожны)… разработчики не хотят для простых визиток или несложных магазинов усложнять себе работу…

Вижу еще 1 плюс в таком подходе, правда не знаю, сработает ли он с Scheduler… допустим при отправке данных в CRM та была временно недоступна. В этом случае с планировщиком заданий задачу можно перенести на некоторое время вперед и повторить отправку данных позже еще раз. Если же данные в CMR отправлять в момент создания заказа — естественно так уже не сделать.
Артур Шевченко
18 декабря 2023, 11:13
0
Я после вашего комментария тоже посмотрел, они виджет обновили. Так что надо обновление компонента выпускать, что-то работать перестал.
vectorserver
18 декабря 2023, 07:57
0
дело может быть еще в плагине MinifyX, он отрубает www.google.com/recaptcha/api.js?onload=ReCaptchaCallbackV3
Временно сделал так в сниппете rcv3_html
<?php
$public = $modx->getOption('formit.recaptcha_public_key');
$action = $action ?: 'ajaxform';
$js = "";
if (!$modx->getPlaceholder('rcv3_initialized')) {
    $js.='<script src="https://www.google.com/recaptcha/api.js?onload=ReCaptchaCallbackV3&render=' . $public . '" async></script>';
    $js.='
        <script>
            var ReCaptchaCallbackV3 = function() {
                grecaptcha.ready(function() {
                    grecaptcha.reset = grecaptchaExecute;
                    grecaptcha.reset();
                });
            };
            function grecaptchaExecute() {
                grecaptcha.execute("' . $public . '", { action: "' . $action . '" }).then(function(token) {
                    var fieldsToken = document.querySelectorAll("[name =\'g-recaptcha-response\']");
                    Array.prototype.forEach.call(fieldsToken, function(el, i){
                        el.value = token;
                    });
                });
            };
            // обновляем капчу каждую минуту
            setInterval(function() {
                grecaptcha.reset();
            }, 60000);
        </script>
    ';
    $modx->setPlaceholder('rcv3_initialized', 1);
}

$output = '
    <span class="error_g-recaptcha-response error">' . $error . '</span>
    <input type="hidden" name="g-recaptcha-response">
';

return $js.$output;