Вставить в голову :D

  • 6 Ответов
  • 282 Просмотров

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

Вставить в голову :D
« : 05.11.2016, 15:36:14 »
Дорогие форумчане, подскажите пожалуйста как вставить скрипт (чат онлайн поддержки) в <head></head>? Раньше всё было просто но с приходом Joomla 3 я в недоумение, в php не шарю вообще...  !

*

Оффлайн AlekVolsk

Re: Вставить в голову :D
« Ответ #1 : 05.11.2016, 15:37:58 »
<?php JFactory::getDocument->addScript('тут путь к скрипту, полный или относительный корня сайта точный урл'); ?>

есть и другие, не менее изощренные способы...

Re: Вставить в голову :D
« Ответ #2 : 05.11.2016, 21:49:01 »
<?php JFactory::getDocument->addScript('тут путь к скрипту, полный или относительный корня сайта точный урл'); ?>

есть и другие, не менее изощренные способы...
Огромное спасибо! Завтра буду тестить

Re: Вставить в голову :D
« Ответ #3 : 05.11.2016, 21:52:24 »
А как добавить <link href="http://....." rel="alternate" hreflang="ru-RU" /> у меня просто сайт на 3 разных доменах и мудрил плагинами но ничего дельного не добился.

*

Онлайн AlexeyGal

Re: Вставить в голову :D
« Ответ #4 : 05.11.2016, 22:45:40 »
<?php JFactory::getDocument->addScript('тут путь к скрипту, полный или относительный корня сайта точный урл'); ?>

При разработке шаблона и внесения постоянных правок приходится обновлять страницу через ctrl+f5 чтобы загрузить из интернета, а не из кеша браузера,
поэтому надо применить технику CasheBuster:

для JS лучше вместо 'addScript'   использовать  'addScriptVersion'
а для CSS вместо 'addStyleSheet' использовать  'addStyleSheetVersion'
тогда к коду добавится "версия файла"

<script src="/templates/test/bootstrap/js/bootstrap.min.js?155fc4aec80bd031b03a7e9e7df3814a" type="text/javascript"></script>
<link href="/templates/test/css/template.css?155fc4aec80bd031b03a7e9e7df3814a" rel="stylesheet" type="text/css" />

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

также для добавления JS можно использовать
echo JHTML::_('script','файл');
для CSS
echo JHTML:_('stylesheet','файл');

Этот способ интересен тем, что если указать значение relative=true, то система сама будет искать во вложенных папках шаблона этот файл.

Описание методов JHTML:
script ($file, $framework=false, $relative=false, $path_only=false, $detect_browser=true, $detect_debug=true)
stylesheet ($file, $attribs=array(), $relative=false, $path_only=false, $detect_browser=true, $detect_debug=true)  

Описание методов JDocument:
addScript ($url, $type="text/javascript", $defer=false, $async=false)
addScriptVersion ($url, $version=null, $type="text/javascript", $defer=false, $async=false)
addStyleSheet ($url, $type= 'text/css', $media=null, $attribs=array())
addStyleSheetVersion ($url, $version=null, $type="text/css", $media=null, $attribs=array())
« Последнее редактирование: 05.11.2016, 23:26:18 от AlexeyGal »

*

Онлайн AlexeyGal

Re: Вставить в голову :D
« Ответ #5 : 05.11.2016, 23:03:18 »
А как добавить <link href="http://....." rel="alternate" hreflang="ru-RU" /> у меня просто сайт на 3 разных доменах и мудрил плагинами но ничего дельного не добился.

<?php echo Jhtml::_('link','ссылка','текст alt','атрибуты'); ?>

Описание Jhtml:
link ($url, $text, $attribs=null)

Re: Вставить в голову :D
« Ответ #6 : 06.11.2016, 15:40:49 »
Большое спасибо за пищу для размышления, очень подробно и полезно!