Новости 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 Гость просматривают эту тему.
  • 12 Ответов
  • 1009 Просмотров
*

Spirit9n

  • Новичок
  • 9
  • 0 / 0
Отображение модуля
« : 15.09.2015, 10:21:30 »
Всем доброго дня! Прошу помочь с решением проблемы. Есть модуль, со стандартной позицией right. Как сделать так, чтобы при отсутствии опубликованных модулей, данная позиция не отображалась в шаблоне? Заранее прошу прощения, если данная тема ранее обсуждалась на форуме
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Отображение модуля
« Ответ #1 : 15.09.2015, 11:01:40 »
А колонка и не должна отображаться и не отображается, если в ней нет опубликованных модулей.
Шаблон?Версия J?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Spirit9n

  • Новичок
  • 9
  • 0 / 0
Re: Отображение модуля
« Ответ #2 : 15.09.2015, 11:36:56 »
А колонка и не должна отображаться и не отображается, если в ней нет опубликованных модулей.
Шаблон?Версия J?
Шаблон свой. Joomla 3.4.2
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Отображение модуля
« Ответ #3 : 15.09.2015, 11:47:32 »
Шаблон свой. Joomla 3.4.2
Видно у вас шаблон ваш некорректно свёрстан.

Или воспользуйтель готовым решением (мануал+ссылка на офф.сайт для скачивания):
http://joomla-secrets.ru/interesnye-stati-i-obzory/hochu/nastrojka-joomla/142-usloviya-otobrazheniya-modulya-joomla
а вообще почистите кеш и ! посмотрите, какой стиль шаблона открывает меню(в настройках меню)
может у вас открывает левый шаблон, а там правая колонка.
тут только гадать.
« Последнее редактирование: 15.09.2015, 11:58:13 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Spirit9n

  • Новичок
  • 9
  • 0 / 0
Re: Отображение модуля
« Ответ #4 : 15.09.2015, 12:25:58 »
Видно у вас шаблон ваш некорректно свёрстан.

Или воспользуйтель готовым решением (мануал+ссылка на офф.сайт для скачивания):
http://joomla-secrets.ru/interesnye-stati-i-obzory/hochu/nastrojka-joomla/142-usloviya-otobrazheniya-modulya-joomla
а вообще почистите кеш и ! посмотрите, какой стиль шаблона открывает меню(в настройках меню)
может у вас открывает левый шаблон, а там правая колонка.
тут только гадать.
позиция right предусмотрена в паре-тройке разделов, но в тех разделах, где позиция right ни к чему, хотелось бы видеть не пустое место, а полное отсутствие данной позиции
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Отображение модуля
« Ответ #5 : 15.09.2015, 12:34:09 »
где позиция right ни к чему, хотелось бы видеть не пустое место, а полное отсутствие данной позиции

Видно у вас шаблон ваш некорректно свёрстан.

Повторюсь, если правильно свёрстан шаблон, без опубликованных модулей вся колонка не будет отображаться!
Её просто не будет (а не пустое место).

Опубликуйте Protostar (у вас есть в движке, если не удалили).Посмотрите, пустое место или нет колонки?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Отображение модуля
« Ответ #6 : 15.09.2015, 13:01:11 »
Нужно прописывать условия для вывода

Для основного блока

Код: php
<div class="<?php if($this->countModules('right')) {echo "content";} else {echo "contentall";} ?>">
<jdoc:include type="component" />
</div>

Для колонки сайдбара

Код: php
<?php if($this->countModules('right')) : ?>
<div class="right">
<jdoc:include type="modules" name="right" style="xhtml" />
</div>
<?php endif; ?>

соответственно в CSS

Код: css
.content {
width:75%;
}
.contentall {
width:100%;
}
.right{
width:25%;
}
« Последнее редактирование: 15.09.2015, 13:04:32 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Spirit9n

  • Новичок
  • 9
  • 0 / 0
Re: Отображение модуля
« Ответ #7 : 15.09.2015, 15:50:42 »
Нужно прописывать условия для вывода

Для основного блока

Код: php
<div class="<?php if($this->countModules('right')) {echo "content";} else {echo "contentall";} ?>">
<jdoc:include type="component" />
</div>

Для колонки сайдбара

Код: php
<?php if($this->countModules('right')) : ?>
<div class="right">
<jdoc:include type="modules" name="right" style="xhtml" />
</div>
<?php endif; ?>

соответственно в CSS

Код: css
.content {
width:75%;
}
.contentall {
width:100%;
}
.right{
width:25%;
}


Большое спасибо!
*

Spirit9n

  • Новичок
  • 9
  • 0 / 0
Re: Отображение модуля
« Ответ #8 : 15.09.2015, 16:10:36 »
Применил! К сожалению, ничего не вышло. Модуль по-прежнему отображается
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Отображение модуля
« Ответ #9 : 15.09.2015, 16:34:20 »
ссылку на страницу и код index.php шаблона в студию
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Spirit9n

  • Новичок
  • 9
  • 0 / 0
Re: Отображение модуля
« Ответ #10 : 16.09.2015, 15:14:10 »
ссылку на страницу и код index.php шаблона в студию

   <div class="all">
         <div class="site2">
            <div class="header">
            <a href="index.php" class="logo"></a>
               <div class="head-contact"><jdoc:include type="modules" name="head-contact" /></div>
            </div>
            
            <div class="top-menu"><jdoc:include type="modules" name="top-menu" /></div>
            <div class="submenu"><jdoc:include type="modules" name="submenu" /></div>
            
            <?php if ($this->countModules('slider')) : ?>
               <div class="slider"><jdoc:include type="modules" name="slider" /></div>
               <div class="top-right"><jdoc:include type="modules" name="top-right" /></div>
            <?php endif; ?>
            
            <?php if ($this->countModules('prem')) : ?>
               <div class="prem"><jdoc:include type="modules" name="prem" /></div>
            <?php endif; ?>
            
            <?php if ($this->countModules('top-cont')) : ?>
            <div class="left"><jdoc:include type="modules" name="left" style="xhtml" /></div>
            <div class="center">
            <?php else : ?>
            <div class="center1">
            <?php endif; ?>
            <?php if ($this->countModules('top-cont')) : ?>
               <jdoc:include type="modules" name="top-cont" style="xhtml" />
            <?php endif; ?>
            <div class="<?php if($this->countModules('right')) {echo "contentr";} else {echo "contentalls";} ?>">   <jdoc:include type="component" /></div>
            </div>
              <?php if($this->countModules('right')) : ?>   
            <div class="right"><jdoc:include type="modules" name="right" /></div>   <?php endif; ?>
            
            <?php if ($this->countModules('client')) : ?>
            <div class="client"><jdoc:include type="modules" name="client" style="xhtml"  /></div>
            <?php endif; ?>
            
            <?php if ($this->countModules('subsc')) : ?>
               <div class="subsc"><jdoc:include type="modules" name="subsc" /></div>
            <?php endif; ?>
            <div class="bottom-menu"><jdoc:include type="modules" name="bottom-menu" style="xhtml"  /></div>
            <div class="copyright"><jdoc:include type="modules" name="copyright" /></div>
         </div>
      </div>
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Отображение модуля
« Ответ #11 : 16.09.2015, 15:17:49 »
Спойлер
[свернуть]
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Spirit9n

  • Новичок
  • 9
  • 0 / 0
Re: Отображение модуля
« Ответ #12 : 16.09.2015, 15:42:28 »
Спойлер
[свернуть]
Так, по-большому счету, отсутствие style="xhtml" не влияет на проблему с отображением
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пример создания модуля с прикреплением файлов

Автор Zelyonkin

Ответов: 7
Просмотров: 1167
Последний ответ 02.08.2021, 17:04:15
от Zelyonkin
Отображение модуля меню на странице материала

Автор kunsaid

Ответов: 9
Просмотров: 1308
Последний ответ 21.07.2021, 10:50:29
от kunsaid
Как исправить отображение?

Автор itbc

Ответов: 7
Просмотров: 1098
Последний ответ 23.05.2021, 09:53:42
от itbc
[Решено] CSS-класс заголовка модуля

Автор schel4ok

Ответов: 36
Просмотров: 18868
Последний ответ 06.04.2021, 23:35:20
от Wak
Добавление модуля в шапку

Автор Bazaroff

Ответов: 8
Просмотров: 854
Последний ответ 18.01.2021, 19:59:58
от AlexB