Наумов Алексей

Наумов Алексей

С нами с 31 марта 2013; Место в рейтинге пользователей: #13
Наумов Алексей
09 февраля 2022, 16:32
0
$address.extfld_type какое значение имеет?

Может проблема в неверном использовании in? Там есть in list еще, это разные вещи: оператор in
Наумов Алексей
07 февраля 2022, 09:45
0
Добрый день. А есть какие-то проблемы совместимости? Вроде бы не встречал ранее… ошибки в консоли?
Наумов Алексей
03 февраля 2022, 14:11
+1
Да, если это так — правда неоднозначная ситуация.
Стоит изучить логи сервера (nginx к примеру, имею ввиду), посмотреть, есть ли там такие «двойные» запросы. Возможно, стоит фильтровать по UserAgent, если это почтовый сервер (робот) — не активировать пользователя.

Ну а еще вариант — пусть ссылка ведет на страницу с формой и кнопочкой, которую робот нажимать не будет, а пользователь будет, и только при отправке формы (через post) активировать пользователя.
Наумов Алексей
28 января 2022, 10:33
0
пока необходимости я не встречал и не понимаю, зачем это нужно
Наумов Алексей
21 января 2022, 15:46
1
+3
Например:
— ставим fancybox свежий (2.1.3 у меня)
— делаем обычную ссылку на страницу, но добавляем ей класс js-popup-content
<a href="/policy" class="js-popup-content">Политика</a>
— добавляем такой js код на сайт (используем jQuery )
$('.js-popup-content').fancybox({
        closeClick: false,
        type: 'ajax',
        helpers: {
            title   : null,
            overlay : {
                locked : false
            }
        },
        afterLoad   : function() {
            this.content = $("<div>").html(this.content).find(".page-content")[0].outerHTML;
        },
        autoSize: false
    });
из примечательного — в обработчике afterLoad мы вырезаем из загруженной страницы только текст, используя селектор .page-content в моем случае. У вас это может быть другой какой-нибудь, суть в том, чтобы этот селектор содержал в себе только текст с целевой страницы, без header и footer.
Наумов Алексей
21 января 2022, 14:44
0
Да, верно… ну можно чуть поправить попробовать, чтобы и так и так работало)
Наумов Алексей
14 января 2022, 10:24
+2
Мне часто приходится делать подобную работу, когда достается старый сайт, обычно почти всегда при его обновлении я перехожу на Fenom. Так что с меня плюсик)
Наумов Алексей
29 декабря 2021, 13:30
0
Вероятно хостинг ловит 404 код ответа сайта и выводит свою страницу.
Наумов Алексей
23 декабря 2021, 14:26
-1
Кроме MinifyX есть еще ModxMinify, решает туже задачу: склеивание и минификация скриптов.

css первых экранов записывать в inline пока не пробовал)

webp да, хорошая штука, но нужно постоянно об этом думать…

Обычно все это делается уже на этапе развития сайта, его рекламы и продвижения. На этапе разработки, как правило, это никому не нужно и никто за это не платит.
Наумов Алексей
15 декабря 2021, 16:26
0
Возможно оптимальнее будет «средний» вариант:
Сравниваем изменения между картинками в выгрузке и у товара, если изменений нет — пропускаем, а если есть изменения — проще удалить все картинки и загрузить заново, чем пытаться а)удалить удаленные б) добавить новые в) изменить порядок файлов.
Наумов Алексей
10 декабря 2021, 12:31
0
Подозреваю что стоит попробовать уйти от @INLINE к обычному чанку.
Наумов Алексей
09 декабря 2021, 15:04
+4
Что-то не так…
При очистке кеша вижу в консоли:
Консоль запущена…
PHP notice: Undefined property: MODX\Revolution\modX::$service
и все…

Ошибка в плагине pdoTools (id = 1):

PHP notice: Undefined property: MODX\Revolution\modX::$service


Fatal error:  Uncaught Error: Call to a member function get() on null in /var/www/modx3beta2/www/core/cache/includes/elements/modx/revolution/modplugin/1.include.cache.php:7
Stack trace:
#0 /var/www/modx3beta2/www/core/src/Revolution/modScript.php(88): include()
#1 /var/www/modx3beta2/www/core/src/Revolution/modX.php(1706): MODX\Revolution\modScript->process()
#2 /var/www/modx3beta2/www/core/src/Revolution/Processors/System/ClearCache.php(48): MODX\Revolution\modX->invokeEvent()
#3 /var/www/modx3beta2/www/core/src/Revolution/Processors/Processor.php(189): MODX\Revolution\Processors\System\ClearCache->process()
#4 /var/www/modx3beta2/www/core/src/Revolution/modX.php(1771): MODX\Revolution\Processors\Processor->run()
#5 /var/www/modx3beta2/www/_easyComm/_build/build.transport.php(394): MODX\Revolution\modX->runProcessor()
#6 {main}
  thrown in /var/www/modx3beta2/www/core/cache/includes/elements/modx/revolution/modplugin/1.include.cache.php on line 7
Наумов Алексей
09 декабря 2021, 14:35
+2
Отличная работа!
Поставил для теста, вроде работает)))
Наумов Алексей
07 декабря 2021, 10:13
+1
В целом правильно… только вот вопрос, FormIt2db хранит данные не в json формате случайно? Поиск вы потом как будете по таблице делать?
Вместо скрытых полей — можно prehook сделать и добавлять к данным информацию о пользователе, текущем времени.
Наумов Алексей
30 ноября 2021, 18:23
+1
Есть в miniShop2 скрипт для импорта из csv

Он же умеет создавать ресурсы как при запуске из браузера, так и в режиме запуска из командной строки.
Наумов Алексей
30 ноября 2021, 09:56
+1
Или создавать документы через API, в целом это нормальный вариант, главное создать правильно (заполнить все поля имею ввиду) и проследить, чтобы были обработаны ситуации, если у вас плагины есть на события создания/редактирования документов. Ну и кеш там почистить потом.
Или же в скрипте залогиниться в админку под пользователем-админом (менеджером), что как бы не особо безопасно…
Или же настроить права так, чтобы аноним мог создать страницу, что тоже не гуд.
Наумов Алексей
08 ноября 2021, 09:47
0
Самое простое сделать запрос в БД, примерно (! без проверки пишу) так:
$q = $modx->newQuery('ecMessage');
$q->where(array(
'thread' => 123, // id цепочки сообщения
'published' => 1,
'deleted' => 0,
'rating:>'  => 3,
));
$count = $modx->getCount('ecMessage', $q);
Наумов Алексей
08 ноября 2021, 09:45
0
Добрый день, штатно нет.
Можно попробовать какой-нибудь плагин сделать на событие создания сообщения, но не уверен, что все получится 100% без вмешательство в ядро компонента