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

Lemady

  • Захожу иногда
  • 86
  • 3 / 0
Реклама в статьях
« : 29.01.2017, 10:32:04 »
Всем доброго дня. Нужно мне в статьи вставить рекланый блок Яндекса. Создала модуль, вставила в него нужный код. Скачала модуль Modules Anywhere. Беру первую статью, настраиваю. Беру вторую статью, настраиваю...но этих статей там порядка 6тыс... Все, что нашла - для AdSense, для Яндекса нету. Не подскажите готовое расширение, что бы вставить рекламный блок сразу после заголовка статьи во всех статьях? Joomla 3.
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Re: Реклама в статьях
« Ответ #1 : 29.01.2017, 11:00:27 »
Зачем для каждой статьи модуль создавать?
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Реклама в статьях
« Ответ #2 : 29.01.2017, 11:07:54 »
Переопределите макет компонента, view article, и добавьте в него все, что захотите.
*

Lemady

  • Захожу иногда
  • 86
  • 3 / 0
Re: Реклама в статьях
« Ответ #3 : 29.01.2017, 11:14:06 »
Зачем для каждой статьи модуль создавать?
Познакомьтесь с этим модулем, а потом спрашивайте. В статьях только код прописывается, а не модуль создается.

Переопределите макет компонента, view article, и добавьте в него все, что захотите.
Не подскажете ссылочку, где почитать об этом?
« Последнее редактирование: 29.01.2017, 11:17:18 от Lemady »
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Реклама в статьях
« Ответ #4 : 29.01.2017, 11:34:59 »
Ну можно точечно:не показывать заголовок статьи, в самой статье сделать заголовок, под ним вставкой адвансед модуль, в него ваш код.
И в модуле обрамить тем же дивом и для него стили.
Почему адвансед:код резать не будет 100%.
http://www.pluginaria.com/custom-html-advanced.html
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Re: Реклама в статьях
« Ответ #5 : 29.01.2017, 11:53:26 »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Реклама в статьях
« Ответ #6 : 29.01.2017, 11:53:38 »
Не подскажете ссылочку, где почитать об этом?

Полно информации в сети. Погуглите "Переопределение шаблона" или "Переопределение макета" + Joomla! Но если вкратце: переходим в админке в "Расширения" => "Менеджер шаблонов" => "Шаблоны" => "Параметры (используемого шаблона)" => "Создать переопределение" => "com_content/article". После этого вы можете изменить макет в папке "шаблон/html/com_content/article/default.php".
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Реклама в статьях
« Ответ #7 : 29.01.2017, 12:16:27 »
Можно сделать проще, опубликовать модуль где нибудь на сайте так, чтобы сам блок был изначально скрыт и добавить немного jquery
Код: javascript
// вставить что-то после чего то
// модуль после второго абзаца
var p2 = $(".item-page p:nth-of-type(2)");
if (p2) {
var user8content = $('#user8').html(); // получили HTML модуля по заданному ID или классу можно и вставили после 2-го абзаца материала
$(p2).after('<div id="loadmod_wrapper">'+user8content+'<div class="clear"></div></div>');
}

То есть аналогично сделать для задачи
Цитировать
вставить рекламный блок сразу после заголовка статьи во всех статьях?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Re: Реклама в статьях
« Ответ #8 : 29.01.2017, 12:42:51 »
Прежде чем говорить о некомпетентности, удосужились бы почитать элементарное про Joomla, а потом уже возникать)
Модуль вставляется в позицию шаблона. В настройках модуля можно выбрать страницы, на которых отображать или нет данный модуль. Поэтому было б достаточно один раз создать модуль в необходимой позиции, чем добавлять в каждую статью.
Не говоря уже о более простых решениях.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Реклама в статьях
« Ответ #9 : 29.01.2017, 12:49:40 »
Ну ТС же хочет не модульную позицию, а вставка в материал.
Как выше писали, да, можно переопределить, для автоматического, но опять же, это не есть хорошо, т.к. не сможете отключить, не лезя в код.
Я склоняюсь к модулю в статью, расширенного. Дольше немного по времени, не спорю, зато уверенно!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Реклама в статьях
« Ответ #10 : 29.01.2017, 12:50:56 »
Кстати да, зачем переопределять шаблон материала, достаточно просто в \templates\шаблон\html\com_content\article\default.php в нужное место добавить модуль по образцу вот этой статьи
Где не надо просто не публиковать модуль.
Два простых решения, можно выбирать любой подход.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Реклама в статьях
« Ответ #11 : 29.01.2017, 12:51:09 »
Цитировать
Как выше писали, да, можно переопределить, для автоматического, но опять же, это не есть хорошо
Это есть хорошо. И это очень хорошо :)
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Реклама в статьях
« Ответ #12 : 29.01.2017, 12:53:25 »
Это есть хорошо. И это очень хорошо :)
И вам доброе, Филипп.
Тогда уже для контроля в админке писать, чтобы можно было вкл/выкл/смена.

// Я к тому, что вариант изменения в коде, чем неудачен, что опять потом менять.
Или писать плагин для админки, или ручками вставкой модуля.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Lemady

  • Захожу иногда
  • 86
  • 3 / 0
Re: Реклама в статьях
« Ответ #13 : 29.01.2017, 13:05:11 »
Прежде чем говорить о некомпетентности, удосужились бы почитать элементарное про Joomla, а потом уже возникать)
Модуль вставляется в позицию шаблона. В настройках модуля можно выбрать страницы, на которых отображать или нет данный модуль. Поэтому было б достаточно один раз создать модуль в необходимой позиции, чем добавлять в каждую статью.
Не говоря уже о более простых решениях.

Вы хоть понимаете, что пишите? Я прекрасно знаю, что такое модульные позиции и что и как в них вставляется. Модульные позиции изначально заданы в теле шаблона. Материал выводится в одной модульной позиции, а задача стоит разместить баннер под заголовком материала. Как вы это себе представляете с помощью модульных позиций решить? Не знаете ответа на вопрос - не нужно казаться умным!
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Реклама в статьях
« Ответ #14 : 29.01.2017, 13:10:16 »
ТС,(не ругайтесь), а чем не устраивает вставка, мною, выше написана?
То, что ручками и время займёт?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Реклама в статьях
« Ответ #15 : 29.01.2017, 13:15:23 »
Вы можете создать модульную позицию в макете статьи (можно через Modules Anywhere, но я бы просто так отрендерил фреймом J!).
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Реклама в статьях
« Ответ #16 : 29.01.2017, 13:26:10 »
Переопределите макет статьи в вашем шаблоне Joomla и создайте в нём модульную позицию в том месте где хотите видеть рекламу, в данном случае сразу под заголовком. Как по мне это лучшее решение. Я бы сделал так.
*

Lemady

  • Захожу иногда
  • 86
  • 3 / 0
Re: Реклама в статьях
« Ответ #17 : 29.01.2017, 14:05:31 »
ТС,...а чем не устраивает вставка, мною, выше написана?
То, что ручками и время займёт?
Я сделала, как Филипп Сорокин порекомендовал - сделала перенаправление, нашла нужное место и вставила код прямо туда. Обновляю страницу, баннера нет. Смотрю исходный код - код яндекса вставился. Думаю, вопрос можно считать решенным, а отсутствие баннера, наверное, связано с Яндексом...

Благодарю всех за советы!
*

fsv

  • Живу я здесь
  • 2782
  • 411 / 2
Re: Реклама в статьях
« Ответ #18 : 29.01.2017, 15:12:24 »
Код: javascript
var p2 = $(".item-page p:nth-of-type(2)");
if (p2) {}
Так условие всегда выполняется, p2 будет всегда, объект с нулевой длиной.
Код
Object { selector: ".item-page p:nth-of-type(2)", length: 0, prevObject: Object, context: HTMLDocument → / }
Лучше так
Код
if ( $(p2).length ) {}
или без jq обертки
Код
if ( p2.length ) {}
Веб-разработка: заказ. Только новая разработка.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Реклама в статьях
« Ответ #19 : 29.01.2017, 16:31:06 »
Так условие всегда выполняется, p2 будет всегда, объект с нулевой длиной.
согласен, это код из проекта где всегда есть абзацы, можно изначально сделать пустую переменную либо проверку как приведено
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

axel030392

  • Захожу иногда
  • 76
  • 1 / 0
  • ЯБлог тут нет
Re: Реклама в статьях
« Ответ #20 : 07.02.2017, 16:50:48 »
Можно сделать проще, опубликовать модуль где нибудь на сайте так, чтобы сам блок был изначально скрыт и добавить немного jquery
Код: javascript
// вставить что-то после чего то
// модуль после второго абзаца
var p2 = $(".item-page p:nth-of-type(2)");
if (p2) {
var user8content = $('#user8').html(); // получили HTML модуля по заданному ID или классу можно и вставили после 2-го абзаца материала
$(p2).after('<div id="loadmod_wrapper">'+user8content+'<div class="clear"></div></div>');
}

То есть аналогично сделать для задачи
Можете поподробней объяснить как это делать и куда что вятвлять?
Что это - user8content ? это - #user8 ? что там в них надо менять. Понятно только про loadmod_wrapper загрузка позиции, и почему то через div а не "<?php echo JHtml::_('content.prepare', '{loadposition zzzz}'); ?>" Куда все это вставлять?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Реклама в статьях
« Ответ #21 : 07.02.2017, 23:52:44 »
Можете поподробней объяснить как это делать и куда что вятвлять?
У меня был просто пример, вот рабочий образец, вставляет блок перед каждым H3 https://jsfiddle.net/beliyadm/t6n3Lpwd/
Дальше по образцу, используем JS для вставки ранее скрытого объекта (модуля) в нужное место
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как добавить текст на раздел без отображения на всех внутренних и статьях?

Автор Igor5

Ответов: 1
Просмотров: 1830
Последний ответ 24.11.2022, 18:35:04
от beliyadm
Чужая реклама в ссылке!

Автор TimRT

Ответов: 4
Просмотров: 700
Последний ответ 20.01.2022, 20:35:07
от anatol81n
Изменить данные автора в статьях

Автор pavel33

Ответов: 1
Просмотров: 642
Последний ответ 05.11.2021, 18:17:08
от darkghost
Навигация в статьях добавить условие

Автор vladsklyar

Ответов: 4
Просмотров: 805
Последний ответ 08.09.2020, 20:12:10
от gartes
Вывод навигатора сайта и модуля в статьях

Автор stitch808

Ответов: 10
Просмотров: 786
Последний ответ 28.06.2020, 12:17:07
от stitch808