Александр Мельник

Александр Мельник

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

Дубли страниц с заглавными буквами в url

Добрый вечер.
Я понял, что вопросы не касающиеся напрямую MODX задавать не стоит )
Кэширование данных в браузере — включить
исправляюсь.
Сегодня SEO специалисты написали мне что на всех проектах на MODX все страницы дублируются, если задать их url заглавными буквами или еще того хуже — любой комбинацией заглавных и прописных букв.
И да, это так.
modx.pro/BLOGS
Такое же наблюдается и на wordpress и на joomla но вернемся к modx.

Кто-то решал подобную задачу?
Или подскажите пожалуйста, какой класс занимается обработкой url, я попробую либо делать редирект на принудительно переведенный в нижний регистр либо отдавать 404.
Спасибо.
Александр Мельник
23 мая 2019, 20:35
134
0

Кэширование данных в браузере - включить

Вопрос не связан напрямую с MODX но как я с удовольствием и радостью недавно заметил, что раздел вопросы на этом сайте имеет вот такое описание «Здесь можно задавать различные вопросы про MODX, хостинги, базы данных, программирование и вообще -ЧТО УГОДНО. „

Поэтому с чистым сердцем задаю вопрос.
Кто как решает вопрос с кэшированием данных которые отдает сервер в браузере. Многие сервисы аналитики рекомендуют отправлять картинки, скрипты, стили в кэш браузера.
Для начала открываю инструменты разработчика браузера и смотрю, что при загрузки страницы многие элементы и так грузятся из кэша. Однако смотрю какие заголовки отправляет сервер и там указано — кешироавние не включено. И тоже самое говорит google page speed, мол все файлы изображений, скрипты и так далее грузятся без кэширования в браузере.

Ок, я начинаю с самого простого, как и советует google page speed — с передачи сервером заголовка о включении кэшироавния.
Александр Мельник
16 мая 2019, 11:26
48
0

ACE, completions.php и вредоносный код

На днях я обнаружил на двух своих проектах вредоносный файл с php кодом, который был загружен в assets.
Посмотрел дату и время когда это произошло и в журнале сайта в админке отследил действия за это время.
Я обнаружил одну крайне занимательную запись в журнале.
Буквально за 5 минут до того, как вредоносный файл был размещен в директории assets кто-то правил файл компонента ACE
Конкретно вот этот файл.
assets/components/ace/completions.php
Это произошло на обоих сайтах и буквально через 5 минут на обоих сайтах возник файл с вирусом.
Но что самое интересное, визуально я не вижу, чтобы в файле assets/components/ace/completions.php что-то изменилось.
И да, я понимаю, что вы вполне логично скажете, что если у злоумышленника был доступ в админку, то он легко мог разместить вредоносный код через нее и будете правы.
Однако, очень странно, что этот нехороший человек на обоих сайтах зачем-то правил файл
assets/components/ace/completions.php

Будут какие-то идеи?
Спасибо.
Александр Мельник
15 мая 2019, 15:15
91
0

Создание нового товара = равно ошибка Incorrect decimal value: '' for column 'price' at row 1

Господа, подскажите.
Создаю товар, ввожу pagetitle сохраняю.
Внешне все ок, но в журнале ошибка —
core/xpdo/om/xpdoobject.class.php : 1452) Error HY000 executing statement:
INSERT INTO `ld4967_ms2_products` (`id`, `article`, `price`, `old_price`, `weight`, `vendor`, `made_in`, `new`, `popular`, `favorite`, `source`) VALUES (246, '', '', '', '', 0, '', 0, 0, 0, 2)
Array
(
    [0] => HY000
    [1] => 1366
    [2] => Incorrect decimal value: '' for column 'price' at row 1
)
Мол нехорошо сохранять с пустой ценой, значение пустое а ожидается дробное
С каких пор?
Но самое интересное, что если я введу цену, то получу уж совсем дурацкую ошибку
Александр Мельник
24 апреля 2019, 18:50
50
0

minishop2 игнорирует системную настройку выбора источника файлов

Вынужден в очередной раз попросить о помощи в этом вопросе, поскольку не могу найти решения.
minishop 2.4.18-pl
modx 2.7.1

Независимо от того, какой источник файлов выбран в системных настройках minishop, при создании товара в галерее всегда стоит по умолчанию — Filesystem а не MS2 Images

Я подумал, что логично было бы, если бы плагин следил за классом создаваемого ресурса и ему назначал ему тип файловой системы, но ничего подобного в плагине minishop не вижу.

Как заставить галерею использовать MS2 images?
Спасибо.
Александр Мельник
24 апреля 2019, 11:37
72
0

Как в плагине понять, открывается на редактирование или создается ресурс?

Для категорий и товаров minishop2 нужно назначать разные шаблоны, в зависимости от родителя.
Создаю плагин на событие OnBeforeDocFormSave
if ($grannyId==3 and $resource->get('class_key')=='msProduct'){
        $resource->set('template', 5);
        
        return true;
    }
И все бы работало хорошо, но этот плагин назначает шаблон и сохраняет (насколько я понимаю ресурс).
И в этот момент в журнал ошибок modx падает ошибка, что мол нельзя сохранять товар без цены.
Александр Мельник
23 апреля 2019, 17:11
57
0

процессоры и пользователи

На одной странице сайта у меня находится мой сниппет, внутри которого идет обращение к процессору
$response = $modx->runProcessor('resource/create', $data2);
Это страница доступна для посетителей.
До этого я пользовался для создания ресурсов методом
$modx->newObject
но недавно узнал о методе с использованием процессора.
Столкнулся с тем, что с компьютера нужные мне ресурсы создавались чудесно, а затем зашел с телефона — и ничего не создается. Минут 20 тупил, пока не понял что дело в правах. На компьютере я залогинен, а на мобильном — гость.

Ну и собственно вопрос — как правильно поступать, чтобы даже гость мог создать ресурс?
1) Каким то образом дать гостю права на обращение к процессору?
2) Создавать ресурс при помощи
$modx->newObject
и не выделываться?
3) Ваш вариант.
Александр Мельник
17 апреля 2019, 21:11
85
0

Скорость работы админки в 2.7.1

Не пойму, толи 2.7.1 такая неудачная версия modx
то ли просто черная полоса с проектом этим
то ли моя криворукость со временем только прогрессирует, вместо регресса.
— назначение шаблонов создаваемым ресурсам при помощи настройки форм работает не так как ранее и я бы сказала не логично. Описывал тут. modx.pro/help/18003
— упрямо игнорируется системная настройка minishop которая отвечает за выбор по умолчанию источника файлов.
Описывал тут modx.pro/help/18020
— так плюс еще и админка работает чрезвычайно медленно. Нажимаешь сохранить что-то и проходит 3 секунды пока вообще начинаются действия, затем еще 3 секунды как в slowmore наблюдаешь как открывается дерево ресурсов. Хотя у меня всего еще 36 ресурсов создано. Попробовал на локальном сервере, на выделенном сервере, на обычном хостинге — везде примерно одинаково.

У всех такая прелесть или это я грешил много?
Александр Мельник
12 апреля 2019, 11:54
261
+1

Источник файлов галереи minishop

Использую
— modx 2.7.1
— minishop 2.4.18-pl

В системных настройках минишоп указан источник файлов — ms2_product_source_default — MS2 Images
Однако при создании нового товара, сохранения его и перехода в галерею вижу, что стоит источник — FileSystem

Глюк? Кривые руки? Третий вариант? )
Александр Мельник
11 апреля 2019, 13:44
102
0

Назначение шаблонов, настройка форм, коллекции в 2.7.1

Столкнулся с тем, что ранее работающие приемы автоматического назначение шаблонов ресурсам перестали работать.
Не знаю, связано ли это с изменениями в последней версии 2.7.1 или с другими причинами.

Есть ресурс (id1) внутри которого два ресурса коллекции (id2 id3)
Для того, чтобы при создании новых коллекций внутри id1 автоматически назначался необходимый шаблон (назовем его List), я настраиваю формы по принципу — если parent = 1 назначь детям шаблон List.
И это работает.
В настройках коллекции указываю, что назначай всем детям шаблон, назовем его Detail.
И вот это уже не срабатывает. Игнорируя настройки коллекции всем «детям» назначается шаблон List. То есть отрабатывает правило из настройки форм, хотя по сути, новый создаваемый ребенок уже не должен подходить под правило parent=1 поскольку для него parent уже равен 2 или 3. Но тем не менее срабатывает именно правило из настройки форм, в чем легко можно убедиться, просто удалив его и тогда шаблон начинает назначаться так как описано в настройках коллекции.
Александр Мельник
10 апреля 2019, 10:00
69
0