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

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Сортировка товаров
« : 22.09.2014, 13:47:55 »
Всем привет.
Может заезженная тема, но честно не нашел. В настройках можно выставить правила сортировки в списке товара, но только для всех товаров. А можно как то менять эти правила для отдельных категорий? Что бы примером в основной стоит по цене, а для пары разделов предустановленная?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сортировка товаров
« Ответ #1 : 22.09.2014, 13:48:54 »
по-умолчанию - никак. руками только дописывать для конкретных категорий.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Сортировка товаров
« Ответ #2 : 22.09.2014, 15:52:30 »
по-умолчанию - никак. руками только дописывать для конкретных категорий.
Ткнуть на путь истинный можете? Вы тут http://joomlaforum.ru/index.php/topic,280086.msg1392252.html#msg1392252 упоминали о файлах где это прописывается порядок . Но где именно формируется selected="selected" ?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сортировка товаров
« Ответ #3 : 22.09.2014, 16:03:04 »
ну массив значений вы сами сказали где посмотреть, а ключ массива (собственно, выбранная сортировка) определяется в контроллере как

Цитировать
$order = $mainframe->getUserStateFromRequest( $context.'order', 'order', $jshopConfig->product_sorting, 'int');

задав этот параметр жестко для некоторых category_id можно будет регулировать сортировку переопределяя установки фильтра.

P.S. кстати вот подумал, что в принципе можно в указанном вами файле просто переопределить $config->product_sorting если текущая category_id совпадает с той категорией, для которой нужно переопределение. тогда хак контроллера не нужен будет
« Последнее редактирование: 22.09.2014, 16:06:39 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Сортировка товаров
« Ответ #4 : 25.09.2014, 14:22:29 »
Пробовал так сделать
Код
$category_id = JRequest::getVar('category_id', null);
if ($category_id=='378')
{
$config->sorting_products_field_select =   array(1 => 'name',         4=>'prod.product_price',        3=>'prod.product_date_added', 5=>'prod.average_rating', 6=>'prod.hits',         2=>'pr_cat.product_ordering');
$config->sorting_products_name_select =    array(1=>_JSHOP_SORT_ALPH, 4=>_JSHOP_SORT_PRICE,           3=>_JSHOP_SORT_DATE,          5=>_JSHOP_SORT_RATING,    6=>_JSHOP_SORT_POPULAR, 2=>_JSHOP_SORT_MANUAL);
}else{
$config->sorting_products_field_select =   array(1 => 'name',         2=>'prod.product_price',        3=>'prod.product_date_added', 5=>'prod.average_rating', 6=>'prod.hits',         4=>'pr_cat.product_ordering');
$config->sorting_products_name_select =    array(1=>_JSHOP_SORT_ALPH, 2=>_JSHOP_SORT_PRICE,           3=>_JSHOP_SORT_DATE,          5=>_JSHOP_SORT_RATING,    6=>_JSHOP_SORT_POPULAR, 4=>_JSHOP_SORT_MANUAL);
}
Но не работает. Подскажите где ошибка. Оно одинаково выводит то что в else. Если сменить на не равно выведет первое. Я так понял что переменная  $category_id пустая не с чем сравнивать. А дальше знаний не хватает :(
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сортировка товаров
« Ответ #5 : 25.09.2014, 14:54:43 »
ну во первых я говорил о переопределении $config->product_sorting, а не о $config->sorting_products_field_select и $config->sorting_products_name_select. а во-вторых, по условию, возможно вы проверяете не в категории, там где category_id действительно пусто
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Сортировка товаров
« Ответ #6 : 25.09.2014, 16:50:15 »
P.S. кстати вот подумал, что в принципе можно в указанном вами файле просто переопределить $config->product_sorting если текущая category_id совпадает с той категорией, для которой нужно переопределение. тогда хак контроллера не нужен будет
Просто в файле о котором я имел ввиду \components\com_jshopping\lib\default_config.php нету $config->product_sorting . Или я вас Неправильно понял ? Может вы имели ввиду другой файл?
Я у себя на сайте вообще нигде не нашел $config->product_sorting ни в одном файле не встречается.
« Последнее редактирование: 25.09.2014, 17:06:03 от misteri27 »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сортировка товаров
« Ответ #7 : 25.09.2014, 17:25:54 »
этот параметр в базе. если вам проще - делайте в контроллере как я написал ранее. сути это не меняет.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Сортировка товаров
« Ответ #8 : 25.09.2014, 19:05:32 »
Ну то что он в базе это ясно.  И то что в базе просто число от 1 до 6 это тоже ясно. В контролере это все имеет вид
Код
$order = $mainframe->getUserStateFromRequest( $context.'order', 'order', $jshopConfig->product_sorting, 'int');

Исходя из этого выходит что для определенной категории вид должен быть
Код
$order = $mainframe->getUserStateFromRequest( $context.'order', 'order', 'число 1-6', 'int');
?
Я правильно понял?  Если да, то не хочет оно менять порядок сортировки. Пробовал пока принудительно сделать для всех, не то.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сортировка товаров
« Ответ #9 : 25.09.2014, 19:20:12 »
все он хочет. у вас просто сохраненная в сессии сортировка (сохраняется при первом заходе, чтобы например не сбрасывалась при переходе по страницам), поэтому вы не видите изменений. сделайте так как говорите
Цитировать
для определенной категории вид должен быть
и зайдите в эту категорию в другом браузере. и увидите.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Сортировка товаров
« Ответ #10 : 25.09.2014, 19:59:22 »
все он хочет. у вас просто сохраненная в сессии сортировка (сохраняется при первом заходе, чтобы например не сбрасывалась при переходе по страницам), поэтому вы не видите изменений. сделайте так как говоритеи зайдите в эту категорию в другом браузере. и увидите.
Да я об этом подумал сразу. И пробовал тремя браузерами. Эффекта не было. Попробую счас еще раз и клинером весь кеш с куки снесу на... может поможет.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сортировка товаров
« Ответ #11 : 25.09.2014, 20:01:04 »
если вы верно делаете
Цитировать
для определенной категории
то все должно получиться.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Сортировка товаров
« Ответ #12 : 25.09.2014, 20:35:58 »
Короче тема дохлая сама по себе . Если оно все так запоминает, то зайдя первый раз не на эту категорию у человека выставиться сортировка и даже если она зайдет на нужную категорию все равно, я так понял будет показывать ту что была первой. А работать будет только если зайти первый раз именно на эту категорию. Или я снова ошибся?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сортировка товаров
« Ответ #13 : 25.09.2014, 21:00:13 »
ну... да.. в общих чертах да... совсем забыл, что сортировка запоминается для всех категорий. тогда можно попробовать для некоторых категорий задать жестко
Код
$order = 'число 1-6';
и в этих категориях не выводить фильтр
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Сортировка товаров
« Ответ #14 : 29.09.2014, 19:25:46 »
Пробовал но эффект тот же . Запоминает и все. Ладно всем спасибо за участие. По ходу раз оно так себя ведет значит так и будет.
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Re: Сортировка товаров
« Ответ #15 : 11.02.2020, 20:09:19 »
Всем привет.
Тема старая но вопрос как бы вырос заново.
Ничего не изменилось? Кто знает нету возможности вставить сортировку товар для разных категорий по разному? Может где плагины или адонны имеются. Пробовал искать но пока без успешно.
*

frag79

  • Давно я тут
  • 612
  • 61 / 0
Re: Сортировка товаров
« Ответ #16 : 14.02.2020, 00:31:38 »
Всем привет.
Тема старая но вопрос как бы вырос заново.
Ничего не изменилось? Кто знает нету возможности вставить сортировку товар для разных категорий по разному? Может где плагины или адонны имеются. Пробовал искать но пока без успешно.

Делал вот так, не знаю на сколько это нагружает сервак, но работает.
в шаблоне list_products/list_products.php перед выводом <?php foreach ($this->rows as $k=>$product) : ?> сортирую массив в зависимости от id категории (в данном случае по name)

Код
<?php 
if($this->rows{0}->category_id==14){
function updateRet($a, $b) {
return ($a->name > $b->name)? +1 : -1;
}
usort($this->rows, 'updateRet'); 
}?>



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

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 26
Просмотров: 36008
Последний ответ 14.10.2025, 12:54:56
от sergeytolkachyov
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2227
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1479
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav
Плагин обновления цен и остатков товаров JoomShopping из CSV

Автор sergeytolkachyov

Ответов: 0
Просмотров: 1689
Последний ответ 24.12.2024, 14:50:42
от sergeytolkachyov
Сортировка товаров в админке

Автор Emotion

Ответов: 26
Просмотров: 6890
Последний ответ 15.08.2024, 08:00:20
от kit2m2