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

Snip

  • Захожу иногда
  • 236
  • 14 / 1
Joomla 2.5.1

Первый вопрос. Озадачился проблемой, как убрать некоторые меню из админки, например, как я сказал ранее меню справка?

Второй вопрос, не совсем сюда, но создавать отдельную тему не хочу. А вопрос.. вот создаю я например пользователя, даю статус админа, чтобы в админку мог входить, но не хочу чтобы он видел или мог использовать некоторые меню, например модули, плагины и т.д. Пусть редактирует статьи и не более.

Заранее спасибо за помощь.
*

Rex_One

  • Захожу иногда
  • 453
  • 37 / 0
А разве статьи с фронта редактировать неудобно?
Кривизна рук не компенсирует прямизну извилин.
*

Snip

  • Захожу иногда
  • 236
  • 14 / 1
Для этого прийдеться делать модуль авторизации на главной, а он там вообще ни к чему, тематика сайта мешает и т.д. Да и вообще, на будущее пригодится.
*

maccamset

  • Захожу иногда
  • 74
  • 2 / 0
Присоединяюсь к первому вопросу ТС. Использую к2, нужно убрать стандартное меню "материалы" в админке (joomla 2.5).
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
убрать в базе данных табличку с нужным пунктом меню (я недавно случайно удалил несколько, работало. Может это и не корректно).
Я с мобильного, в основном...
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
режим modx-тролля....on
В MODx админка полностью конфигурируется, в том числе пункты меню.
режим modx-тролля....off

Можно подредактировать файлы в administrator/modules/mod_menu/tmpl/
А нет какого нибудь модуля для управления меню в админке?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

maccamset

  • Захожу иногда
  • 74
  • 2 / 0
решение для Joomla 2.5.
как и говорили это здесь administrator/modules/mod_menu/tmpl/ файл default_enabled.php..
комментирую строки от // Content Submenu. один блок if(){  здесь 50 строк кода }
Спойлер
[свернуть]
теперь работает как надо.

з.ы.
еще рядом есть файл default_disabled.php, там тоже комментирую (хотя не обязательно, т.к. а меня работает enabled.php)
Спойлер
[свернуть]
Если спрятано меню, то работает default_disabled.php, а если нет, то другой...
А где прятать меню я не встречал, да мне и не надо ))...может пока...
Всем спасибо.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Дизаблед используется когда заходишь чтонибудь редактировать в админке куданибудь глубоко, и меню "деактивируется" что порядком бесит кстати...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

nik79

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
в Joomla 2.5.4  здесь administrator/modules/mod_menu/tmpl/default_enabled.php
в части кода поменять значение на ноль где $showhelp==1 чтобы было
// Help Submenu
//
if ($showhelp == 0)
{
   $menu->addChild(
*

EndVal

  • Захожу иногда
  • 54
  • 10 / 0
в Joomla 2.5.4  здесь administrator/modules/mod_menu/tmpl/default_enabled.php
в части кода поменять значение на ноль где $showhelp==1 чтобы было
// Help Submenu
//
if ($showhelp == 0)
{
   $menu->addChild(

Можно и так. Но хак - все таки плохо. Давайте разберемся.
В начале administrator/modules/mod_menu/tmpl/default_enabled.php есть:

$shownew = (boolean)$params->get('shownew', 1);
$showhelp = $params->get('showhelp', 1);
$user = JFactory::getUser();
$lang = JFactory::getLanguage();

Можно поставить в соответ. строку 0, так $showhelp = $params->get('showhelp', 0) Но это тоже не выход.

Эти строки "говорят", что параметры "пришли" извне.

Вот откуда:
Менеджер модулей: модули ->
выбираем "панель управления", по умолчанию там "сайт" ->
выбираем AdminMenu ->
Пункт меню "Справка" -> скрыть. И все.

По возможности избегайте хака.

*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Господа!
А возможно ли убрать хотя бы половину вот этого?
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
А возможно ли убрать хотя бы половину вот этого?

Можно и так. Но хак - все таки плохо...

Переопределение шаблонов работает в админке так же как и на фронте.
Можете создать свою папку для переопределяемых шаблонов компонентов или модулей в administrator/templates/ваш_шаблон/html/
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Господа!
А возможно ли убрать хотя бы половину вот этого?

Вы хотите, чтобы это не видел другой человек, использующий админку и не мог использовать эти функции? Или вы хотите, чтобы он не видел эти кнопки, но мог использовать функции?
Если первый вариант, то почему бы не использовать ACL? Для админки уровни доступа хорошо описаны тут: http://joomlablog.ru/uroki-joomla/284-joomla-acl-nastrojka-paneli-administratora
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
ну да, если просто скрыть кнопки - это дисплей:нон на нужные прописать в CSS и все! но при этом, зная системные пути к компоненту, это становится бессмыслицей!!))
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Именно по этой причине я и предлагаю использовать ACL. Кроме того, из менеджера меню можно попасть в настройку модулей по прямой ссылке. Скрыв кнопки вы не запретите туда переходить.
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Я сам пользуюсь всем этим делом и в магазине в принципе всё настроено,
по крайней мере материалы добавляться не будут, категории, меню, медиа-менеджер, профиль не нужны.
Доступ нужен но эти кнопки-иконки нет, так как основными останутся только кнопки магазина.
Другими словами, то что не нужно или  редко используется, мне мешает.
« Последнее редактирование: 15.06.2013, 15:46:40 от Гринвич »
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Именно по этой причине я и предлагаю использовать ACL. Кроме того, из менеджера меню можно попасть в настройку модулей по прямой ссылке. Скрыв кнопки вы не запретите туда переходить.
ну как бы ТС конкретику не дал))) что за манагеры? девочки или ПОСОНЫ тертые? )) с этим ACL тоже не все так просто наверное, например в zoo все общедоступно хоть админу хоть манагеру, увы и ах))
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

Isaev

  • Новичок
  • 1
  • 0 / 0
По возможности избегайте хака.
Хотелось бы, но необходимые настройки не всегда предусмотрены, к сожалению

Есть ли, например, возможность настройки колонок таблиц? (в частности в разделе меню хотелось бы убрать "Тип пункта меню" и добавить присвоеное данному пункту содержимое в "Выбор материала").
Меню большое, начал путаться что где присвоено и присвоено ли вообще... Было бы очень наглядно.

стандартных установок для данных целей не обнаружил, может быть не сложно подправить сам темплейт?
но никак не найду где это в нём
*

Ishti39

  • Захожу иногда
  • 152
  • 8 / 1
Заходите в панель управления/менеджер модулей/в полях фильтрации выбираете ПАНЕЛЬ УПРАВЛЕНИЯ, а остальное я думаю вы и сами догадаетесь, что там удалить, а что оставить, ну или хотя бы скрыть, хоть справку....
*

N_Vitas

  • Новичок
  • 1
  • 0 / 0
Я у себя заменил стандартное меню материалы на меню материалов компонента K2 подкорректировав файл administrator/modules/mod_menu/tmpl/default_enabled.php.
Вот код
/*
 * Content Submenu
 * if (!$user->authorise('core.manage', 'com_content')) Восклицательный знак для обратного эффекта. Он скрывает стандартное меню материалов
 */
if (!$user->authorise('core.manage', 'com_content'))
{
   $menu->addChild(new JMenuNode(JText::_('MOD_MENU_COM_CONTENT'), '#'), true);
   $createContent = $shownew && $user->authorise('core.create', 'com_content');
   $menu->addChild(new JMenuNode(JText::_('MOD_MENU_COM_CONTENT_ARTICLE_MANAGER'), 'index.php?option=com_content', 'class:article'), $createContent);
   if ($createContent)
   {
      $menu->addChild(
         new JMenuNode(JText::_('MOD_MENU_COM_CONTENT_NEW_ARTICLE'), 'index.php?option=com_content&task=article.add', 'class:newarticle')
      );
      $menu->getParent();
   }
   $menu->addChild(
      new JMenuNode(
         JText::_('MOD_MENU_COM_CONTENT_CATEGORY_MANAGER'), 'index.php?option=com_categories&extension=com_content', 'class:category'),
      $createContent
   );
   if ($createContent)
   {
      $menu->addChild(
         new JMenuNode(JText::_('MOD_MENU_COM_CONTENT_NEW_CATEGORY'), 'index.php?option=com_categories&task=category.add&extension=com_content', 'class:newarticle')
      );
      $menu->getParent();
   }
   $menu->addChild(new JMenuNode(JText::_('MOD_MENU_COM_CONTENT_FEATURED'), 'index.php?option=com_content&view=featured', 'class:featured'));
   if ($user->authorise('core.manage', 'com_media'))
   {
      $menu->addSeparator();
      $menu->addChild(new JMenuNode(JText::_('MOD_MENU_MEDIA_MANAGER'), 'index.php?option=com_media', 'class:media'));
   }
   $menu->getParent();
}
/*
 * K2 Submenu
 * Далее я создал само меню компонента K2
 */
if ($user->authorise('core.manage', 'com_k2'))
{
   $menu->addChild(new JMenuNode(JText::_('K2_ITEMS_MANAGER'), '#'), true);
   $menu->addChild(new JMenuNode(JText::_('K2_ITEMS'), 'index.php?option=com_k2&view=items', 'class:article'));
   $menu->addChild(new JMenuNode(JText::_('K2_CATEGORIES'), 'index.php?option=com_k2&view=categories', 'class:article'));
   $menu->addChild(new JMenuNode(JText::_('K2_TAGS'), 'index.php?option=com_k2&view=tags', 'class:article'));
   $menu->addChild(new JMenuNode(JText::_('K2_COMMENTS'), 'index.php?option=com_k2&view=comments', 'class:article'));
   $menu->addChild(new JMenuNode(JText::_('K2_USERS'), 'index.php?option=com_k2&view=users', 'class:article'));
   $menu->addChild(new JMenuNode(JText::_('K2_USER_GROUPS'), 'index.php?option=com_k2&view=usergroups', 'class:article'));
   $menu->addChild(new JMenuNode(JText::_('K2_EXTRA_FIELDS'), 'index.php?option=com_k2&view=extrafields', 'class:article'));
   $menu->addChild(new JMenuNode(JText::_('K2_EXTRA_FIELD_GROUPS'), 'index.php?option=com_k2&view=extrafieldsgroups', 'class:article'));
   $menu->addChild(new JMenuNode(JText::_('K2_MEDIA_MANAGER'), 'index.php?option=com_k2&view=media', 'class:article'));
   $menu->addChild(new JMenuNode(JText::_('K2_INFORMATION'), 'index.php?option=com_k2&view=info', 'class:article'));
   $menu->getParent();
}
/*
 * end K2 Submenu
 * Готово
 */
*

asooka

  • Новичок
  • 6
  • 0 / 0
N_Vitas

спасибо! хорошо получилось
*

romas_s

  • Новичок
  • 4
  • 1 / 0
Хочу убрать нескольку пунктов меню с главного меню и добавить свои пункты с видео уроками.

модуль меню админки administrator/modules/mod_menu/

пробовал делать копию данного модуля administrator/modules/mod_menu2/
изменял его название в файле XML.......
затем через поиск расширений устанавливал новую менюшку.

Но вот в чем беда - mod_menu2/ не работает если отключен а вдминке mod_menu.

может у кого то уже получалось создать новый модуль меню админки, который работает полноценно сам по себе без привязки к основному модулю?

administrator/modules/mod_menu/tmpl/default_enabled.php - файл списка отображаемых пунктов меню.

чем не подходит изменение файла administrator/modules/mod_menu/tmpl/default_enabled.php ??
каждый раз обновляя Joomla перезаписывается файл default_enabled.php. - это не варик вовсе.

Вариант создания HTML модуля с копией меню админки с добавлением своих пунктов не предлагать!!
у каждого проекта, свой состав используемых компонентов - не варик под каждый проект изменять код меню.

Фронтальные модули клонировал неоднократно - все было норм, достаточно только изменить XML параметры, папку и пути к файлам локализации, а с модулем админки, как оказалось не все так просто((.

Возможно, как вариант, можно переопределить файлы меню админки, через шаблон админ панели, но без понятия как это делается.

Как правильно клонировать модуль меню админки??
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать из индекса Яндекса дубли?

Автор gonzyk263

Ответов: 3
Просмотров: 4410
Последний ответ 01.07.2024, 23:26:54
от Cleaning74
[Решено] title материалов и категорий без пунктов меню

Автор pharaoh

Ответов: 269
Просмотров: 67515
Последний ответ 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
[FAQ] Как убрать <meta name="generator" content="Joomla! 2.5 - Open Source Content Management" />

Автор neket

Ответов: 56
Просмотров: 328968
Последний ответ 05.11.2020, 20:00:15
от Grigoriy82