Новости Joomla

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

👩‍💻 Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях. На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд. Добавив индекс для таблицы #__content

CREATE INDEX idx_catid_state ON #__content (catid, state);
он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на STRAIGHT_JOIN для категорий.
// ->from($db->quoteName('#__content', 'a'))->from(    $db->quoteName('#__content', 'a')    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))
Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера. Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.
Дискуссию на GitHub можно почитать здесь.@joomlafeed#joomla #community #php

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

ubunturb

  • Осваиваюсь на форуме
  • 41
  • 0 / 1
  • alert("Двойник Брюса живет в Херсоне");
Хочу установить скрипт jQuery который увеличивает изображение.
Скрипт и все остальное работает на простой хтмл страничке а в Joomla нехочет.
сначала нужно подключить файлы к страничке я их подключаю в файле index.php в папке шаблона
Код: html4strict
<script language="JavaScript" type="text/javascript" src="js/jquery.js"></script>
<script language="JavaScript" type="text/javascript" src="js/jquery.magnifier.js"></script>

далее для работы нужно для изображения указать просто класс class="magnify" к изображению, я в статье беру изображение и добавляю к нему класс, а также уменьшаю изображение при помощи уменьшения параметров width="50" height="50". Для того чтобы происходило что-то типа превью.

На обычной хтмлке все работает как часы. Но в Joomla не могу так сделать.

Что посоветуете?  
« Последнее редактирование: 15.10.2010, 19:48:53 от Forget-me-not »
*

eX

  • Захожу иногда
  • 256
  • 72 / 0
Re: Подключить jQuery к Joomla
« Ответ #1 : 06.10.2009, 05:34:31 »
Для Joomla 1.5:
Код
<script language="JavaScript" type="text/javascript" src="<?php echo $this->baseurl ?>/js/jquery.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo $this->baseurl ?>/js/jquery.magnifier.js"></script>

Для Joomla 1.0
Код
<script language="JavaScript" type="text/javascript" src="<?php echo $mosConfig_live_site ?>/js/jquery.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo $mosConfig_live_site ?>/js/jquery.magnifier.js"></script>

Папка js с файлами должна лежать в корне сайта
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Подключить jQuery к Joomla
« Ответ #2 : 28.11.2009, 08:31:58 »
И вообще рекомендую подключать квери с гугля. Нет проблем с путями, быстрее загрузка за счет кеширования и CDN
Код
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

denkog

  • Осваиваюсь на форуме
  • 46
  • 9 / 0
Re: [Решено] Подключить jQuery к Joomla
« Ответ #3 : 13.11.2010, 12:01:36 »
Получаем объект Document
$document=JFactory::getDocument();


Подключаем CSS
$csspath=JUri::root()."/components/$option/css/default.css";
$document->addStyleSheet($csspath);

Подключаем JS
$script1=JUri::root()."/components/$option/js/swfupload.js";
$script2=JUri::root()."/components/$option/js/swfupload.queue.js";
$script3=JUri::root()."/components/$option/js/fileprogress.js";
$script4=JUri::root()."/components/$option/js/handlers.js";

$document->addScript($script1);
$document->addScript($script2);
$document->addScript($script3);
$document->addScript($script4);
*

denkog

  • Осваиваюсь на форуме
  • 46
  • 9 / 0
Re: [Решено] Подключить jQuery к Joomla
« Ответ #4 : 25.11.2010, 13:38:01 »
Не, не так все это. Затупил и не то скинул.
Вообщем так.
Подключить jQuery можно одним единственным путем.
(И учтите что у вас может на сайте работать целая куча фремворков JS)

Вообщем решил я ее следующем образом.

$option = 'com_bcatalog';
$base = JUri::root().'components/'.$option.'/js/'; - Папка с jQuery

$document = &JFactory::getDocument();
$noconflict = "jQuery.noConflict();";
$document->addScriptDeclaration($noconflict);
JHTML::script('jquery.js',$base,true);
$document->addScript($base.'jquery.js');

Все jQuery - Работает на 100%
А вот всякие файлики со скриптами грузите через представления.
View->tmpl->default.php - Короче надо прописывать в каждый фаил

типа того:

<script type="text/javascript" src="<?=$base;?>jquery.validate.js"></script>

и самое главное как же теперь использовать jQuery.
пишем в коде
<script type="text/javascript">

jQuery(function($){
        /****************
        /*Ваш код теперь может начинаться со знака "$")
        /****************
         $(document).ready(function(){
             
         /*Лучше всего все операции проделывать после загрузки страницы.
          $("div").append("<input type='button' value='ok'/>");

        });
});


</script>


*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: [РЕШЕНО] Подключить jQuery к Joomla
« Ответ #5 : 25.11.2010, 13:53:57 »
А разве так нельзя?
$document = &JFactory::getDocument();
$document->addScriptDeclaration('jQuery.noConflict();');
$document->addScript(JUri::root().'components/com_bcatalog/js/jquery.js');

Если в шаблон:
<script language="JavaScript" type="text/javascript" src="<?php echo $this->baseurl ?>/js/jquery.js"></script>
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 4022
Последний ответ 12.11.2023, 23:37:03
от all_zer
Нужно wiki под Joomla

Автор THE KILLERS

Ответов: 9
Просмотров: 9692
Последний ответ 05.11.2020, 20:56:47
от Kijv
как подключить собственный css-файл

Автор crlf

Ответов: 19
Просмотров: 5315
Последний ответ 27.08.2020, 10:13:38
от vasmed
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2195
Последний ответ 14.08.2020, 07:16:44
от rsn
[Решено] Проблема с авторизацией Invalid Token

Автор treX

Ответов: 100
Просмотров: 97144
Последний ответ 06.10.2019, 16:55:45
от PaLyCH