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

BeZLiKiy

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Здравствуйте, уважаемые коллеги, я еще пока чайник в веб-дизайне, поэтому сталкиваюсь с трудностями на каждом шагу.  !
Прошу, сильно не закидывать палками, если спрошу элементарные вещи)
Суть вопроса: Имеется интернет-магазин на JoomShopping в него выгружены товары посредством коммерческого плагина 1С-Joomshopping, но с учетом того, что в 1С отсутствуют изображения товара, то и на сайте, разумеется, их нет. Было принято (поспешное) решение собирать фото в просторах интернета и фотографировать самому(китай товар плохо поддается парсингу) Есть уже большая база с фото, которые названы соотвественно артикулу(коду товара) на сайте, их внесение через админку это очень времязатратный процесс.
Сам вопрос: Можно ли выгрузив фото на сайт по ftp, заставить JoomShopping распознавать фото по наименованию и привязывать по соответствию с кодом товара?
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
здра.
оптимальный вариант - генерировать несколько изображений разного размера, потом скриптом пробегать по базе и, проверять для товаров с незаполненным изображением, есть ли в папке картинка через file_exists() и вносить путь в базу. изображения все в одной папке хранятся (\components\com_jshopping\files\img_products\), найминг файлов тоже прозрачный
пример для картинки yashma
yashma.jpg - это превью в карточке товара
thumb_yashma.jpg - это превью товара в категории
full_yashma.jpg - это большое изображение для Lightbox

я делал похожее (массово менял названия файлам в соответствии с названием товара), вполне подъемная задача. но мне надо было разово это делать и я запускал скрипт на локалке. для живого сайта на хостинге скрипт должен быть оптимизирован по части нагрузки на сервер.

я могу выложить пример скрипта, но если у вас нет знаний php, то вам это не поможет ). и проще будет нанять местных товарищей, чтобы запилили вам скипт.

*

BeZLiKiy

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
я делал похожее (массово менял названия файлам в соответствии с названием товара), вполне подъемная задача. но мне надо было разово это делать и я запускал скрипт на локалке. для живого сайта на хостинге скрипт должен быть оптимизирован по части нагрузки на сервер.
Спасибо, за совет. Проблема как раз в том и заключается что я с php только только начал знакомиться и скрипты еще не писал. Только по гайдам необходимые редактирования в php-файлах делал. Т.е. если Ваш скрипт будет с комментариями, может кое как и разберусь))
В моем еще далеком от веб-программирования представлении возникла идея взять за основу экспортированные файлы из базы данных в CSV формате и просто дописать недостающие строки к бд_jshopping_products_images ассоциируя их по product_id и product-ean из бд_jshopping_products, после импортировать обратно, заблаговременно залив в \components\com_jshopping\files\img_products\ все имеющиеся фото) Как думаете, имеет ли право на существование такая идея?

С коммерческими решениями конечно проще, согласен, но руководство уже вряд ли мне позволит увеличивать бюджет сайта, поэтому отчаялся до форумов. Да и самому хочется понимать больше чем управление админкой)
*

BeZLiKiy

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
И вообще можно ли в CSV выгруженном с БД вручную вписать необходимые ID? например столбец с кодом товара скопировать в столбец для ID, чтобы они соответствовали?)
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Код
<?php

    $host = 'localhost';
    $user = 'root';
    $password = '';
    $db = '9122494009_flowerpalette';

    $mysqli = new mysqli($host, $user, $password, $db);

    // проверяем соединение
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit;
    }

    $mysqli->set_charset("utf8");

    // получить товары
    $q2 = "SELECT `product_id`, `alias_ru-RU`, `image` FROM `c6hlo_jshopping_products`";

    $result = $mysqli->query($q2);

    if ( $result === FALSE ) return;
$count=0;
$subst="tsvety_"; // имя для файла, если нет алиаса

$path=__DIR__."/components/com_jshopping/files/img_products/";
echo $path;
    while ( $row = $result->fetch_assoc() )
    {
$name=$row['alias_ru-RU'];
//var_dump($name);
if($name == "") $name = $subst.$row['product_id'];

$name=$name.".jpg";
$thumb="thumb_".$name;
$full="full_".$name;
$id = $row['product_id'];
$sql = "UPDATE `c6hlo_jshopping_products` SET `image` = '$name' , `product_name_image` = '$name' , `product_full_image` = '$full' , `product_thumb_image` = '$thumb'  WHERE `c6hlo_jshopping_products`.`product_id`= '$id'";
//$sql = "UPDATE `c6hlo_jshopping_products_images` SET `image_name` = '$name' , `image_full` = '$full' , `image_thumb` = '$thumb'  WHERE `product_id`= '$id'";



$old=$path."full_".$row['image'];
echo($old);
if(file_exists($old)) { $upd = $mysqli->query($sql); } // выполнить запрос. если файл существует

        $table .= "<br>".$row['product_id']."  ==  ".$name."  ==  ".$row['image'];
$count++;
    }
echo $table;
echo "<br><br>ИТОГО: ".$count;

?>
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
скрипт для локального сервера, данные по имени базы - свои
вместо алиаса получаете ваш код, далее пытаетесь понять, что я там нагородил  ;D
*

dmitry_stas

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

BeZLiKiy

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
скрипт для локального сервера, данные по имени базы - свои
вместо алиаса получаете ваш код, далее пытаетесь понять, что я там нагородил  ;D
Спасибо, ефрит)) Вроде немного разобрался, вместо алиеса скрипт тянет код товара и приписывает ему "product_ean.jpg" что по сути и нужно было, только теперь не могу понять что делать дальше  *ОХ-Х-Х* Если изображение в папке, есть карточка товара с кодом товара, чем мне мог помочь скрипт? Я че то потерял нить повествования ::)
*

BeZLiKiy

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Цитировать
ну так импорт же...
Дмитрий, можно пожалуйста подробнее?) У меня есть только стандартные импорт/экспорт, расширенного нет, т.к. он платный, если знаете иной обходной путь, буду очень признателен)
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
вам нужно в базу добавить пути к изображениям, это делает запрос sql
проверяется наличие картинки, если она есть - запросом в базу заполняются поля с именами картинок
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
У меня есть только стандартные импорт/экспорт
а стандартные разве не умеют изображения импортировать? если нет, то можно в phpMyAdmin экспортировать табличку #__jshopping_products в csv например, добавить в колонку нужные значения, и залить обратно. ну или предложенный скрипт заюзать. только обратите внимание что в ЖШ для 3-й жумлы есть только поле image, остальных нет, они были только в Ж2.5
« Последнее редактирование: 03.12.2018, 15:21:32 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Импорт товара с описанием дополнительных фото товара

Автор NekiyMonster

Ответов: 3
Просмотров: 3478
Последний ответ 02.02.2018, 18:27:40
от nevigen
[решение] Импорт изображений как товара в JoomShopping 3.11.4

Автор sup1rw0re0r

Ответов: 11
Просмотров: 9258
Последний ответ 12.03.2015, 11:37:13
от Timpics
Свой импорт картинок и импорт аттрибутов товара и сохранение заказа в csv

Автор xDD

Ответов: 16
Просмотров: 5891
Последний ответ 15.11.2013, 17:49:04
от bsod9145
Есть ли бесплатное решение для импорта с фото

Автор nick71

Ответов: 0
Просмотров: 1654
Последний ответ 20.04.2013, 19:18:52
от nick71
Переменная url товара

Автор elf39

Ответов: 3
Просмотров: 1592
Последний ответ 22.02.2013, 00:50:02
от elf39