
+4
Возможность заменить стандартные JS и CSS
Вделайте возможность переопределять файлы JS скриптов и CSS.
Например складывать свои файлы в папку _js и, если system_js.php встречает в этой папке имя системного файла, грузился бы не стандартный, а тот который в папке _js.
Аналогично для CSS.
Просто порой приходится писать свои скрипты, дублирующие частично или полностью работу системных, но с некоторыми отличиями и особенностями.
В текущей реализации, грузятся тонна лишних скриптов, которые на сайте не используются, что не очень хорошо.
Customer support service by UserEcho
Рамиль, приведите примеры когда приходится переопределять скрипты в таких значительных объемах.
Например, был проект, где я полностью переписывал слайдеры картинок и товаров, переписывал увеличение картинок.
На текущем проекте переписываю немного логику работы с корзиной.
Я не говорю, что это нужно всегда, но бывают такие задачи.
Вот например кусок кода, кнопка "в корзину":
<button type="button" title="%%addtocart%%" class="button btn-cart ajx-cart" data-qty="1" data-url="##script_link##?itemId=##itemid##&url=##url##&eshop_special=1&action=add"><span><span>%%addtocart%%</span></span></button>
Естественно, для нее нужно переписывать скрипт добавления в корзину. Помимо того, что нужно переписать обработчик клика в кнопку, в дизайне предусмотрена несколько фишек при добавлении, из-за которых тоже приходится менять код.
Да и реализация данной опции простейшая, с точки зрения программирования (минут 10 - час максимум). Поэтому, по моему, лучше чтобы она была.
С точки зрения ее полезности и трудозатрат на реализацию, я считаю, что ее нужно сделать.
То о чем Вы говорите - это малая часть системных скриптов, реализовывать опцию ради изменения 5% , ну 10% кода вряд ли имеет смысл, т.к. увеличение объема крайне незначительно.
Переопределение кода сейчас - достаточно простая процедура, в пользовательском JavaScript файле common.js можно переопределить как весь объект так и только некоторые его методы.
Хочу вновь поднять данную идею. На мой взгляд вопрос актуален с точки зрения скорости отображения страницы - системные JS, например, подключаются в head и блокируют загрузку страницы, а размер у них вполне ощутимый.
При этом может быть переопределена или не использоваться достаточно существенная часть скриптов.
На реальном примере проекта в данный момент - подвиды, фильтр, медиабокс, скроллер, слайдер, тултип, все или почти все ami.ui. - и все это достаточно объемные скрипты, кроме которых еще ряд файлов могут быть заменены. В сумме это получается около половины всего объема JS, а не 5-10%.
Имея подобный механизм, можно заменять фалы пустыми в своей папке (или как-то по-другому исключать их) и заметно сократить размер результирующего файла. При этом аналогичный функционал может добавляться скриптами, подключаемыми внизу страницы и не блокирующими ее загрузку.
Дополнительно было бы очень удобно иметь возможность добавлять и свои фалы в общую сборку при необходимости.
Так же очень хотелось бы иметь возможность сжатия (минификации) JS при сборке.
Учитывая, что сейчас эти файлы собираются один раз и кешируются, все это не повлияет на производительность и скорость формирования страницы.
Для CSS было бы актуально скорее не заменять системные файлы, а добавлять свои в сборку и в них переносить стили, что позволит, например, распределять их по модулям и/или даже блокам и добавит удобства разработке.