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

Siberex

  • Захожу иногда
  • 66
  • 0 / 0
Joomla 2.5 VM 2.0.20b
Поставил перед собой задачу сделать вывод цветов товара в категории под изображениями товаров.
Долго искал решение, но поиск рабочего результата не дал. Была тема http://joomlaforum.ru/index.php/topic,200240.0.html но решение не работает в моей версии
В моём случае товары с двумя полями - цвет товара и размер, оба атрибуты корзины.
Есть одно сырое решение:
Код
<?php
// Get a db connection.
$db = JFactory::getDbo();

$query = $db->getQuery(true);

$query->select(array('custom_value'));
$query->from('#__virtuemart_product_customfields');
$query->where('virtuemart_product_id='.$product->virtuemart_product_id);
$query->order('ordering ASC');

 
// Reset the query using our newly populated query object.
$db->setQuery($query);
 
// Load the results as a list of stdClass objects.
$results = $db->loadObjectList();
// print_r($results);
echo '<ul>';
foreach ($results as $result) {
if(!empty($result->custom_value)) {
echo '<span>'.$result->custom_title.': </span>'.$result->custom_value.'';
}
}
echo '</ul>';
?>
В результате поля в категории выводятся как на изображении №1. Там где отмечено красным (1) - это id картинок цвета товара. Там где синим (2) - это размеры.
Задача подправить так, чтоб выводились только цвета, (не id картинок, а сами картинки). Выглядеть должно как на изображении №2.

Подскажите пожалуйста что можно попробовать изменить, что достичь результата. В php знаний немного не хватает. Думаю вопрос многих интересует.
Заранее спасибо  ^-^
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Зачем писать запрос в базу? Можно было сделать проще.
копируете файл components\com_virtuemart\views\productdetails\tmpl\default_customfields.php
в папку components\com_virtuemart\views\category\tmpl
теперь можно вывести поля в категории так
Код
<?php $this->product = $product;
    if (!empty($this->product->customfieldsSorted['myposition'])) {
$this->position = 'myposition';
echo $this->loadTemplate('customfields');
    }
?>
myposition - имя позиции, можете задать свое, в админке когда создаете доп поля нужно вписать это значение.
*

Siberex

  • Захожу иногда
  • 66
  • 0 / 0
копируете файл components\com_virtuemart\views\productdetails\tmpl\default_customfields.php
в папку components\com_virtuemart\views\category\tmpl
теперь можно вывести поля в категории так
Код
<?php $this->product = $product;
    if (!empty($this->product->customfieldsSorted['myposition'])) {
$this->position = 'myposition';
echo $this->loadTemplate('customfields');
    }
?>
myposition - имя позиции, можете задать свое, в админке когда создаете доп поля нужно вписать это значение.
Спасибо за решение, но почему-то поле цвета не выводится (
1. Скопировал файл default_customfields.php в сайт/templates/шаблон/html/com_virtuemart/category/
2. Введ ваш код в файл сайт/templates/шаблон/html/com_virtuemart/category/default.php после кода вывода миниатюры
3. в поле настраиваемого поля "цвет" в графе "позиция маета" ввел "underimage" и его же поменял в коде вместо myposition
Где я ошибся?
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
Зачем писать запрос в базу? Можно было сделать проще.
копируете файл components\com_virtuemart\views\productdetails\tmpl\default_customfields.php
в папку components\com_virtuemart\views\category\tmpl
теперь можно вывести поля в категории так
Код
<?php $this->product = $product;
    if (!empty($this->product->customfieldsSorted['myposition'])) {
$this->position = 'myposition';
echo $this->loadTemplate('customfields');
    }
?>
myposition - имя позиции, можете задать свое, в админке когда создаете доп поля нужно вписать это значение.
У меня этот код не сработал делал так http://joomlaforum.ru/index.php/topic,200240.msg1170557.html#msg1170557 но только нет возможности указать позицию.
*

Alex_14

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Joomla 2.5 VM 2.0.20b
Поставил перед собой задачу сделать вывод цветов товара в категории под изображениями товаров.
Долго искал решение, но поиск рабочего результата не дал. Была тема http://joomlaforum.ru/index.php/topic,200240.0.html но решение не работает в моей версии
В моём случае товары с двумя полями - цвет товара и размер, оба атрибуты корзины.
Есть одно сырое решение:
Код
<?php
// Get a db connection.
$db = JFactory::getDbo();

$query = $db->getQuery(true);

$query->select(array('custom_value'));
$query->from('#__virtuemart_product_customfields');
$query->where('virtuemart_product_id='.$product->virtuemart_product_id);
$query->order('ordering ASC');

 
// Reset the query using our newly populated query object.
$db->setQuery($query);
 
// Load the results as a list of stdClass objects.
$results = $db->loadObjectList();
// print_r($results);
echo '<ul>';
foreach ($results as $result) {
if(!empty($result->custom_value)) {
echo '<span>'.$result->custom_title.': </span>'.$result->custom_value.'';
}
}
echo '</ul>';
?>
В результате поля в категории выводятся как на изображении №1. Там где отмечено красным (1) - это id картинок цвета товара. Там где синим (2) - это размеры.
Задача подправить так, чтоб выводились только цвета, (не id картинок, а сами картинки). Выглядеть должно как на изображении №2.

Подскажите пожалуйста что можно попробовать изменить, что достичь результата. В php знаний немного не хватает. Думаю вопрос многих интересует.
Заранее спасибо  ^-^
добрый день! ваш способ работает, но вместе со значением поля выводится также его id. как исправить это подскажите?
*

jumlancerCom

  • Захожу иногда
  • 52
  • 2 / 1
Если копируем default_customfields.php с папки productdetails в папку category тогда везде где $this->product-> меняем на $product->

Код: php
<?php
 if (!empty($product->customfieldsSorted['myposition'])) {
  $this->position = 'myposition';
   echo $this->loadTemplate('customfields');
 }
?>
*

Alex_14

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Если копируем default_customfields.php с папки productdetails в папку category тогда везде где $this->product-> меняем на $product->

Код: php
<?php
 if (!empty($product->customfieldsSorted['myposition'])) {
  $this->position = 'myposition';
   echo $this->loadTemplate('customfields');
 }
?>
спасибо! но этот вариант мне не подходит, так как нужно вывести значения настраиваемых полей через ; или | как здесь
http://www.iline-shop.ru/zhenskoe-bele/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение полей CF в карточке товара

Автор farmer66

Ответов: 2
Просмотров: 2807
Последний ответ 17.02.2023, 13:39:18
от farmer66
Вывод изображений настраиваемого поля в карточке товара

Автор wasssup

Ответов: 0
Просмотров: 2858
Последний ответ 05.07.2022, 08:51:19
от wasssup
Вывод категорий в результате поиска

Автор vladimirwk

Ответов: 3
Просмотров: 2733
Последний ответ 19.12.2020, 18:34:06
от gartes
Удалить псевдонимы товаров

Автор AHTEPO

Ответов: 9
Просмотров: 4574
Последний ответ 26.10.2020, 01:33:20
от gartes
Вывод наименование - настраиваемых полей?

Автор warlocksp

Ответов: 22
Просмотров: 3200
Последний ответ 19.10.2020, 15:06:43
от gulafi65