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

Artorius

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Настройка head.php
« : 25.04.2015, 23:22:42 »
Сегодня объединил все CSS в один файл и сжал его максимально чтобы соответствовать новым правилам от Google https://developers.google.com/speed/pagespeed/insights/ для мобильных устройств.
В итоге у меня теперь должен грузиться только template.css. Я прописал это в index.php своего шаблона и удалил строки формирования стилей в head.php. Все ок сайт работает.

Но в админке стили полностью удалились, да можно также вручную подгрузить в шаблоне админки нужные стили (но у меня это тоже не срабатывает, вызов стилей не отображается в итоговом коде админки). Но можно ли сделать это более изящно?
Пробовал сделать так, но видимо надо как-то подругому определять что в url есть слово administaroro т.к. метод не сработал.
Код
if($_SERVER["REQUEST_URI"]=="*administrator*")
{// Generate stylesheet links
foreach ($document->_styleSheets as $strSrc => $strAttr)
{
$buffer .= $tab . '<link rel="stylesheet" href="' . $strSrc . '" type="' . $strAttr['mime'] . '"';
if (!is_null($strAttr['media']))
{
$buffer .= ' media="' . $strAttr['media'] . '" ';
}
if ($temp = JArrayHelper::toString($strAttr['attribs']))
{
$buffer .= ' ' . $temp;
}
$buffer .= $tagEnd . $lnEnd;
}

// Generate stylesheet declarations
foreach ($document->_style as $type => $content)
{
$buffer .= $tab . '<style type="' . $type . '">' . $lnEnd;

// This is for full XHTML support.
if ($document->_mime != 'text/html')
{
$buffer .= $tab . $tab . '<![CDATA[' . $lnEnd;
}

$buffer .= $content . $lnEnd;

// See above note
if ($document->_mime != 'text/html')
{
$buffer .= $tab . $tab . ']]>' . $lnEnd;
}
$buffer .= $tab . '</style>' . $lnEnd;
}
}
Какие есть варианты решения?

Заранее спс.
« Последнее редактирование: 25.04.2015, 23:32:29 от Artorius »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Настройка head.php
« Ответ #1 : 26.04.2015, 01:53:17 »
В итоге у меня теперь должен грузиться только template.css. Я прописал это в index.php своего шаблона и удалил строки формирования стилей в head.php. Все ок сайт

Зачем вы вообще трогаете файлы ядра? Вы понимаете что все это слетит при обновлении? Можно ведь убрать все подключаемые в head стили непосредственно в коде шаблона: templates/templatename/index.php
Код: php
$doc=JFactory::getDocument();
$doc->_styleSheets = "";                              //убираем все стили
$doc->addStyleSheet("path_to_stylesheet");  //подключаем стиль

Есстественно, если стиль подключается через тег <style> в коде шаблона, его надо коментить вручную. Также можно прправить файл administrator/templates/templatename/index.php шаблона админки.
интернет-блог: http://websiteprog.ru
*

Artorius

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Re: Настройка head.php
« Ответ #2 : 26.04.2015, 01:59:32 »
1) У меня небыло куска кода который Вы предложили
2) я прописал этот кусок в шаблоне просле head
В итоге у меня в самом верху стало отображаться
$doc=JFactory::getDocument(); $doc->_styleSheets = ""; //убираем все стили $doc->addStyleSheet("/templates/ot_swizcake/css/template.css"); //подключаем стиль
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Настройка head.php
« Ответ #3 : 26.04.2015, 02:05:24 »
приписывайте в конце шаблона внутри тегов <?php ... ?> это php код а не HTML
интернет-блог: http://websiteprog.ru
*

Artorius

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Re: Настройка head.php
« Ответ #4 : 26.04.2015, 02:16:13 »
Этим способом остались почти все стили
  <link rel="stylesheet" href="http://www.tortlar.ru/plugins/system/omgshortcodes/assets/css/all.css" type="text/css" />
  <link rel="stylesheet" href="/templates/ot_swizcake/css/vmsite-ltr.css" type="text/css" />
  <link rel="stylesheet" href="http://www.tortlar.ru/modules/mod_omgmenu/css/omgmenu.css" type="text/css" />
  <link rel="stylesheet" href="http://www.tortlar.ru/modules/mod_omgmenu/css/omgmenu_mobile.css" type="text/css" />
  <link rel="stylesheet" href="http://www.tortlar.ru/modules/mod_callback/tmpl/style.css" type="text/css" />
  <style type="text/css">

   .ot-menu a {
      
      
   }
   .ot-menu a:hover {
      
   }

  </style>
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Настройка head.php
« Ответ #5 : 26.04.2015, 04:25:13 »
Они подключены или в модулях или в шаблоне напрямую. попросите разработчика написать плагин на событие onbeforecompilehead или продолжайте ломать систему. Да и кстатии есть наверняка плагины и для сжатия/обьеденения и для удаления лишних скриптов/стилей
« Последнее редактирование: 26.04.2015, 04:32:34 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Artorius

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Re: Настройка head.php
« Ответ #6 : 26.04.2015, 15:01:11 »
1) При удалении куска
Код
		foreach ($document->_styleSheets as $strSrc => $strAttr)
{
$buffer .= $tab . '<link rel="stylesheet" href="' . $strSrc . '" type="' . $strAttr['mime'] . '"';
if (!is_null($strAttr['media']))
{
$buffer .= ' media="' . $strAttr['media'] . '" ';
}
if ($temp = JArrayHelper::toString($strAttr['attribs']))
{
$buffer .= ' ' . $temp;
}
$buffer .= $tagEnd . $lnEnd;
}
из head.php все стили удаляются нормально.
2) Каким разработчикам?
3) Плагины какие только не юзал, все или не ставятся или не работают как надо.
Спас только Admin Tools старый с опцией seo там он хорошо js объединил. Но hgb объединении CSS почемуто он трет нужные стили, видимо ищет дубли и трет их, зачем не пойму.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Настройка head.php
« Ответ #7 : 26.04.2015, 15:33:01 »
Ну так ломайте и дальше сайт себе или заказчику, очевидно же что у вас не хватает знаний, чтобы сделать нормально. Про обновления забудьте. Название темы убивает. Офигеть какая настройка
интернет-блог: http://websiteprog.ru
*

Artorius

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Re: Настройка head.php
« Ответ #8 : 26.04.2015, 15:35:50 »
Вы уже повторяетесь. Если бы у меня хватало знаний то я бы не создавал тут темы. Ответа я не получил от Вас. Ладно хоть не написали поищи в Google.
Как сделать хотя бы чтобы код выполнялся только при наличии слова administrator в url ? if($_SERVER["REQUEST_URI"]=="*administrator*")
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Настройка head.php
« Ответ #9 : 26.04.2015, 15:53:36 »
Ответа я не получил от Вас.

я вам ответил уже. Нужно написать плагин на событие onbeforecompilehead в котором прописать условие:

Код: php
$app=JFactory::getApplication();
if ( $app->isAdmin() ) {  ...  }

Справитесь с задачей? Сомневаюсь..
интернет-блог: http://websiteprog.ru
*

Artorius

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Re: Настройка head.php
« Ответ #10 : 26.04.2015, 16:29:16 »
С версией php 5.4 плагин ScriptMerge заработал.

Ладно хоть не сказали пиши свой движок.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Настройка ЧПУ в Joomla 2.5 + VM2

Автор Paha_web

Ответов: 1
Просмотров: 859
Последний ответ 20.12.2016, 14:32:24
от Paha_web
Как вставить метатег в head не через index.php?

Автор smls

Ответов: 0
Просмотров: 826
Последний ответ 23.05.2016, 07:53:35
от smls
jdoc:include type="head"

Автор serrggeee

Ответов: 16
Просмотров: 3198
Последний ответ 18.05.2016, 16:48:38
от chuga
Настройка веб-сервера на локалке

Автор Ckunnep

Ответов: 8
Просмотров: 1222
Последний ответ 14.03.2016, 19:23:04
от Ckunnep
SOS Настройка flippingbook с материалом

Автор bigser1

Ответов: 0
Просмотров: 1131
Последний ответ 31.01.2016, 01:26:56
от bigser1