Новости Joomla

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

Efanych

  • Глобальный модератор
  • 4684
  • 644 / 0
  • Меняю свою жизнь на 360°!
Может кто оценить насколько оптимизирован вот этот сайт 1.cyber-club.su! Шаблон очень легкий сам делал
Там спросите http://joomlaforum.ru/index.php/topic,170217.msg918723.html#msg918723
Создание сайтов, шаблонов, помощь в решении проблем.
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Что вы имеет ввиду. Выше был приведен корректный вывод заголовков Html5
Это Я понял. Я к тому, что Вы скрипты вниз вывели...
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Это Я понял. Я к тому, что Вы скрипты вниз вывели...
Вывод скриптов вниз, постзагрузка. Конечно же влияет на скорость сайта. Это рекомендации для уменьшения времени загрузки (в данном случае рендеринга видимой области). Cоветы Yahoo
Хорошие реализации: http://html5boilerplate.com и http://html5reset.org
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Код: php
$view = JRequest::getVar('view', null, 'get', 'word');
$layout = JRequest::getVar('layout', null, 'get', 'word');
//проверяем находимся ли мы на странице редактирования материала
if (!(($view=='form')and($layout='edit'))) {
//выполняем код по ограничению вывода mootools
if (isset($this->_scripts)and(count($this->_scripts))){
foreach ($this->_scripts as $key => $value) {
if (preg_match("/media\/system\/js/i", $key)) {
unset ($this->_scripts[$key]);
}
}
}
//вырезаем строку  window.addEvent('load', function() { new JCaption('img.caption'); });
if (isset($this->_script)and(count($this->_script))){
preg_match("/window\.addEvent\('load',\sfunction\(\)\s\{[\s]*new\sJCaption\('img\.caption'\);[\s]*\}\);/iU", $this->_script['text/javascript'],$match);
if (isset($match[0])) {
$this->_script['text/javascript']=str_replace($match[0],'',$this->_script['text/javascript']);
}
//вырезаем тултип
preg_match("/window\.addEvent\('domready',\sfunction\(\)\s\{[\s]*[$]+\('\.hasTip'\)\.each\(function\(el\)\s\{[\s]*var\stitle\s=\sel\.get\('title'\);[\s]*if\s\(title\)\s\{[\s]*var\sparts\s=\stitle\.split\('::', 2\);[\s]*el\.store\('tip:title',\sparts\[0\]\);[\s]*el\.store\('tip:text',\sparts\[1\]\);[\s]*\}[\s]*\}\);[\s]*var\sJTooltips\s=\snew\sTips\([$]+\('\.hasTip'\),\s\{\smaxTitleChars:\s50,\sfixed:\sfalse\}\);[\s]*\}\);/iU", $this->_script['text/javascript'],$match2);
if (isset($match2[0])) {
$this->_script['text/javascript']=str_replace($match2[0],'',$this->_script['text/javascript']);
}
}
}
источник
« Последнее редактирование: 18.09.2012, 10:44:31 от Dron79 »
кодинг на php.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Кроме тултипа есть еще валидация, есть modal, есть еще что то. На каждую строчить регулярку?
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Согласен это не выход, подходящие регулярные выражения написать конечно не долго, но и в вывод они попадают не просто так, поэтому думаю нужно менять подход к выбору условия обрезки mootools в корне.
Вот мои размышления на эту тему.
кодинг на php.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Тултип, валидатор, модал и ещё кое-что... - всё вырезается безболезненно в шаблоне. Регуляркой только кэпшн приходицо выпиливать.
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Тултип, валидатор, модал и ещё кое-что... - всё вырезается безболезненно в шаблоне. Регуляркой только кэпшн приходицо выпиливать.
Данные библиотеки я думаю не просто так в шаблоне вызываются, поэтому тупо их выпиливать это противорече общему замыслу. Нужен грамотный алгоритм, котры будет подгружать эти библиотеки только там где это нужно, а где не нужно не вызывать(удалять, раз уж они безграмотно вызваны). Правильно написать такой алгоритм. вот непростая задача.
кодинг на php.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Тултип, валидатор, модал и ещё кое-что... - всё вырезается безболезненно в шаблоне. Регуляркой только кэпшн приходицо выпиливать.
Факт.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Данные библиотеки я думаю не просто так в шаблоне вызываются, поэтому тупо их выпиливать это противорече общему замыслу. Нужен грамотный алгоритм, котры будет подгружать эти библиотеки только там где это нужно, а где не нужно не вызывать(удалять, раз уж они безграмотно вызваны). Правильно написать такой алгоритм. вот непростая задача.
Все это дело выпиливается без негативных последствий. И вызывается каждый из элементов только для того, чего вызывается. Никаких иных скрытых смыслов и функционала не обеспечивая. Поэтому их и надо брать и тупо выпиливать. Поверьте, лично я уже достаточно давно это делаю. Завел себе контрольную папочку с почищенными шаблонам расширений и вставляю ее каждый раз, когда отключаю му.
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Ребят, подскажите пожалуйста условие вызова скриптов на определенных страницах сайта? Я выпилить то выпилил, а про регистрацию забыл.
Если так мы определяем вызов для авторизованных пользователей
Код: php
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
JHtml::_('script', 'https://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.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', 'https://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js', false, true, false, false, $debug);
JHtml::_('script', 'system/core.js', false, false);
JHtml::_('script', 'system/mootools-more.js', false, true, false, false, $debug);
self::$loaded[__METHOD__][$type] = true;}
То как определить вызов для конкретной страницы на сайте, например mysite.ru/register.html
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
2 Варианта. 1 наверное будет лучше
Код: php-brief
if (JRequest::getVar('option', null) =='com_users'){}
if ($_SERVER['REQUEST_URI'] =='/register.html'){}
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Плагин активации загрузки или отключения библиотеки Mootools в зависимости от пункта меню сайта.
http://extensions.joomla.org/extensions/core-enhancements/performance/mootools/22236

Потрясающе удобный плагин.
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
В очередной раз убеждаюсь, что многие хорошие вещи проходят незамеченными.

Ещё одном из последних релизов J 1.5 появилось прекрасное событие onBeforeCompileHead
До сих пор не видел чтобы его использовали в каком-нибудь из подобных плагинов.
*

vaymohk

  • Захожу иногда
  • 258
  • 1 / 0
  • Ingtimes.ru | Новости Ингушетии
Здесь хорошая статья про ускорение сайта на Joomla
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Здесь хорошая статья про ускорение сайта на Joomla
Где?
кодинг на php.
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Здесь хорошая статья про ускорение сайта на Joomla
Где?
:laugh: :laugh: :laugh:
*

vaymohk

  • Захожу иногда
  • 258
  • 1 / 0
  • Ingtimes.ru | Новости Ингушетии
:laugh: :laugh: :laugh:
Где?
Блин забыл ссылку вбить)) Сейчас уже потерял ее я собираю курс по оптимизации скорости сайта на Joomla 2.5. Скоро выложу))
*

StyleRocket

  • Давно я тут
  • 567
  • 4 / 3
ребят, проконсультируйте пожалуйста!
Установил на главной модуль слайдера, очень хороший, но у него вроде версия jQuery 1.5.2 хотя версия свежая.
Имею уже установленный плагин GoogleAjaxLib и установлена подгрузка версии 1.8.2
Можно ли оставить так, не будет ли конфликта или лишней перегрузки сайта плагинами jQuery? или можно отключить как-то в модуле, используя только актуальную версию сайта?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Отключите 1.5.2 и посмотрите, не перестал ли работать. Конфликта быть не должно, но перегруз из за дублирования одной библиотеки (пусть и разных версий) имеет место быть. Оставлять желательно актуальную версию, но если функционал сайта вполне тянет и более ранняя, то можно оставить и ее.
*

StyleRocket

  • Давно я тут
  • 567
  • 4 / 3
Нет вроде отключил полностью в модуле, в порядке, полет отличный, только вот немного страницу главная начала грузиться чуть медленнее.
PageSpeed - 85 показывает.
Можно еще вопрос, стоит ли вообще использовать 1.8.2 и сам плагин подгрузки GoogleAjaxLib, когда в принципе все остальные страницу 1.6.2 грузят, так как использую компонент JoomShopping?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Стоит использовать одну версию. Старшая от младшей зависит исправленными багами и дополнительным функционалом. Если работает на той и другой. То на ваш выбор.
*

Felisrulus

  • Новичок
  • 4
  • 0 / 0
Помогите пожалуйста! Скажите, как надо сделать что бы слово или часть слова в тексте на странице было связанно гиперссылкой с другим текстовым файлом, размещенным на сайте (pdf, doc  и так далее)
*

mocart

  • Захожу иногда
  • 112
  • 9 / 0
Можно ли сделать проверку: если jQuery не загружен с самого сайта (каким-то модулем, например), то подтянуть его с Google?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
$js = "if(!window.jQuery)
document.write(unescape('<script type=\"text/javascript\" src=\"//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js\">%3C/script%3E'));";
JFactory::getDocument()->addScriptDeclaration($js);
?>
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Код: php-brief
<?php
$js = "if(!window.jQuery)
document.write(unescape('<script type=\"text/javascript\" src=\"//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js\">%3C/script%3E'));";
JFactory::getDocument()->addScriptDeclaration($js);
?>
Метод извращеный - грузим лишний скрипт для проверки.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
ничего здесь лишнего нет. все прекрасно работает.
Я и не спорю что работает.
Но логичнее делать проверку на уровне движка, а не скриптов.
*

bandanu

  • Захожу иногда
  • 162
  • 3 / 0
Код
<?php
$itemid = JRequest::getVar('Itemid');
$munuids = array("198", "199", "200", "201", "202", "203", "204", "205", "206", "1");
if (!(in_array($itemid, $munuids))) {
?>
<?php
$document = JFactory::getDocument();
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/modal.js']);
$document->addScript('https://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js');
$document->addScript('/templates/stroy/js/core.js');
?>
я отключил везде кроме форума. 198 id родительского пункта меню, остальные вложенные.А можно ли сделать так, что бы прописывался только родительский пункт меню, а вложенные наследовали бы правило (список был бы в разы короче) 
Shustry таким образом управлял загрузкой модуля  http://joomlaforum.ru/index.php/topic,212600.msg1150443.html#msg1150443

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Оптимизация сайта

Автор joni

Ответов: 0
Просмотров: 711
Последний ответ 22.07.2023, 17:10:11
от joni
Скрипт при закрытии сайта

Автор Mick_20

Ответов: 8
Просмотров: 1016
Последний ответ 14.06.2023, 18:40:20
от effrit
Не работает Вебвизор Яндекс из-за mootools

Автор MultiMatrix83

Ответов: 5
Просмотров: 2017
Последний ответ 01.03.2022, 14:40:23
от draff
Кнопка “Добавить в корзину” VirtueMart не работает на главной странице сайта

Автор max_max

Ответов: 0
Просмотров: 6437
Последний ответ 20.04.2021, 12:40:37
от max_max
[FAQ] Ускоряем загрузку сайта (руководства и инструменты)

Автор Fedor Vlasenko

Ответов: 117
Просмотров: 99790
Последний ответ 05.11.2020, 19:53:12
от Grigoriy82