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

akondr

  • Захожу иногда
  • 112
  • 0 / 0
Подскажите, пожалуйста, возможность реализации заказа товара.
Есть каталог товаров, созданный на jseblod 1.8.2, при выводе товара под ним выводится форма заказа товара. Требуется добавить форму отправки товара (никак не получается подобрать имеено поле отправки, то формируется регистрация, то нечто другое), так же в отправляемой форме (как клиенту, так и администратору)  необходимо добавлять поле id заказа - именно того заказа, который открыт в данный момент.
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
Подскажите, пожалуйста, возможность реализации заказа товара.
Есть каталог товаров, созданный на jseblod 1.8.2, при выводе товара под ним выводится форма заказа товара. Требуется добавить форму отправки товара (никак не получается подобрать имеено поле отправки, то формируется регистрация, то нечто другое), так же в отправляемой форме (как клиенту, так и администратору)  необходимо добавлять поле id заказа - именно того заказа, который открыт в данный момент.


Завтра вечером отпишусь... Сегодня не дома...
*

Travkin

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Подскажите, пожалуйста, возможность реализации заказа товара.
Есть каталог товаров, созданный на jseblod 1.8.2, при выводе товара под ним выводится форма заказа товара. Требуется добавить форму отправки товара (никак не получается подобрать имеено поле отправки, то формируется регистрация, то нечто другое), так же в отправляемой форме (как клиенту, так и администратору)  необходимо добавлять поле id заказа - именно того заказа, который открыт в данный момент.

Все достаточно просто! устанавливаешь компонент  SimpleCaddy. в Себлоде прописываешь его в шаблоне. в компонент SCaddy импортируешь список своих товаров (с необходимыми критериями)...и вуаля....в принципе ничего сложного...
*

mohax

  • Давно я тут
  • 901
  • 66 / 3

1) В форме делаете текстовое поле для id. Можно сделать его скрытым, можно через CSS скрыть
2) не знаю как у вас передается Id товара. В шаблоне формы (можно выводить модулем под товаром): Если id в адресной строке, то с помощью
Код
JRequest::getVar('id');
например, получаете ID товара.

3) Далее, с помощью кода вида
Код
$jSeblod->[i]название_поля[/i]->form = str_replace('value="','value="'.[i]переменная[/i],$jSeblod->[i]название_поля[/i]->form);

Теперь после отправки формы данные об ID выбранного отвара тоже сохранятся.
*

akondr

  • Захожу иногда
  • 112
  • 0 / 0
1) В форме делаете текстовое поле для id. Можно сделать его скрытым, можно через CSS скрыть
2) не знаю как у вас передается Id товара. В шаблоне формы (можно выводить модулем под товаром): Если id в адресной строке, то с помощью
Код
JRequest::getVar('id');
например, получаете ID товара.
3) Далее, с помощью кода вида
Код
$jSeblod->[i]название_поля[/i]->form = str_replace('value="','value="'.[i]переменная[/i],$jSeblod->[i]название_поля[/i]->form);
Теперь после отправки формы данные об ID выбранного отвара тоже сохранятся.

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

*

akondr

  • Захожу иногда
  • 112
  • 0 / 0
Еще воросик, прописываем код:
$jSeblod->название_поля->form = str_replace('value="','value="'.переменная,$jSeblod->название_поля->form);
В шаблоне заказа товара?
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
Еще воросик, прописываем код:
$jSeblod->название_поля->form = str_replace('value="','value="'.переменная,$jSeblod->название_поля->form);
В шаблоне заказа товара?
А ты форму как выводишь? По идее, в шаблоне формы надо...
*

akondr

  • Захожу иногда
  • 112
  • 0 / 0
А ты форму как выводишь? По идее, в шаблоне формы надо...
У меня шаблон вывода материала и в нем ниже вывод формы заказа работы ( средствами modules anywhere)
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
У меня шаблон вывода материала и в нем ниже вывод формы заказа работы ( средствами modules anywhere)
то есть форма у тебя в модуле выводится. для него тоже есть свой шаблон. Скорее всего ты используешь один из дефолтных. тебе придется свой шаблон для формы написать. Можно на базе стандартного, но там мозг сломать можно. Лучше с нуля самому, имхо.

А вместо использования modules anywhere можно просто в шаблоне материала в нужном месте вписать
Код
<jdoc:include type="modules" name="названиепозиции" style="none" />
и в этой позиции выводить модуль =) без лишних компонентов)))
*

akondr

  • Захожу иногда
  • 112
  • 0 / 0
Все, разобрался, огромное спасибо!
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
Все, разобрался, огромное спасибо!
Всегда пожалуйста))
*

akondr

  • Захожу иногда
  • 112
  • 0 / 0
Два дня пробую, что то не выходит.
В форме заказа требуемые данные о заказе дублируются, но на Email отправляются только поля, прописанные в форме и я никак не могу туда вбить отправку id страницы либо id заказа, било любого другого параметра по заказу ?
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
импортируешь список своих товаров (с необходимыми критериями)
с помощью чего импортировать?
облазил форум Scaddy написал разработчику (жду ответа), гуглом пользовался но все на англ ( пугает не это) просто там все так замучено что не поймешь ничего

нашел на форуме лишь то что нада в пхпма лазить и там добавлять
« Последнее редактирование: 18.01.2012, 14:37:57 от tefun »
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

В форме обратной связи только 5 полей приходят значениями

Автор vadick

Ответов: 0
Просмотров: 2037
Последний ответ 21.05.2013, 10:07:05
от vadick
Связи между сущностями

Автор bugmenot

Ответов: 1
Просмотров: 2061
Последний ответ 25.10.2012, 13:52:11
от Posokhoff
Как сделать форму обратной связи? SEBLOD 2.0

Автор 2gorodabiz

Ответов: 5
Просмотров: 3813
Последний ответ 28.08.2012, 16:08:34
от Posokhoff
Реализация раздельной регистрации пользователей средствами Seblod (Jseblod)

Автор akondr

Ответов: 3
Просмотров: 3699
Последний ответ 11.02.2012, 10:57:52
от alex_ch
SEBLOD 2.0 Форма заказа

Автор athree

Ответов: 0
Просмотров: 2584
Последний ответ 04.12.2011, 15:11:35
от athree