Читал в блогах статью: https://user.diafan.ru/blogs/show20/
Отлично, значит не зря их делали и статьи пишем.
В DIAFAN.CMS есть всё для полноценного продвижения и оптимизации сайтов: гибкая настройка ЧПУ
Это цитата из статьи SEONews от 2015 года. Тогда им ЧПУ показались гибкими.
Я учёл этот момент и дооформил контент, Теперь цитаты и код выделены однозначно. В остальном. ЧПУ - это адрес, понятный человеку. По-умолчанию (если ЧПУ отключить), то будет выводиться просто ID страницы в адресе:
/shop/20/
или типа того. И чтобы было понятнее, он заменяется конвертацией в понятный URL. Я использовал системы, в которых он просто формировался из преобразования заголовка или title. И всё. Вот это негибкий URL. А когда у тебя есть возможность редактировать таблицу преобразования, выбирать 3 варианта формирования ЧПУ и вообще менять адрес на свой, то этот набор качеств всё-таки претендует на гибкость. Всё остальное познаётся в сравнении. То, что вы описали - вообще высший пилотаж. Пределу совершенства нет, однако, всё же тут вопрос не в том - гибкий ли он, а в том, насколько он гибкий.
Можно сделать вывод, что недостаточно гибкий и тут я соглашусь.
Т.к. по умолчанию в последней версии у меня не собираются .js файлы в один.
Зависит от реализации. После того, как внедрили разделение JS и CSS по модулям, отпала почти полностью необходимость использовать общие JS. Тут всё зависит от реализации.
Сегодня большинство JS-скриптов разноситься по js-папкам модулей, а библиотеки грузятся с CDN. Возьмём, например, superfish.js - скрипт, обеспечивающий в дефолтном шаблоне плавное функционирование меню. По-моему, больше нигде не используется. Его можно в модуль меню перенести и всё.
Все файлы модулей как раз-таки собираются в один общий файл. А то, что сейчас не собирается и грузится из корня - атавизм, который надо будет частично выпилить, а частично вынести в отдельный не системный файл, данные которого можно без проблем переносить в кастом или вовсе удалять.
Но если прям придираться, то да, аналога,
<insert name="show_css" files="default.css, style.css">
объединяющего все указанные в нём файлы в один, нет, а
File::compress() в
show_js применяется не ко всему.
Это без проблем можно реализовать и сейчас, ведь сам инструмент уже есть. Однако, для этого надо кастомизировать
show_js, что не желательно. Мы чуть позже оптимизируем и этот момент, чтобы не было нужды трогать системные файлы вовсе.