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

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Такой вопрос: при заполнении поля "Старая цена" в самом товаре эти слова есть. А в категории с товарами есть только сама перечёркнутая цена, а вот этих слов - Старая цена: - их нет. Не могу найти, где их прописать, чтобы выводились в категории с товарами.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: "Старая цена:" - в категории
« Ответ #1 : 19.09.2012, 14:16:59 »
Должно выводится
Это надо смотреть и искать здесь /components/com_jshopping/templates/default/list_products/product.php
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Re: "Старая цена:" - в категории
« Ответ #2 : 19.09.2012, 16:01:26 »
Это надо смотреть и искать здесь /components/com_jshopping/templates/default/list_products/product.php

После дописывания этих слов (выделено жирным) непосредственно в код, они появились:
Цитировать
<?php if ($product->product_old_price > 0){?><div style="float:left;">Старая цена:&nbsp;</div>
            <div class="old_price"><?php if ($this->config->product_list_show_price_description) print _JSHOP_OLD_PRICE.": ";?><?php print formatprice($product->product_old_price)?></div>........

А так их в категории товаров нет, только сама перечёркнутая цена.
JS 3.7.2.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: "Старая цена:" - в категории
« Ответ #3 : 19.09.2012, 16:11:57 »
administrator/index.php?option=com_jshopping&controller=config&task=catprod
Показывать описание цены - ДА

Код
print _JSHOP_OLD_PRICE
- это и есть вывод словосочетания "Старая цена" - вы просто в настройках не включили и не надо было ничего от себя писать ;)
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Re: "Старая цена:" - в категории
« Ответ #4 : 19.09.2012, 17:00:16 »
administrator/index.php?option=com_jshopping&controller=config&task=catprod
Показывать описание цены - ДА
Код
print _JSHOP_OLD_PRICE
- это и есть вывод словосочетания "Старая цена" - вы просто в настройках не включили и не надо было ничего от себя писать ;)

О, точно. Но сделано это было целенаправленно, теперь вспоминаю: нужно было для слов "Цена" и "Старая цена" сделать стиль, отличный от самой цены. Цену сделать жирным и другого цвета.
Спасибо, что помогли разобраться.
« Последнее редактирование: 19.09.2012, 17:04:16 от Maxum »
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: "Старая цена:" - в категории
« Ответ #5 : 19.09.2012, 17:03:37 »
нужно было для слов "Цена" и "Старая цена" сделать стиль, отличный от самой цены. Цену сделать жирным и другого цвета.
так это вообще не проблема :)
в <span> берете и стилизуете как надо)) к чему это лишняя писанина в php шаблоне
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Re: "Старая цена:" - в категории
« Ответ #6 : 19.09.2012, 17:05:30 »
в <span> берете и стилизуете как надо)) к чему это лишняя писанина в php шаблоне
Не обладаю, поэтому вот так. А где и что нужно заключить в <span>?
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: "Старая цена:" - в категории
« Ответ #7 : 19.09.2012, 17:21:31 »
Код
<?php if ($product->product_old_price > 0){?><div style="float:left;">Старая цена:&nbsp;</div>
  <div><span class="bl"><?php if ($this->config->product_list_show_price_description) print _JSHOP_OLD_PRICE.": ";?></span>
<span class="red"><?php print formatprice($product->product_old_price)?></span>
</div>...............
- допустим так...
потом в css
Код: css
.bl {color:#000;}
.red {color: red;}
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Re: "Старая цена:" - в категории
« Ответ #8 : 19.09.2012, 17:39:53 »
Код
<?php if ($product->product_old_price > 0){?><div style="float:left;">Старая цена:&nbsp;</div>
  <div><span class="bl"><?php if ($this->config->product_list_show_price_description) print _JSHOP_OLD_PRICE.": ";?></span>
<span class="red"><?php print formatprice($product->product_old_price)?></span>
</div>...............

В Вашем примере, наверное, не должно быть вот этой моей вставки?
Код
<div style="float:left;">Старая цена:&nbsp;</div>
А то получается, что и она есть, и <span> в придачу...

*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: "Старая цена:" - в категории
« Ответ #9 : 19.09.2012, 18:11:14 »
нет, не нужно ничего более вставлять - у вас все есть (было и так), каждый нужный вам блок выводится отдельно, оборачивайте просто в теги именуйте своими классами и дальше стилизуйте как надо средствами CSS.
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Re: "Старая цена:" - в категории
« Ответ #10 : 19.09.2012, 18:19:32 »
Теперь-то вижу, что всё было :). Но знаний не хватило, чтобы понять, где там слово "Цена", а где сами цифры этой цены.
Всё получилось. Спасибо!
Пойду-ка из других php попереношу всё в CSS.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: "Старая цена:" - в категории
« Ответ #11 : 19.09.2012, 21:35:17 »
В настройках "Show description price "
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести заголовок прописанный в пункте меню вместо названия категории

Автор anatolij

Ответов: 13
Просмотров: 2403
Последний ответ 04.12.2024, 15:20:00
от kit2m2
В описании категории не работает плагин Jshortcodes

Автор SLV

Ответов: 1
Просмотров: 1310
Последний ответ 09.09.2024, 17:35:29
от kit2m2
Сортировка товаров внутри категории

Автор oslyabya

Ответов: 1
Просмотров: 1429
Последний ответ 02.08.2024, 22:06:39
от nevigen
Сравнить общее количество товаров категории с количеством на странице

Автор goga_pgasovav

Ответов: 6
Просмотров: 1446
Последний ответ 25.01.2023, 20:12:58
от goga_pgasovav
Получить код верхней категории?

Автор mag_num83

Ответов: 5
Просмотров: 1062
Последний ответ 16.12.2022, 16:27:58
от kit2m2