Cyrax_02
С нами с 04 августа 2013; Место в рейтинге пользователей: #2502 часа назад
Отличное дополнение, спасибо!
Подскажите, как организовать файл если стоит msOptionsPrice2 привязан к опции size там может быть много позиций с разн...
[YandexMarket2] интеграция с msOptionsPrice2 1
Сегодня в 00:42
Еще снова вернулась проблемка, после выбора способа доставки почтой РФ — появляется стоимость доставки, но она «прилипает» и не исчезает после переклю...
Расчет стоимости доставки msRussianPost 11
Вчера в 21:57
Лучше деинсталировать и установить новую версию. Там полностью переписан JS.
ms_CDEK2 пропал? 5
Вчера в 20:33
Фильтрация как правило предполагает точное совпадения значений, а тебе нужен поиск.
mFilter2 фильтрация tv 1
Вчера в 19:55
Все исправилось, после замены на 'parents' => $_modx->resource.id
Помогите найти ошибку в шаблоне, теги 13
Вчера в 09:31
А кто подскажет, как в форму Создания/Редактирования ресурса, через ms2Form, добавить возможность выбирать несоклько параметров в одном TV?
Ну то-ест...
Создание ресурсов из фронтенда сайта, зарегистрированными пользователями. 4
Вчера в 08:53
если правильно понял то так
{set $rows = json_decode($_modx->resource.constructor_block, true)}
{foreach $r...
getImageList. Вывести вложенный migx на fenom 1
Вчера в 08:43
Подскажите, если на странице будет две формы, они будут работать? К примеру reCaptchaV3 этого сделать не может, нужно через костыль в виде скрипта, ко...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 5
20 ноября 2024, 16:25
В сниппете rcv3_html достаточно отложить загрузку через setTimeout (хотя кто-то делает через onClick). Не думаю что мой вариант самый правильный и что...
reCaptcha v3 - отложенная загрузка 1
19 ноября 2024, 10:51
Решил свою проблему через имя пользователя, но хотелось бы через права пользователя «Неограниченные права»
<?php
/**
* Системное событие OnMan...
Редактирование контекста в мультидоменном сайте 1
1. При пересоздании конечного минимизированного файла предыдущий файл не удаляется. Тем самым, папка будет быстро и бесконтрольно пухнуть.
2. Конечный минимизированный файл пересоздаётся только в том случае, если меняется хэш содержимого минимизированного файла. Т.е. если изменить содержимое некоторого комментария исходного файла, то минимизированный файл пересоздаваться не будет, хотя исходный файл изменён. Логично.
3. Если не очищать кэш modx, то конечный минимизированный файл в версии 1.3.0 пересоздаётся так же быстро, как и в версии 1.2.2.
4. Если в версии 1.3.0 очистить кэш modx, то minifyX отрабатывает очень долго (в 10 раз дольше), не зависимо от того, пересоздаётся конечный минимизированный файл или нет.
Возникает вопрос: что делает MinifyX 1.3.0 при очистке кэша modx ?
У меня формируется 2 минимизированных файла (их размер различается в 10 раз):
.css размером 20 Кб
.js размером 200 Кб
В версии 1.2.2 скорость формирования этих файлах такая:
.css — x
.js — 10х
В версии 1.3.0 скорость отработки minifyX без очистки кэша modx (не зависимо от того, пересоздаются минимизированные файлы или нет):
.css — x
.js — 10х
В версии 1.3.0 скорость отработки minifyX после очистки кэша modx (не зависимо от того, пересоздаются минимизированные файлы или нет):
.css — x
.js — 100х
Т.е. здесь обработка .js выполняется уже в 100 раз дольше .css, хотя размер его в 10 раз больше .css
Может, последняя версия munee при обработке .js-файлов выполняет ещё какую-то масштабную обработку? Причём эта дополнительная масштабная обработка выполняется только при очистке кэша modx. Если кэш modx не очищать, то даже при пересоздании минимизированных файлов MinifyX 1.3.0 отрабатывает быстро (как и 1.2.2).
Об этом можно судить только протестировав время для двух вариантов. Я протестировал. Время увеличилось в 4 раза. Уверен, что и у любого другого протестировавшего разница будет существенной.
а) более долгой обработки
б) связи с кэшем modx?
Не понятно, почему xpdo не учитывает тип TV-параметра, указанный в его свойствах. Следуя концепции TV-параметров, при формировании SQL нужно учитывать тип TV-параметра, указанный в его свойствах. Если указан числовой тип, то и операции сравнения должны быть числовыми (значение не должно заключаться в скобки). А то, что на уровне БД значения TV имеют строковый тип — это исключительно способ хранения данных, который выбрали разработчики modx.
Согласно концепции TV-параметров, эти параметры являются типизированными. Соотсветственно, и способ их обработки должен отвечать их типу. xpdo всё мешает в кучу.
то xpdo всё равно сформирует sql-запрос со строковым сравнением (заключит нуль в кавычки):
Это ответ на пример с ORDER BY CAST
но для условия where (TV.value < 0)
Нелогично получается с точки зрения modx: тип TV-поля указывать можно, все необходимые операции с такими TV-полями посредством xpdo можно выполнять (т.е. формируем почти любые запросы), а корректно сравнивать числовые TV (элементарная операция) посредством xpdo — нельзя. Серьёзная дыра в модели xpdo. Не иначе.
Не указал сразу — речь идёт о полях TV. При работе с TV xpdo всегода заключает значения в кавычки.
Да, значения TV-полей физически (на уровне БД) имеют строковый тип. Но xpdo не принимает во внимание тип этих полей, указанных в свойствах TV. Всегда рассматривает их как строки.
Можно даже и без использования HTML5 реализовать. Будет работать и на старых браузерах.
Впрочем, в идеале можно предусмотреть и комплексный вариант: в зависимости от платформы и версии браузера использовать либо HTML5-реализацию баннера, либо flash-реализацию…
Ну… ошибки обычно ищут в имеющемся функционале. А если у тебя нет проверки набора исходных файлов? Где ошибку-то искать? Здесь уже корректнее говорить не о поиске ошибок, а о доработке функционала.
Вот как у тебя формируется имя готового файла:
Здесь присутствует только время создания. А информации о наборе исходных файлов, которым соответствует этот минимизированный файл, нет. Напрашивается добавить ещё и хэш от набора полных имён исходных файлов.
Вот здесь выполняется поиск минимизированных файлов, имеющих в имени baseFilename, '_' и 10 цифр, тогда как такие минимизированные файлы могут соответствовать совсем другим наборам исходных файлов:
Причин много:
1. На разных страницах сайта подключают одинаковые наборы файлов. В этом случае озвученная проблема себя никак не проявит.
2. Указывают разные базовые имена на каждой странице портала. В этом случае озвученная проблема себя никак не проявит.
3. Те, кто сталкивается с проблемами в работе MinifyX, отказываются от этого сниппета, не разобравшись в причинах проблем. Например, Муравьев Артём. Не все же могут себе позволить «торчать» с каждым сниппетом по 3 недели.
4. Ещё не обратили внимания на проблему.
5. Скромничают.
6. Перешли на другую CMS.
Например, для одной страницы (шаблона) указываем один набор параметров. Загружаем страницу => MinifyX создаёт минимизированный файл.
Далее на другой странице вызываем MinifyX с другим набором исходных файлов, но с тем же cssFileName. Загружаем эту страницу. В итоге MinifyX ничего не создаёт и подключает уже существующий минимизированный файл (содержащий стили для предыдущей страницы). Со всеми вытекающими.
Для обхода проблемы приходится для каждого набора подключаемых файлов указывать разные cssFileName.