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

vaymohk

  • Давно я тут
  • 261
  • 1
  • Ingtimes.ru | Новости Ингушетии
Случайно наткнулся на этом форуме на подобную тему где smart дал интересный код для шаблона.
Код
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
  $headerstuff = $this->getHeadData();
  $key1 = JURI::base(true). '/media/system/js/mootools.js';
  $key2 = JURI::base(true). '/media/system/js/caption.js';
  $key3 = JURI::base(true). '/media/system/js/mootools-core.js';
  $key4 = JURI::base(true). '/media/system/js/mootools-more.js';
  unset($headerstuff['scripts'][$key1], $headerstuff['scripts'][$key2], $headerstuff['scripts'][$key3], $headerstuff['scripts'][$key4]);
  $this->setHeadData($headerstuff);
}
(я добавил в код core и more, можете изменять на свое усмотрение)
Код убирает скрипты для гостей на сайте. Решение как мне кажется идеальное. На http://www.unshit.com/ru/ после установки скинул 25! кусков. было 35 стало 10. А после авторизации можно спокойно писать с фронта.
Проблем с работой сторонних расширений пока не обнаружил. Просьба отписываться если такие будут.

А куда этот куда шаблон вставлять объясните кто нибудь пожалуйста
http://ingtimes.ru | Новости Ингушетии
*

al-teen

  • Support Team
  • 2474
  • 213
  • im
в index.php шаблона
*

vaymohk

  • Давно я тут
  • 261
  • 1
  • Ingtimes.ru | Новости Ингушетии
А куда этот куда шаблон вставлять объясните кто нибудь пожалуйста
Тоесть вместо выше описанных мне нужно вставить все скрипты которые находятся в шаблоне?
http://ingtimes.ru | Новости Ингушетии
*

Rival

  • Осваиваюсь на форуме
  • 189
  • 16
Протестировал скорость загрузки, показало 40  из 100 видимо нужно оптимизировать.

Отключил 4  неиспользуемых системных скрипта, оставил только 1 для всплывающих картинок, но по тесту от Google так и осталась скорость 40.


« Последнее редактирование: 20.06.2012, 23:47:07 от Rival »
*

ViktorMah

  • Давно я тут
  • 251
  • 27
Протестировал скорость загрузки, показало 40  из 100 видимо нужно оптимизировать.

Отключил 4  неиспользуемых системных скрипта, оставил только 1 для всплывающих картинок, но по тесту от Google так и осталась скорость 40.

Тут ещё сильно влияет:
1 - количество загружаемых CSS + их вес, то есть сжаты они или нет.
2 - количество и качество/степень сжатия картинок
*

vaymohk

  • Давно я тут
  • 261
  • 1
  • Ingtimes.ru | Новости Ингушетии
Я делал так http://www.cyber-club.su/servisy/blogi06/entry/joomla-optimizatsiya! Было 170 кусков говна на сайте осталось 40 (http://unshit.com/ru/) и сайт после оптимизации не глючил))
http://ingtimes.ru | Новости Ингушетии
*

likrion

  • Завсегдатай
  • 753
  • 126
R331474010295
*

vaymohk

  • Давно я тут
  • 261
  • 1
  • Ingtimes.ru | Новости Ингушетии
Я подсказал или Вы знали о плагине?)
http://ingtimes.ru | Новости Ингушетии
*

Dron79

  • Давно я тут
  • 321
  • 37
  • Век живи - век учись!
Вот вариант удаления скриптов не только из шаблона но и из любого компонента, модуля и плагина:
Код: php
$document = JFactory::getDocument();

unset($document->_scripts['/media/system/js/mootools-core.js'],
$document->_scripts['/media/system/js/mootools-more.js'],
$document->_scripts['/media/system/js/core.js'],
       $document->_scripts['/media/system/js/caption.js']);
$document->_script = array();

Естественно удалять нужно только то, что не нужно для работы страницы с данным компонентом модулем и функцией,
или оставить только то что нужно для полноценной работы страницы с данным расширением.
кодинг на php.
*

Langoliers

  • Завсегдатай
  • 695
  • 65
  • Если б Я изучал людей, то был бы паразитологом
Надеюсь меня не закидают камнями, если Я скажу, что это несколько неправильный вариант исключения скриптов из сайта... К тому же если использовать фреймворк он и вовсе не будет работать...
Изначально файлы подключаются в файле /libraries/joomla/html/html/behavior.php
Там есть строки на подобии
Код
JHtml::_('script', 'system/core.js', false, true);
Чтобы отключить загрузку тех, или иных скриптов нужно true заменить на false (если значений true два, из оба нужно изменить на false)
Чтобы полностью отключить mootools код должен выглядеть так:
Код
		JHtml::_('script', 'system/mootools-' . $type . '.js', false, false, false, false, $debug);
JHtml::_('script', 'system/core.js', false, false);
self::$loaded[__METHOD__][$type] = true;

Единственный у меня вопрос: как разрешить загрузку тех, или иных скриптов только для авторизованных пользователей?
« Последнее редактирование: 28.08.2012, 17:56:11 от Langoliers »
*

wfedin

  • Живу я здесь
  • 1290
  • 102
наверное
Код
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
JHtml::_('script', 'system/core.js', false, true);
...
} else {
JHtml::_('script', 'system/mootools-' . $type . '.js', false, false, false, false, $debug);
JHtml::_('script', 'system/core.js', false, false);
self::$loaded[__METHOD__][$type] = true;
}
*

Langoliers

  • Завсегдатай
  • 695
  • 65
  • Если б Я изучал людей, то был бы паразитологом
wfedin, спасибо! Работает. Итак вот что получилось у меня:
Код
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
JHtml::_('script', 'system/mootools-core.js', false, true, false, false, $debug);
JHtml::_('script', 'system/core.js', false, false);
JHtml::_('script', 'system/mootools-more.js', false, false, false, false, $debug);
self::$loaded[__METHOD__][$type] = true;
}else {
JHtml::_('script', 'system/mootools-' . $type . '.js', false, true, false, false, $debug);
JHtml::_('script', 'system/core.js', false, true);
self::$loaded[__METHOD__][$type] = true;}
И
Код
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
JHtml::_('script', 'system/caption.js', false, false);
} else {
JHtml::_('script', 'system/caption.js', true, true);
}
Такой код запрещает вызов core.js mootools-more.js и caption.js если пользователь не авторизован на сайте. Если авторизован - они загружаются для него... Однако кое какой функционал конечно порежется...
Похоже придется вернуть загрузку mootools-more.js для гостей, чего не хочется... 200 килобайт однако... У меня все остальные скрипты на сайте весят 175 (включая другие мт)

P.S. пошел курить мануалы, какой js за что отвечает...
« Последнее редактирование: 28.08.2012, 20:20:39 от Langoliers »
*

wfedin

  • Живу я здесь
  • 1290
  • 102
у меня после отключения caption.js ошибки сыпались и где-то нарыл я:
Код
    // Вычищаеи остатки кода инициализации caption.js:
        if( isset($this->_script['text/javascript']) ) {
            $this->_script['text/javascript'] = preg_replace('%window\.addEvent\(\'load\',\s*function\(\)\s*{\s*new\s*JCaption\(\'img.caption\'\);\s*}\);\s*%', '', $this->_script['text/javascript']);
            if( empty($this->_script['text/javascript']) )
            unset( $this->_script['text/javascript'] ); }
*

Langoliers

  • Завсегдатай
  • 695
  • 65
  • Если б Я изучал людей, то был бы паразитологом
у меня после отключения caption.js ошибки сыпались и где-то нарыл я
Вот полезная инфа
http://forum.joomla.org/viewtopic.php?t=691239
http://www.acuit.com.au/Blogs/removing-jcaption-in-joomla2.5.html
А Вы куда код разместили?

P.S. так и не нашел какие js за что отвечают =\
*

wfedin

  • Живу я здесь
  • 1290
  • 102
сразу после отключения
Код
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
JHtml::_('script', 'system/mootools-core.js', false, true, false, false, $debug);
JHtml::_('script', 'system/core.js', false, false);
JHtml::_('script', 'system/mootools-more.js', false, false, false, false, $debug);
self::$loaded[__METHOD__][$type] = true;
СЮДА КОД ОЧИСТКИ СТАВИМ
}
*

Langoliers

  • Завсегдатай
  • 695
  • 65
  • Если б Я изучал людей, то был бы паразитологом
сразу после отключения
Код
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
JHtml::_('script', 'system/mootools-core.js', false, true, false, false, $debug);
JHtml::_('script', 'system/core.js', false, false);
JHtml::_('script', 'system/mootools-more.js', false, false, false, false, $debug);
self::$loaded[__METHOD__][$type] = true;
СЮДА КОД ОЧИСТКИ СТАВИМ
}
Только наверное после обработки caption.js?
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
у меня после отключения caption.js ошибки сыпались и где-то нарыл я:
Код
    // Вычищаеи остатки кода инициализации caption.js:
        if( isset($this->_script['text/javascript']) ) {
            $this->_script['text/javascript'] = preg_replace('%window\.addEvent\(\'load\',\s*function\(\)\s*{\s*new\s*JCaption\(\'img.caption\'\);\s*}\);\s*%', '', $this->_script['text/javascript']);
            if( empty($this->_script['text/javascript']) )
            unset( $this->_script['text/javascript'] ); }
Я вот так юзаю. Немного короче, но регулярка та же.
Код: php
$this->_script = preg_replace('%window\.addEvent\(\'load\',\s*function\(\)\s*{\s*new\s*JCaption\(\'img.caption\'\);\s*}\);\s*%', '', $this->_script);
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

Langoliers

  • Завсегдатай
  • 695
  • 65
  • Если б Я изучал людей, то был бы паразитологом
у меня после отключения caption.js ошибки сыпались и где-то нарыл я:
Код
    // Вычищаеи остатки кода инициализации caption.js:
        if( isset($this->_script['text/javascript']) ) {
            $this->_script['text/javascript'] = preg_replace('%window\.addEvent\(\'load\',\s*function\(\)\s*{\s*new\s*JCaption\(\'img.caption\'\);\s*}\);\s*%', '', $this->_script['text/javascript']);
            if( empty($this->_script['text/javascript']) )
            unset( $this->_script['text/javascript'] ); }
Хм... получил такую ошибку:
Цитировать
Fatal error: Using $this when not in object context in /libraries/joomla/html/html/behavior.php on line 34
На 34 строке как раз начинает код очистки... Код Shustry тоже пробовал...
Вставлял и после mootools- файлов и core.js и после caption.js и отдельно и вместе
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Вот начало шаблона, каким я его использую вот уже год на различных проектах и, практически, без изменений. Ни разу ни одной ошибки естессно.
Код: html4strict
<?php defined('_JEXEC') or die;
if (JRequest::getVar('ajcom')) {?>
<jdoc:include type="component" />
<?php } else {
unset( $this->_scripts[$this->baseurl.'/media/system/js/mootools-core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/mootools-more.js'],
$this->_scripts[$this->baseurl.'/media/system/js/core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/caption.js'],
$this->_scripts[$this->baseurl.'/media/system/js/validate.js']
);
$this->_script = preg_replace('%window\.addEvent\(\'load\',\s*function\(\)\s*{\s*new\s*JCaption\(\'img.caption\'\);\s*}\);\s*%', '', $this->_script);
$templ = $this->baseurl."/templates/".$this->template;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >
<head>
<jdoc:include type="head" />
...
Ты из шаблонов компонентов не забыл выпилить всякие...
Код: php
JHtml::_('behavior.tooltip');
JHtml::core();
... и тому подобное?
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

Efanych

  • Группа развития
  • 4317
  • 605
Цитировать
Вот начало шаблона, каким я его использую вот уже год на различных проектах и, практически, без изменений. Ни разу ни одной ошибки естессно.
А пустого скрипта в head нет?
Создание сайтов, шаблонов, помощь в решении проблем.
*

Langoliers

  • Завсегдатай
  • 695
  • 65
  • Если б Я изучал людей, то был бы паразитологом
Ты из шаблонов компонентов не забыл выпилить всякие...
Забыл ;D
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Efanych, нет. Вообще, плагин JB Library от Joomla Bamboo всё это умеет, если не хочецо заморачиваться с шаблоном.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

Efanych

  • Группа развития
  • 4317
  • 605
Efanych, нет.
А у меня есть. Остаётся от
Цитировать
<script type="text/javascript">
window.addEvent('load', function() {
            new JCaption('img.caption');
         });
  </script>
Создание сайтов, шаблонов, помощь в решении проблем.
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
А у меня есть. Остаётся от
Внизапно! А ведь и у меня остаёцо О_о. А я и не замечал. Надо регулярку переписывать.
Код
<script type="text/javascript">
</script>
Вот. Пустая строка остаётся.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

Fedor Vlasenko

  • Профи
  • 3806
  • 698
  • Все начинается с Value
Решил отказаться от <jdoc:include type="head" />
Маленькая строчка а проблем с скриптами и тегами по горло. ^-^
Спойлер
[свернуть]
Скрипты вывожу внизу сайта. Переписываю некоторые под себя
Спойлер
[свернуть]
*

Langoliers

  • Завсегдатай
  • 695
  • 65
  • Если б Я изучал людей, то был бы паразитологом
И на сколько скорость загрузки возрасла?
*

Fedor Vlasenko

  • Профи
  • 3806
  • 698
  • Все начинается с Value
И на сколько скорость загрузки возрасла?
Что вы имеет ввиду. Выше был приведен корректный вывод заголовков Html5
В Joomla такого не предусмотрено по умолчанию. Далее предложен вариант ручного управления скриптами где в процессе обработки циклов foreach возможно вставить свой обработчик этих файлов для минимизации. объединения и кеширования.
*

al-teen

  • Support Team
  • 2474
  • 213
  • im
Внизапно! А ведь и у меня остаёцо О_о. А я и не замечал. Надо регулярку переписывать.
Код
<script type="text/javascript">
</script>
Вот. Пустая строка остаётся.
Я ж приводил код с регуляркой, чтою его не оставалось. В теме промала. Даже не посмотрели, как оказывается.
*

Efanych

  • Группа развития
  • 4317
  • 605
И в этой теме есть.
Цитировать
if( empty($this->_script['text/javascript']) )
            unset( $this->_script['text/javascript'] );
Создание сайтов, шаблонов, помощь в решении проблем.
*

vaymohk

  • Давно я тут
  • 261
  • 1
  • Ingtimes.ru | Новости Ингушетии
Может кто оценить насколько оптимизирован вот этот сайт 1.cyber-club.su! Шаблон очень легкий сам делал
http://ingtimes.ru | Новости Ингушетии
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вопрос по настройке новостной ленты на главной странице сайта

Автор sect

Ответов: 0
Просмотров: 27
Последний ответ 18.09.2017, 02:52:01
от sect
Разделитель в название сайта в title

Автор karsalex

Ответов: 16
Просмотров: 4812
Последний ответ 17.07.2017, 23:24:55
от Mihalych
Размер фона сайта по ширине экрана

Автор DeathGun

Ответов: 6
Просмотров: 344
Последний ответ 29.11.2016, 06:29:32
от DeathGun
Скачать файл с сайта для авторизованных пользователей

Автор DeathGun

Ответов: 3
Просмотров: 287
Последний ответ 28.11.2016, 09:25:57
от DeathGun
Joomla 2.5 смена логотипа в зависимости от языка сайта

Автор DeathGun

Ответов: 9
Просмотров: 372
Последний ответ 27.11.2016, 10:38:55
от DeathGun