Я успешно удалил файлы JS и CSS вручную из заголовка HTML шаблона Joomla, используя обычный метод, описанный ниже.
unset($this->_scripts['/media/jui/js/bootstrap.min.js']);
unset($this->_stylesheets['/media/jui/js/bootstrap.min.css']);
Мой вопрос заключается в следующем. Можно ли сохранить информацию о файле и пути в переменной, а затем использовать переменную вместо пути/файла в приведенных выше примерах? И если да, то что может быть хорошим способом сделать это?
Причина? Я хочу дать пользователям моего шаблона возможность вводить несколько файлов/путей, разделенных запятой, в параметры шаблона, сохранять эти различные файлы/пути в массив, а затем перебирать этот массив (сбрасывать/удалять каждый из HTML-заголовка шаблона).
Цель? Иногда нужно удалить js из заголовка html и в нижней части страницы, чтобы уменьшить время загрузки страницы, мерцание перехода страницы/белое мигание и т. д. В этом случае я не хочу использовать плагин. Я бы предпочел просто дать своим пользователям более точный контроль, если это возможно, встроенный в шаблон. Конечно, у меня будет место в параметрах шаблона, чтобы пользователь мог добавить любые js, которые они удаляют из заголовка, в конец.
Код, который я использую?
// grab the js file paths user enters into template parameters and add them to an array i can loop through
$unsetJSFiles = $this->params->get( 'customFilesUnsetJS' );
$unsetJSFilesArray = explode(',', $unsetJSFiles);
// loop through each js file path user entered and unset each one from joomla html head
foreach ($unsetJSFilesArray as $valueJS) {
$doc = JFactory::getDocument();
unset($doc->_scripts[$valueJS]);
}
Кажется, это не работает. Я успешно проверил, что значения выводят то, что я ищу, через print_r, эхо и т. Д. Но цикл не работает. Это первый реальный вопрос, который я задал в stackoverflow. Перерыл кучу тем и гуглил, но на эту не нашел ответа. Большое спасибо за любой совет!