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

ka4_piton

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Доброй ночи! На сайте мне нужно выводить материал с определенной категории, положим будет 2 категории, дизайн каждой будет отличатся, подскажите как указать в настройках категории, какой макет использовать.
За вывод материала из определенной категории отвечает файл components\com_content\views\category\tmpl\default_articles.php

Я так понимаю, что для решения моей задачи необходимо создать несколько копий этого файла с разными названиями и впоследствии отредактировать каждый файл, изменив тем самым внешний вид страницы которая будет отображать список материала, ну во всяком случае так делается в Wordpress, и потом мне нужно в настройках категории выбрать файл.
Правильно ли я понимаю процесс создания разных шаблонов для разных категорий? И кстати сделав несколько копий этого файла, не смог найти где выбрать с какого подгружать данные.

Спасибо!
*

Sergey2

  • Давно я тут
  • 651
  • 15 / 1
Да, все правильно. В пункте меню, где выбираешь какую категорию выводить есть пункт "стиль шаблона". Там и выбираешь. И создать "копию" можно через админку. Расширения - менеджер шаблонов. Жмешь на шаблон (не стиль шаблона, а именно шаблон). И там жмешь "создать переопределение". И потом выбираешь
*

ka4_piton

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Да, все правильно. В пункте меню, где выбираешь какую категорию выводить есть пункт "стиль шаблона". Там и выбираешь. И создать "копию" можно через админку. Расширения - менеджер шаблонов. Жмешь на шаблон (не стиль шаблона, а именно шаблон). И там жмешь "создать переопределение". И потом выбираешь

Переопределение создал, но вот в меню с нужной категорией когда нажимаю "стиль шаблона" то там ничего не появилось.
*

Sergey2

  • Давно я тут
  • 651
  • 15 / 1
А переопределние для чего ты создал?
*

ka4_piton

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
А переопределние для чего ты создал?

com_content\categories

Ведь файлы в этой директории отвечают за вывод материалов с определенных категорий.
*

ka4_piton

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
А переопределние для чего ты создал?

Создал для "Макеты" - content и для Компоненты - com_content\categories
*

Sergey2

  • Давно я тут
  • 651
  • 15 / 1
а категории как выводятся - блогом или списком? На категорию пункт меню есть? Там есть ньюанс - если меню ссылается на категорию, то нужно делать новый тип меню с этим шаблоном и именно им выводить каталог
*

ka4_piton

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
а категории как выводятся - блогом или списком? На категорию пункт меню есть? Там есть ньюанс - если меню ссылается на категорию, то нужно делать новый тип меню с этим шаблоном и именно им выводить каталог

Я понял, думал будет легче) Это мне нужно создать копию моего шаблона, там выводить точно такую же инфу как и на основном жуть. Что же все так сложно то(
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
А разве это не "Альтернативный макет" в настройках категории? Что-то усложняете.
*

Sergey2

  • Давно я тут
  • 651
  • 15 / 1
Я рассказал как я делал. Создал копию файлов, добавил туда XML и создавал пункт меню "своего" типа. Я, кстати, спрашивал на форуме, нельзя ли как то попроще - мне ничего не ответили
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Я понял, думал будет легче) Это мне нужно создать копию моего шаблона, там выводить точно такую же инфу как и на основном жуть. Что же все так сложно то(

Не надо делать копию шаблона . Надо переопределить макет для меню со своим выводом . Надо внимательнее читать, вроде бы достаточно подробно Вам это описали :
Я рассказал как я делал. Создал копию файлов, добавил туда XML и создавал пункт меню "своего" типа.
Для каких файлов сделать копии, тоже вроде описали . Если тип меню блог категории, это файл category/blog.php и сопутствующие ему файлы . Если список, то файл category/default.php . А файлы в папке categories отвечают за вывод списка всех категорий .



А разве это не "Альтернативный макет" в настройках категории? Что-то усложняете.
И Sergey2 прав, если на категорию есть пункт меню, то он перебивает альтернативный макет категории . Надо переопределить именно макет в меню .
Ответы на вопросы по CSS . Откройте для себя Firebug
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Съезжают модули на странице материала

Автор sibdes

Ответов: 3
Просмотров: 3095
Последний ответ 24.04.2023, 12:50:21
от beliyadm
Где в Joomla 3.4.3 шаблон материала? Шаблон Yootheme Organic

Автор annushka

Ответов: 13
Просмотров: 5863
Последний ответ 13.09.2022, 11:14:56
от tuztref
Отображение модуля меню на странице материала

Автор kunsaid

Ответов: 9
Просмотров: 1308
Последний ответ 21.07.2021, 10:50:29
от kunsaid
Категории как в joomla1.5 при добавлении/редактировании материала

Автор virtucom

Ответов: 1
Просмотров: 1124
Последний ответ 11.02.2021, 17:38:28
от virtucom
Изменить верстку дополнительного поля Radio в форме создания материала

Автор spro1

Ответов: 4
Просмотров: 959
Последний ответ 10.09.2020, 18:17:45
от sivers