Такая вот проблемка - есть 4 отдельных страницы (аудио, видео, изображения, слайдшоу) которые требуют подключения дополнительных *.js и стилей.. Можно ли как-нибудь сделать, что бы эти стили и скрипты загружались только на этих страницах.. а не прописывать их все в шаблоне (а-то увесисто уж очень получается). P.s. Заранее спасибо! Версия joomla - 1.5 P.p.s. Единственное, что пока пришло на ум - использование разных шаблонов (точнее разных шапок - а остальные параметры устанавливать как в оригинальном шаблоне). но может есть способ по-проще?
lesnikoff, GET параметры слушаем, попадаем на страницу с нужным id статьи, выводим скрипт. Есть в FAQ пример для 1.0 как определить главную страницу, думаю, что особой разницы не будет, основной принцип там написан
А можно немного по-подробнее? Как я понял эта тема: Как определить главную страницу? - но там ответа как такового нет..
lesnikoff, я об этом: http://www.joomla-docs.ru/Фишки_шаблонов_Joomla Код (CODE): if ($option=='com_content' && $task=='view') { echo "Пользователь смотрит статью с идентификатором, равным $id"; } $option=='com_content' && $task=='view' - это заменяем на свое, к примеру: Код (CODE): if ($itemid=='16') //идентификатор статьи { echo "подключаем JS"; }
ОГРОМНОЕ СПАСИБО! P.s. Еще один маленький вопрос - а через какой параметр можно указать вывод скриптов по определенным линкам - "***.ru/info/", "***.ru/audio/" и т.д. (если например, на сайте стоит компонет JoomSEF).. В его настройках id скрыты, и страницы идентифицироваться не хотят..
lesnikoff, просто на время SEF отключите и смотрите идентификаторы, составьте код, затем все включайте. Работать будет.
Не хочет что-то.. ItemId - смотрел уже и через админку, и через выключенный Sef. Код (CODE): index.php?option=com_content&view=article&id=9&Itemid=97 Пробовал и так: Код (CODE): <?php if ($itemid=='97') { ?> <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/template1.css" type="text/css" /> <script language="javascript" type="text/javascript" src="<?php echo $tmpTools->templateurl(); ?>/js/time1.js"></script> <?php } else { ?> <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/template2.css" type="text/css" /> <script language="javascript" type="text/javascript" src="<?php echo $tmpTools->templateurl(); ?>/js/time2.js"></script> <?php } ?> Код (CODE): <?php if ($id='9' && $itemid=='97') { ?> <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/template1.css" type="text/css" /> <script language="javascript" type="text/javascript" src="<?php echo $tmpTools->templateurl(); ?>/js/time1.js"></script> <?php } else { ?> <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/template2.css" type="text/css" /> <script language="javascript" type="text/javascript" src="<?php echo $tmpTools->templateurl(); ?>/js/time2.js"></script> <?php } ?>
Ну, так в примерах было указано.. Так тоже не хочет: Код (CODE): <?php if ($itemid=='97'){ echo '<script language="javascript" type="text/javascript" src="****.ru/js/time.js"></script>'; } ?> Хотя, в коде все получается правильно, ведь через this выводится все нормально: Код (CODE): <?php if ($this){ echo '<script language="javascript" type="text/javascript" src="****.ru/js/time.js"></script>'; } ?>
Елки-палки! Сделал - все гениальное просто! Сегодня весь день сидел над скриптом и так извращался и так.. Даже все параметры в значении выводил: Код (CODE): $option=='com_content' && $view=='article' && $id='9' && $Itemid='97' И в head.php пытался прописать.