JQuery не включен в голову моего компонента

Я только что прочитал этот учебник https://docs.joomla.org/J3. x: Developing_an_MVC_Component и завершил мой компонент (Joomla! 3.7). Теперь я понимаю, что представление сайта не содержит jquery link (s) в заголовке - в отличие друг от друга (под) страницы моего сайта.

Я знаю, что могу просто добавить необходимые строки кода в свой шаблон, но я этого не делал, потому что с самого начала Joomla делала это для меня - кроме случаев, когда я просматриваю представление моего компонента. К сожалению, я не мог найти никакой информации об этом поведении, поэтому я надеюсь, что кто-то может пролить свет на это ...?!

1 голос | спросил Rico 16 Maypm17 2017, 19:21:01

3 ответа


2

Это не шаблон или Joomla для загрузки jQuery. Обычно вы обнаружите, что jQuery загружается на многие страницы по умолчанию, причиной чего является расширение, однако Joomla не требуется загружать его по умолчанию на каждой отдельной странице, поэтому это зависит от вас.

Чтобы загрузить его, просто добавьте:

JHtml::_('jquery.framework');

в ваших представлениях компонентов.

ответил Lodder 16 Maypm17 2017, 19:24:27
1

Чтобы расширить ответ Лоддера, используя

JHtml::_('jquery.framework');

в верхней части представлений вашего компонента и перед любыми другими вызовами ваших пользовательских js, убедитесь, что jQuery будет загружен, перед вашими другими скриптами и только один раз - даже если другие расширения или шаблон вызвали его с тем же метод.

Также стоит отметить, что JHtml::_('jquery.framework'); загрузит jQuery в режиме без конфликтов.

Чтобы загрузить его в нормальном режиме:

JHtml::_('jquery.framework', false);
ответил FFrewin 16 Maypm17 2017, 19:38:33
1

Joomla добавляет его повсюду. Сделайте поиск в JHtml::_('jquery.framework'); в основных файлах и посмотрите, как это сделать.

Рамки javascript кажутся немного беспорядочно реализованы. Здесь есть информация о них. https://docs.joomla.org/J3.x:Javascript_Frameworks

Наиболее распространенное место, по-видимому, находится в файле default.php вашего компонента. «То, что делает Joomla do», обычно лучше, если вы что-то не уверены.

Если вы просто хотите, чтобы он был доступен в любом месте (и ваш компонент должен использоваться только с вашим шаблоном), я не вижу ничего плохого в добавлении его в ваш шаблон, хотя иногда это может означать загрузку файлов в неправильный порядок, и вы должны добавить его к своему компоненту, чтобы убедиться, что jQuery вашего compoenent загружен после JQuery.

Как только он будет загружен только один раз, нет ничего действительно неправильного в добавлении его к вашему шаблону и вашему компоненту.

ответил Richard B 16 Maypm17 2017, 19:37:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132