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

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

Как отключить на определенных страницах подгрузку bootstrap.min.js?

 (Прочитано 508 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bulls
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

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



« : 06.02.2016, 04:18:29 »

Сайт на J3 шаблон делаю на bootstrap, теперь на некоторых страницах конфликт, грузиться родной и мой.
Все настройки пересмотрел но вот некоторые страницы как вражьи, подгружают свой бутстрап, из за чего конфликт.
причем страницы как обычные так и содержавшие вложенные пункты меню.

Методом манипуляции пришел к выводу было бы замечательно в индексном, на определенных стр. отключать именно мой будстрап
Код:
<script type="text/javascript" src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template?>/js/bootstrap.min.js"></script>
Кто силен в php подскажите как прописать условие для отключения (не показывать) строчку кода, приведенную выше...
Записан
kik84
Живу я здесь
******

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

Сообщений: 1307



« Ответ #1 : 06.02.2016, 11:59:46 »

Если несколько страниц, на которых не надо, то как вариант:
<?php if ( JRequest::getVar('Itemid')!= '30') : ?>
загрузится везде, кроме пункта меню с id=30
<?php endif; ?>
« Последнее редактирование: 06.02.2016, 12:34:08 от kik84 » Записан
effrit
Группа развития
*****

Репутация: +731/-7
Offline Offline

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


effrit.com


« Ответ #2 : 06.02.2016, 12:07:46 »

кстати, есть убиватор стандартных бутстрапов.

http://joomlaforum.ru/index.php/topic,253684.msg1363382.html#msg1363382
Записан
bulls
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

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



« Ответ #3 : 06.02.2016, 13:19:28 »

загрузится везде, кроме пункта меню с id=30
Вариант отличный но работает с одной определенной страницей. А как вписать несколько id, через запятую перестает работать
Код:
<?php if ( JRequest::getVar('Itemid')!= '102, 113, 115') : ?>

       
Код:
<?php if ( JRequest::getVar('Itemid')!= '102') : ?>
<script type="text/javascript" src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template?>/js/bootstrap.min.js"></script>
      <?php endif; ?>
Записан
kik84
Живу я здесь
******

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

Сообщений: 1307



« Ответ #4 : 06.02.2016, 13:25:03 »

Вариант отличный но работает с одной определенной страницей. А как вписать несколько id, через запятую перестает работать
Код:
<?php if ( JRequest::getVar('Itemid')!= '102, 113, 115') : ?>

Пробуйте так
<?php if (JRequest::getVar('Itemid')!= '102 || JRequest::getVar('Itemid')!= '113' || JRequest::getVar('Itemid')!= '115') : ?>
Записан
bulls
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

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



« Ответ #5 : 06.02.2016, 13:29:11 »

Код:
<?php if (JRequest::getVar('Itemid')!= '102 || JRequest::getVar('Itemid')!= '108' || JRequest::getVar('Itemid')!= '112') : ?>
<script type="text/javascript" src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template?>/js/bootstrap.min.js"></script>
  <?php endif; ?>
Белый экран, пишет
Parse error: syntax error, unexpected T_STRING in путь до \index.php on line 130
Записан
kik84
Живу я здесь
******

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

Сообщений: 1307



« Ответ #6 : 06.02.2016, 13:40:01 »

Белый т.к. пропущена кавычка, где 102
В целом, странно, почему с != не хочет... Как временное решение, можно так, пока кто-то из гуру не напишет, в чем косяк  Smiley

Код:
<?php if (JRequest::getVar('Itemid')== '102' || JRequest::getVar('Itemid')== '108' || JRequest::getVar('Itemid')== '112') : ?>

<?php else: ?>
<script type="text/javascript" src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template?>/js/bootstrap.min.js"></script>
<?php endif; ?>
Записан
bulls
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

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



« Ответ #7 : 06.02.2016, 13:45:40 »

Как временное решение, можно так, пока кто-то из гуру не напишет, в чем косяк
Не знаю про каких гуру, но Вы спасли меня. Большое спс. + в репу.
Записан
dynamit
Практически профи
*******

Репутация: +264/-0
Offline Offline

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


Winter Is Coming


« Ответ #8 : 06.02.2016, 14:25:24 »

можно айдишки собрать в массиве
предварительно опредим переменную
Код:
$app = JFactory::getApplication();
$Itemid = JRequest::getInt( 'Itemid', 1, 'get' );
Код:
<?php
$ids = array("100", "200", "123", "1"); //перечисляем нужные id и собираем в массив
if (in_array($Itemid, $ids)) { //проверяем на совпадение
?>
 // показываем что-то только для этих id
<?php } ?>
//исключение
if (!(in_array($Itemid, $ids))):
 // не показываем что-то только для этих id
endif;
Записан
bulls
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

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



« Ответ #9 : 06.02.2016, 14:58:53 »

можно айдишки собрать в массиве
предварительно опредим переменную
Код:
$app = JFactory::getApplication();
$Itemid = JRequest::getInt( 'Itemid', 1, 'get' );
Код:
<?php
$ids = array("100", "200", "123", "1"); //перечисляем нужные id и собираем в массив
if (in_array($Itemid, $ids)) { //проверяем на совпадение
?>
 // показываем что-то только для этих id
<?php } ?>
//исключение
if (!(in_array($Itemid, $ids))):
 // не показываем что-то только для этих id
endif;

Воще запутался, не могли бы написать с открывающими и закрывающими <?php
одно закрою тут не светится в редакторе, открою там не подсвечивает.
Сори, для мня php вобще темный лес!
Записан
dynamit
Практически профи
*******

Репутация: +264/-0
Offline Offline

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


Winter Is Coming


« Ответ #10 : 06.02.2016, 15:43:34 »

исходим из того что всю эту лабуду пишем в шаблоне и скрипты выводятся там-же в хеад.
в index.php сразу после defined('_JEXEC') or die; пишем первый код
как-то так должно получиться:
Код:
defined('_JEXEC') or die;

$app = JFactory::getApplication();
$Itemid = JRequest::getInt( 'Itemid', 1, 'get' );
$ids = array("102", "108", "112");
?>
в теге head выводим бутстрап
Код:
<?php
if (!(in_array($Itemid, $ids))): ?>
<script type="text/javascript" src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template?>/js/bootstrap.min.js"></script>
<?php endif; ?>
Записан
b2z
Support Team
*****

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

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


Разраблю понемногу


« Ответ #11 : 06.02.2016, 23:39:38 »

$Itemid = JRequest::getInt( 'Itemid', 1, 'get' );

Код
$Itemid = $app->input->getInt('Itemid', 1, 'get');
Записан
Knyaz71
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

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



« Ответ #12 : 07.02.2016, 06:13:13 »

Если страницы подгружают bootstrap из, так сказать, стандартной папки ( /media/jui/css/bootstrap.min.css )
то этот файл можно попробовать переопределить на свой.
Для этого свой файл нужно всего лишь разместь по адресу - /templates/*шаблон*/css/jui/bootstrap.min.css

А для избежания дублирования подключений, можно попробовать написать перед <jdoc:include type="head" /> следующее
Код
<? JHtml::stylesheet('jui/bootstrap.min.css', null, true); ?>
Записан
dynamit
Практически профи
*******

Репутация: +264/-0
Offline Offline

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


Winter Is Coming


« Ответ #13 : 07.02.2016, 09:37:42 »

b2z, так более кошерно?  Smiley потому как и первый вариант работает без проблем.
Записан
b2z
Support Team
*****

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

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


Разраблю понемногу


« Ответ #14 : 08.02.2016, 11:44:16 »

JRequest помечен как deprecated и не должен использоваться.
Записан
Страниц: [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