Новости 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

Перевод и публикация интервью с Joomla евангелистом на греческом портале Joomla

Перевод и публикация интервью на греческом портале Joomla 🇬🇷

Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉

Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции. Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉

До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊

Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью.

Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент.

🌐 Оригинальное интервью (на английском)
🇬🇷 Интервью на греческом портале (joomla.gr)

Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

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

Fell-x27

  • Новичок
  • 5
  • 0 / 0
ИМХО, возможность определять местоположение вывода JComments посредством указания позиции, определяемой шаблоном, а не переносами строк кода (используемых не только JComments) в оверрайде, была бы просто невероятно удобна. Если есть такая возможность - ткните носом.

Я про такие конструкции в шаблоне:
Код
<jdoc:include type="modules" name="position_name"/>
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Использование position-секций
« Ответ #1 : 15.06.2012, 20:18:15 »
JComments может отображаться где угодно в пределах области вывода текущего компонента. Где именно он выводится зависит от конкретной интеграции. В стандартном компоненте материалов он выводится с помощью плагина Content - JComments, который умеет показывать комментарии после статьи. Но, если очень нужно, то в этом компоненте можно изменять вывод комментариев без правки кода шаблона - просто разместите в теле статьи тег {jcomments} и блок комментариев появится вместо этого тега, а не в конце статьи.
*

Fell-x27

  • Новичок
  • 5
  • 0 / 0
Re: Использование position-секций
« Ответ #2 : 15.06.2012, 20:29:39 »
Я имел ввиду вывод в произвольном месте шаблона. Именно в том <div>, например, где нужно именно согласно задумке.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Использование position-секций
« Ответ #3 : 15.06.2012, 20:34:50 »
Ну дело в том, что компонент JComments вызывается из какого-либо другого компонента и в силу этого ограничения он может отображаться только в пределах области вывода этого компонента. В конечном счете JComments это компонент, поэтому отображаться ему в позициях модулей это как бы не с руки. Теоретически можно конечно реализовать модуль для этих целей, но в ближайшее время я это не планирую. Есть другой вариант - доработать системный плагин и добавить поддержку некоего тега типа {jcomments object_group=com_content object_id=5} и потом на событии onAfterRender заменять этот тег на комментарии. Теоретически - можно, но не уверен, что реализую в ближайшее время.
*

Fell-x27

  • Новичок
  • 5
  • 0 / 0
Re: Использование position-секций
« Ответ #4 : 15.06.2012, 21:17:16 »
Ну дело в том, что компонент JComments вызывается из какого-либо другого компонента и в силу этого ограничения он может отображаться только в пределах области вывода этого компонента. В конечном счете JComments это компонент, поэтому отображаться ему в позициях модулей это как бы не с руки. Теоретически можно конечно реализовать модуль для этих целей, но в ближайшее время я это не планирую. Есть другой вариант - доработать системный плагин и добавить поддержку некоего тега типа {jcomments object_group=com_content object_id=5} и потом на событии onAfterRender заменять этот тег на комментарии. Теоретически - можно, но не уверен, что реализую в ближайшее время.

Спасибо за разъяснение. А в Joomla! можно объявлять собственные события? Просто я в ней пока только учусь.

 Тогда было бы все совсем просто.
У меня тело статьи отображается в одном диве, а комментарии в другом. Я это сделал за счет оверрайда com_content, разнеся внутри него данные по нужным мне дивам. Проверено-работает.

Но, при этом используется обработчик события, привязываемого, по идее не только к комментариям. При этом если можно было бы определить свое событие, которое бы дергало комментарии, то можно было бы определять его позицию внутри com_content более гибко и без потенциального вреда для верстки.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Использование position-секций
« Ответ #5 : 15.06.2012, 23:40:04 »
Ну теоретически можно вообще отказаться от использования плагина Content - JComments и вызывать комментарии напрямую из переопределенного шаблона com_content. Но тогда придется распрощаться с имеющимися настройками плагина и еще кое-каким функционалом.
*

Fell-x27

  • Новичок
  • 5
  • 0 / 0
Re: Использование position-секций
« Ответ #6 : 17.06.2012, 13:29:26 »
Да, не нашел в ЧАВО - а можно ли переопределить шаблон Jcomments через папку HTML шаблона для сайта? Да, я знаю про папку с шаблонами внутри самого Jcomments, но было бы очень удобно, если бы все можно было провернуть через шаблон самого сайта. Пытался и так и сяк - не читается пользовательский шаблон из HTML ((
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Использование position-секций
« Ответ #7 : 18.06.2012, 10:52:50 »
Можно, и на форуме я описывал как это сделать.
*

Fell-x27

  • Новичок
  • 5
  • 0 / 0
Re: Использование position-секций
« Ответ #8 : 18.06.2012, 12:46:37 »
Можно, и на форуме я описывал как это сделать.
Да, вроде нашел то что нужно:

 /templates/шаблон/html/com_jcomments/default

спасибо:)

P.S. Да, работет, все грузится именно из шаблона сайта. Спасибо еще раз огромное.
« Последнее редактирование: 18.06.2012, 12:51:38 от Fell-x27 »
*

apatiger

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Re: Использование position-секций
« Ответ #9 : 28.07.2012, 06:29:04 »
Можно, и на форуме я описывал как это сделать.
Я чего-то не нашел где, не поможете ссылочкой! А вообще проблема такого плана: можно ли завести блок комментариев в текстовое поле, а не как сейчас под ним. Хочется получить возможность на страничке материала таблером или спойлером блоки комментариев под закладки спрятать. Как такое реализовать? Борюсь с "чулком" по вертикали вывода материала. Заранее спасибо!
*

apatiger

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Re: Использование position-секций
« Ответ #10 : 28.07.2012, 06:32:34 »
JComments может отображаться где угодно в пределах области вывода текущего компонента. Где именно он выводится зависит от конкретной интеграции. В стандартном компоненте материалов он выводится с помощью плагина Content - JComments, который умеет показывать комментарии после статьи. Но, если очень нужно, то в этом компоненте можно изменять вывод комментариев без правки кода шаблона - просто разместите в теле статьи тег {jcomments} и блок комментариев появится вместо этого тега, а не в конце статьи.
Вот этот момент работать никак не хочет либо никак, либо за пределами статьи...
*

nthanter

  • Захожу иногда
  • 55
  • 1 / 1
Re: Использование position-секций
« Ответ #11 : 08.03.2013, 14:54:00 »
Smart, скажите а можно ли сделать так чтобы после публикации комментарии форма скрывалась автоматически? В данное время у меня она по настройке загружается по ссылке "Добавить комм." т.к. форма добавки комментарии скрыта. Но после добавления комментарии она остается открытой, можно ли реализовать так что бы она автоматом скрывалась?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Использование position-секций
« Ответ #12 : 07.05.2013, 15:03:09 »
можно ли реализовать так что бы она автоматом скрывалась?
А зачем?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться