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

sagitarius84

  • Новичок
  • 4
  • 0 / 0
Подскажите, как можно автоматически создавать меню под материал. Сайт справочник по городам и селам, создано 30000 материалов с алиасами. Сейчас тайтл - "Караганда". Под поисковик тайтл при помощи БД изменю на Карта, индексы, справочник, погода в Караганде. Теперь возник вопрос с пунктами меню. Нужно создать меню под все материалы с визуально приятным тайтлом вида "Караганда". Создавать 30000 пунктов меню как-то не очень хочется :'(, отображение при помощи стандартного шаблона раздела тоже не катит :((визуально ссылки вида Карта, индексы, справочник, погода в Караганде). Думал подойдет следующий модуль http://ext.joom.ru/moscmenutree.html, он то создает пункты автоматически, но синхронизирован с материалом (то есть если я изменю на Карта, индексы, справочник, погода в Караганде, то и тайтл пункта будет такой же), да и ссылки тоже не оптимизированные. Так вот вопрос: как все же сделать все правильно, чтобы и поисковику было хорошо и пользователю?
*

Dusted

  • Захожу иногда
  • 180
  • 49 / 0
Извиняюсь за оффтоп, но как вы себе представляете отображение 30000 пунктов меню на сайте?
Куплю ваши сайты, рассмотрю все варианты - пишите в личку.
*

sagitarius84

  • Новичок
  • 4
  • 0 / 0
Сначала области, потом переход на районы, потом в каждом районе села в 2-4 колонки на странице. Или же сделать каскадными выпадающими списками область>район>город (село). Это не проблема. Вопрос не в этом. Вариантов полно. Вопрос в том, как создать меню под материал автоматом.
*

olderman

  • Захожу иногда
  • 78
  • 0 / 1
У меня подобная задача, но гораздо менее масштабная. Задача создавать меню для материалов определенной категории. Попробовал MosCmenuTree. В принципе, меню создается, но как привязать модуль, чтобы он оставался, например, в левой колонке. Он привязан у меня к пункту верхнего горизонтального меню. И появляется при нажатии на этот пункт. Но когда выбраешь пункт в меню MosCmenuTree и открывается соответствующая страница - все это левое меню пропадает. Т.е. нарушается связь с пунктом верхнего меню или, вернее, ранее нажатый пункт перестает быть выбранным.
Подскажите, как быть? И есть ли апьтернатива MosCmenuTree, которая бы работала с loomla 1.5 без режима совместимости.
*

nicotinoff

  • Новичок
  • 9
  • 0 / 0
Такаяже проблема..
1. пропадают нужные меню при выборе материала или категории
2. в строке навигации сразу идет home>материал
нужно установить какойнить каталог
*

mer

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
может это подойдет Automatic Menu Magic:
http://alex-kurteev.ru/novosti-joomla-1.5-i-1.0/plagin-sozdaniya-punktov-menyu-automatic-menu-magic.html

"...набор из двух плагинов, которые автоматическисоздают пункты меню Joomla для размещенных статей (а также, если установлены параметрах - псевдоним или альтернативное [дополнительное] имя"

автор: http://www.derosetechnologies.com/community/joomla-automatic-menu-magic
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Я вот поставил Automatic Menu Magic - но я так и не понял как пункты создаются
*

psevan

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Я вот поставил Automatic Menu Magic - но я так и не понял как пункты создаются
Не разобрались с этим меню? Тоже на могу заставить работать.


« Последнее редактирование: 02.03.2012, 06:26:37 от psevan »
*

AdWeb

  • Давно я тут
  • 878
  • 31 / 3
а вы уверены что он под 1.7-2.5 работает? Automatic Menu Magic если судить по рус линку там версия 1.5 ток...на оф сайте не нашел описания под какую версию делалось
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
На mod_menu свет клином не сошёлся. Используйте, например, модуль Список материалов категории (mod_articles_category).
*

AdWeb

  • Давно я тут
  • 878
  • 31 / 3
это немного не то имхо, либо я не понимаю каким образом сделать из него меню навигации, по типу обычного мод_меню

ЗЫ. сам изначально планировал тоже использовать систему меню=регион-район-населенный пункт-материалы, в итоге структуру упростил до регион-список материалов категории
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

olderman

  • Захожу иногда
  • 78
  • 0 / 1
Не смог заставить работать Automatic Menu Magic под Joomla 1.5
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Сделать из него систему навигации просто. Разделим задачи:
Задача раз - разметка:
Копируем файл шаблона в папку хтмл нашего темплейта и переписываем в плоски список (<ul><li><a>)
Задача два - отличительный селектор активному пункту:
Получаем урл текущей страницы, ищем совпадение в древе нашего списка, присваиваем класс или айдишник.
Собственно, больше ничего вроде не нужно.
*

AdWeb

  • Давно я тут
  • 878
  • 31 / 3
если я правильно понял процесс не автоматизирован и надо будет дописывать ручками новые материалы
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
если я правильно понял процесс не автоматизирован и надо будет дописывать ручками новые материалы
Почему? Как раз не надо будет. Всё автоматизировано :)
*

strannik-yura

  • Давно я тут
  • 511
  • 44 / 1
  • :)
Почему? Как раз не надо будет. Всё автоматизировано :)
заинтересовался данным решением,
если не затруднит, пример кода
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Ок. Позже напрограмлю.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Собственно, у модуля "Последние новости" разметка как раз правильная разметка и минимум настроек в админке, что не может не радовать новичков. Из настроек выбираем только источник (категорию) и количество выводимых ссылок. Я ввёл 9999. Думаю, должно хватить.
Остаётся добавить только отличительный класс на активный пункт меню. Для этого копируем из modules\mod_articles_latest\tmpl\ в templates\beez_20\html\mod_articles_latest\ файл default.php и заменяем всё на:
Код: php
<?php
defined('_JEXEC') or die;
$url = JURI::getInstance(JURI::current())->getPath();
?>
<ul>
<?php foreach ($list as $item) :
?>
<li>
<a href="<?php echo $item->link; ?>"<?php if ($item->link == $url) {echo ' class="active"';}; ?>>
<?php echo $item->title; ?></a>
</li>
<?php endforeach; ?>
</ul>
Всё.
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
1. Создаёте скрытое меню.
2. Создаёте в нём пункты меню нужной структуры
3. Создаёте меню, которое публикуете на сайте
4. С помощью псевдонимов выводите что нужно, в любом порядке.
Посоветуйте, b]плагин, который при создании материала автоматом добавляет[/b] его в меню?
Желательно для Joomla 3

http://www.derosetechnologies.com/community/joomla-automatic-menu-magic
http://extensions.joomla.org/extensions/extension/site-management/sef/direct-alias-pro
« Последнее редактирование: 29.08.2016, 02:07:56 от leo78 »
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Там все по английски Kazaam! Free Edition - Plugin - подходит или надо покупать?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
http://blog.pbelkov.net/2015/08/14/article_to_url/
Я вот такой плагин писал, при сохранении материала в специально назначенном меню создается ссылка на материал
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
beliyadm
Kazaam вроде подходит, у меня 399 материалов уже набито, он все из категории перенёс, хотя названия я хотел менять на свой лад, более того он срабатывает когда из плагин входишь.
« Последнее редактирование: 30.08.2016, 12:21:55 от leo78 »
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Вопрос, не кто, не сталкивались с таким:
Если адрес такой:
домен.ru/anime-online/11-eyes.html
- отображает одно

Но если такой:
домен.ru/пп/11-eyes.html
- то может отобразить другой материал или что не найдена такая информация
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
- то может отобразить другой материал или что не найдена такая информация
Ну в принципе логично, если есть другая ссылка в меню с алиасом пп - может выпасть другой материал, если нет - будет 404
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Это конечно не в тему но при использовании JL No Doubles, такое пропадает и правит и отображает верно, но меня не устраивает, что при включённом плагине в редакторе перестаёт работать кнопка вставки материала   


я уже задавал вопрос об этом - не решил проблему
http://joomlaforum.ru/index.php/topic,311192.msg1661942.html#msg1661942
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Автоматическое сжатие фото при загрузке на сайт

Автор Amerikana

Ответов: 13
Просмотров: 5322
Последний ответ 30.06.2022, 11:52:23
от Nikita2705
[Решено] title материалов и категорий без пунктов меню

Автор pharaoh

Ответов: 269
Просмотров: 67539
Последний ответ 03.02.2022, 02:45:26
от globus812
Как добавить описание к пункту меню в Joomla 2.5? (Как у материалов)?

Автор nia

Ответов: 7
Просмотров: 6388
Последний ответ 29.03.2021, 12:10:26
от sivers
В моб версии не откриваються норм меню

Автор umsbeauty

Ответов: 0
Просмотров: 1627
Последний ответ 11.01.2021, 17:55:15
от umsbeauty
Убрать название пункта меню из URL материала

Автор fortuner

Ответов: 15
Просмотров: 9246
Последний ответ 31.10.2020, 00:46:04
от spas