Если мне нужно включить файлы CSS или JS в свои пользовательские расширения, каков будет лучший и безопасный способ добиться этого:
- Должен ли я поместить их в определенную папку в моем zip-файле расширения?
- Как мне объявить файлы в моем XML-манифесте?
- Как включить файлы в заголовок Joomla (только при необходимости)?
development
extensions
xml
Bogowoe
источник
источник
JHtml::stylesheet("mod_EXAMPLE/style.css", array(), true)
можете загрузитьmedia/mod_EXAMPLE/css/style.css
(отметить дополнительнуюcss/
часть) иJHtml::script("mod_EXAMPLE/script.js", false, true)
загрузитьmedia/mod_EXAMPLE/js/script.js
(обратите внимание на дополнительнуюjs/
часть).Я предполагаю, что ваше расширение является компонентом. Лучший способ - создать
media
каталог рядомadmin
сsite
каталогами. Затем положитьjs
,css
иimg
файлы внутри отдельных каталогов , как это:Обратите внимание, что в любой папке должен быть пустой
index.html
файл.В своем XML-манифесте (YOUR_COMPONENT_NAME.xml) вы можете объявить
media
файл следующим образом:Отредактируйте представление по умолчанию (default.php) и добавьте эти строки, чтобы включить файлы в Joomla! глава:
источник
JHtml
следует использовать для импорта CSS и JS - файлов , а неaddStyleSheet
иaddScript
: docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_pageJHtml::script()
иJHtml::stylesheet()
изменены: docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2JHtml offers much more flexibility than JDocument, whilst using the same base functionality - indeed at the end of the day JHtml will call JFactory::getDocument()->addStyleSheet() or JFactory::getDocument()->addScript().
If you wish to just include a straight file path, in a template for example, then you are better using JDocument. However if you wish to take into account whether debug is enabled to include a compressed script or take advantage of template overridable scripts and stylesheets then using JHtml is generally better. It is recommended all 3rd Party Developers use JHtml to allow template overrides of their CSS and javascript for template designers.
так что J! разработчики сайтов используют JDocument, а сторонние разработчики публичных расширений могут использовать JHtml.