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

alexingloire

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Доброго времени суток всем!
Не могу разобраться почему не работает меню третьего уровня и куда что прописывать. Сейчас выпадающее меню стоит здесь: КАТАЛОГ - СИЛОВЫЕ ТРАНСФОРМАТОРЫ - ТМГ
Но ТМГ не показывается. Где-то на форумах нашла решение в виде подключения вот этих 2 файлов:
bootstrap-fix.css
Спойлер
[свернуть]
bootstrap-fix.js
Спойлер
[свернуть]
Подключила. Теперь если руками через редактор кода в Chrome вставить класс "dropdown-submenu" в этот пункт меню "Силовые трансформаторы", то меню выпадает (скрин ниже)  ::) Но теперь я не знаю, где это вставить в коде сайта..или может вообще как-то по-другому можно сделать :/ Уже весь мозг себе поломала) Буду признательна за помощь!


« Последнее редактирование: 05.10.2016, 15:26:11 от alexingloire »
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
найдите где у вас ссылкам присваивается класс "parent" и добавьте туда же "dropdown-submenu"
*

alexingloire

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Меню у меня выводится этим скриптом. Если добавить к нему класс dropdown-submenu,


то меню выводится только так :/


что я делаю не так?
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Меню у меня выводится этим скриптом
нет, я имею в виду вообще это меню - выводите чем? обычный модуль mod_menu или какой-то сторонний?
*

alexingloire

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Да, обычным модулем mod_menu, который в Joomla встроено.
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Файл /templates/папка_шаблона/html/mod_menu/default.php есть?
Если нет, то скопируйте его из /modules/mod_menu/tmpl/default.php и в нем поменяйте строку
Код: php
$class .= ' parent';
на
Код: php
$class .= ' parent dropdown-submenu';
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
А в параметрах пункта меню прописать класс ссылке .
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
А в параметрах пункта меню прописать класс ссылке .
так может и не сработать, напр. получится
<li><a class="my-class">Пункт меню</a>
вместо
<li class="my-class"><a>Пункт меню</a>
*

alexingloire

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Файл /templates/папка_шаблона/html/mod_menu/default.php есть?
Если нет, то скопируйте его из /modules/mod_menu/tmpl/default.php и в нем поменяйте строку
Код: php
$class .= ' parent';
на
Код: php
$class .= ' parent dropdown-submenu';
Сделала все так, как вы написали и результат получился точно такой же, как на скрине выше - меню сразу вправо выпадает :(
*

alexingloire

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
На велосипедах и костылях все заработало.
Убрала 83 строчку скрипта на скрине вверху - каретку, чтобы не двоилась в меню и заменила файлы в папке HTML на архив (NL) с этого сайта (не реклама) http://www.joomla-study.ru/fishki/modul-menyu-s-vypadayushchimi-spiskami, убрав то, что красным подсвечено.

   
Цитировать
if ($item->deeper) {
      if ($item->level < 2) {
         $class .= ' dropdown deeper';
      }
      else {
         $class .= ' dropdown-submenu deeper';
      }
   }

Потому что с этим классом dropdown меню 2 уровня выпадало при наведении мыши, а мне это не нужно было. Теперь все работает. Спасибо всем, кто откликнулся!  :-*
« Последнее редактирование: 05.10.2016, 15:28:36 от alexingloire »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Двойное меню

Автор cirip

Ответов: 0
Просмотров: 1504
Последний ответ 05.11.2024, 23:19:21
от cirip
Пункт меню Текстовый разделитель ведет на главную страницу

Автор zahar_92

Ответов: 8
Просмотров: 4685
Последний ответ 27.07.2023, 13:37:17
от ei-dos
[РЕШЕНО]Скрыть пункт меню на мобильных устройствах

Автор lexxbry

Ответов: 16
Просмотров: 7421
Последний ответ 23.05.2023, 07:22:49
от geral
Цвет фона меню

Автор IhorPH

Ответов: 7
Просмотров: 3173
Последний ответ 21.03.2023, 11:47:29
от marksetter
OffCanvas меню Helix Ultimate добавить текст к иконке

Автор Andre100

Ответов: 2
Просмотров: 4158
Последний ответ 20.03.2023, 12:42:49
от Andre100