Форум русской поддержки Joomla!® CMS
08.12.2016, 22:12:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

как усзнать подключен ли внешний.js в index.php средствами php?

 (Прочитано 122 раз)
0 Пользователей и 1 Гость смотрят эту тему.
pavelrer
Давно я тут
****

Репутация: +4/-0
Online Online

Сообщений: 262


« : 19.05.2016, 21:56:47 »

Доброго дня!

Тема выросла от седа : http://joomlaforum.ru/index.php/topic,325071.0.html

Задача такая, если версия мобильная то не загружать всю левую колонку - там аккордеон, фильтр, новости.

Скрипт в шапки php

function testMobile() {
     $user_agent = $_SERVER['HTTP_USER_AGENT'];
     $browserMobile = false;
             if ( stristr($user_agent, 'Mobile') ) $browserMobile = true;
             if ( stristr($user_agent, 'mobile') ) $browserMobile = true;
             return $browserMobile;
                           }
$browserMobile=testMobile();

Далее: убираемая часть

<?php if (!($browserMobile)) : ?>

<aside class="left_block" itemscope itemtype="http://schema.org/WPSideBar">
<!--noindex-->
   <div class="left_filter module-left"><jdoc:include type="modules" name="left_filter" style="header" /></div>
   <div class="left_catalog module-left"><jdoc:include type="modules" name="left_catalog" style="header" /></div>
<!--/noindex-->
   <div class="left_news module-left"><jdoc:include type="modules" name="left_news" style="header" /></div>
   <div class="left_articl module-left"><jdoc:include type="modules" name="left_articl" style="header" /></div>
   <div class="left_sales module-left"><jdoc:include type="modules" name="left_sales" style="header" /></div>
</aside>

<?php endif;?>

Все ОТЛИЧНО, ВСЕ Хорошо! НО!

штука такая, у меня на всех(почти на всех, кроме корзины) должны подключаться следующие стандартные, внешние скрипты.

  <script src="/media/jui/js/jquery.min.js" type="text/javascript"></script>
  <script src="/media/jui/js/jquery-noconflict.js" type="text/javascript"></script>
  <script src="/media/jui/js/jquery-migrate.min.js" type="text/javascript"></script>
  <script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
  <script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
  <script src="/media/system/js/calendar.js" type="text/javascript"></script>

Как только отключаем левую колонку пропадают.

  <script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
  <script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
  <script src="/media/system/js/calendar.js" type="text/javascript"></script>

Ну и соответственно в мобильной версии скрипты не работают.

понятно что они подключаются в behavior.php но туды лезть не очень хочется, т.к я в стандартных файлах только коменьтю часть кода (если это возможно), ни чего не меняя.

Что хочется

в index.php сделать проверку подключены ли данные скрипты:

  <script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
  <script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
  <script src="/media/system/js/calendar.js" type="text/javascript"></script>

если нет, то подключить как-то так

// $document   = JFactory::getDocument();
// $document->addStyleSheet(JUri::base(true).'s.css');
(ну только для скриптов)

КАК Сделать такую проверку?

Спасибо?


Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +121/-4
Offline Offline

Пол: Мужской
Сообщений: 1465


« Ответ #1 : 19.05.2016, 22:10:08 »

Загляните в методы addScript и addStyleSheet, и вы увидите, что они не добавляются повторно. То есть если Вы сделаете что-то вроде:
Код:
$doc->addStyleSheet('/style.css')->addStyleSheet('/style.css')->addStyleSheet('/style.css');
То стиль добавится только один раз. Соответственно, делать проверки по поводу того, добавлен он уже или нет, не требуется.
Записан
pavelrer
Давно я тут
****

Репутация: +4/-0
Online Online

Сообщений: 262


« Ответ #2 : 19.05.2016, 22:13:04 »

Блин ну туплю  Grin

Если мобильное устройство подключилось просто подключить эти скрипты  Grin

Спасибо!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet