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

  • 2 Ответов
  • 215 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн pavelrer

Доброго дня!

Тема выросла от седа : 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');
(ну только для скриптов)

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

Спасибо?



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

  => мои публикации
    => мои работы
      => спектр моих услуг

*

Оффлайн pavelrer

Блин ну туплю  ;D

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

Спасибо!