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

naeska

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Суть проблемы: есть скрипт на php. Он использует функции Joomla. Однако если просто сделать на него ссылку, то он открывается как отдельный файл и не входит в состав jooml'ы. Что добавить в router Joomla, чтобы файл открывался как часть движка?
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
создаете папку HTML в шаблоне (templates/название_шаблона/html) затем в файле templateDetails.xml прописываете свою папку HTML и в нее свой файл php.
в файле index.php пишите в том месте где надо вставить файл
Код: php
<?php include JPATH_BASE . DS . 'templates' . DS . 'название_шаблона' . DS . 'html' . DS . 'имя_файла.php'; ?>
« Последнее редактирование: 28.09.2016, 07:35:44 от Stasweb »
*

naeska

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Хорошо. Допустим я поместил в папку HTML файл savevendor.php. Как к нему сделать ссылку правильно?
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Этот способ не ссылку делает а подключает сторонний файл к вашему шаблону
Код: php
<?php include JPATH_BASE . DS . 'templates' . DS . 'название_шаблона' . DS . 'html' . DS . 'savevendor.php'; ?>
в название_шаблона указываете ваше название шаблона. Таким способом подключит файл savevendor.php
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ТС, вам нужно создать компонент. ссылку можно сделать только на компонент, не иначе.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

naeska

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Блин. А нельзя попроще как-то? мне нужно просто, чтобы при нажатии на кнопку "сохранить" запустился php-код, который проводит сохранение данных. может мне тогда проще просто добавить в какую-нибудь библиотеку Joomla свою функцию, в которой будет проходить сохранение?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
можно и так, но это будет хак ядра, что не очень при обновлениях. можете добавить свое view с заранее уникальным названием в какой нибудь из стандартных компонентов, тоже можно будет сделать ссылку, но уже без хака. можно использовать com_ajax встроенный, если Joomla 3, но нужен будет плагин. что вы вообще пытаетесь сделать?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Подключаете ваш файл с обработчиком
Код: php
<?php include JPATH_BASE . DS . 'templates' . DS . 'название_шаблона' . DS . 'html' . DS . 'savevendor.php'; ?>
Создаете HTML модуль с HTML кодом с формой которая обращается к обработчику savevendor.php но при этом ставите не
Код: html4strict
<form id="" name="t" method="post" action="savevendor.php ">
а както так
Код: html4strict
<form id="" name="t" method="post" action="#">
И форма должна отправить денные в подключенный файл savevendor.php а там уже как вы напишите куда сохранят и как
*

naeska

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Я пытаюсь сделать сохранение данных продавца в VirtueMart. стандартное сохранение не работает в режиме нескольких продавцов, вот и делаю свое. Я сделал все. Все поля и данные продавцов сохраняются нормально за исключением пароля, так как я не могу понять как его хешировать для занесения в базу данных. Мне подсказали использовать функцию verifypassword. Но эта функция может быть вызвана только внутри Joomla, а у меня внешний файл. Вот теперь и думаю, как сделать...
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Тогда вам скорее суда http://joomlaforum.ru/index.php/board,390.0.html
А вообще я когда то то же искал решение с несколькими продавцами и не чего не было так что скорее всего вам сюда http://joomlaforum.ru/index.php/board,119.0.html 
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
странным вы путем идете :) ну так посмотрите, как хешируется пароль в той функции, и добавьте этот код себе. там же несколько строк всего
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

naeska

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Да что-то не могу я разобраться как он хешируется. Не пойму как соль задается и где храниться. Если поможете, буду сильно благодарен.
*

naeska

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Тогда вам скорее суда http://joomlaforum.ru/index.php/board,390.0.html
А вообще я когда то то же искал решение с несколькими продавцами и не чего не было так что скорее всего вам сюда http://joomlaforum.ru/index.php/board,119.0.html 
Я уже все сделал для работы с несколькими продавцами. И магазины свои и письма и заказы. Осталось только сделать сохранение пароля пользователя (не важно продавец он или просто пользователь Joomla) в нужном мне месте и все.
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Поделитесь как сделали.
Интересует не два магазина а два склада на одном магазине. Не подскажите как реализовать такое.
*

naeska

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Поделитесь как сделали.
Интересует не два магазина а два склада на одном магазине. Не подскажите как реализовать такое.
Это уже офтоп будет. Напиши в личку, что конкретно хочешь сделать, скажу есть ли у меня такое же или нет и как делал если есть.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 4897
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 1284
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 1652
Последний ответ 09.05.2025, 12:39:18
от azm1n
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 2853
Последний ответ 28.04.2025, 10:25:44
от sivers
Максимальная версия PHP для Joomla 3

Автор Dram

Ответов: 8
Просмотров: 3269
Последний ответ 27.03.2025, 10:40:29
от wishlight