Новости Joomla

SW JProjects v.2.6.0 - компонент каталога расширений для Joomla

👩‍💻 SW JProjects v.2.6.0 - компонент каталога расширений для Joomla.Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам.👩‍💻 v.2.6.0. Что нового?Этот релиз прежде всего связан с SEO и AI-оптимизацией. - Микроразметка Schema.org.Добавлен плагин микроразметки Schema.org для сущностей компонента. Для списков используется ListItem, для страницы проекта и версии - SoftwareApplication, для страницы документации - TechArticle. Плагин группы schemaorg в отличие от стандартных плагинов заполняет данные автоматически, но встраивает данные в граф сущностей микроразметки Joomla. Также исправляется одна ошибка генерируемой ядром микроразметки в зоне ответственности компонента.- Улучшение поиска по ключам. В панели администратора в списке ключей теперь можно искать по номеру заказа, email, домену, содержимому примечания к ключу.- Список ключей в админке. В списке ключей в панели администратора добавлен вывод домена и примечания- Поиск в списке проектов. Поиск в списке проектов в панели администратора стал более точным. Из полей для поиска убраны лишние поля.Компонент работает на Joomla 6 без включённого плагина обратной совместимости.Страница расширения и скачатьGitHub расширения.Joomla Extensions Directory#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 Гость просматривают эту тему.
  • 0 Ответов
  • 2489 Просмотров
*

satarion

  • Осваиваюсь на форуме
  • 31
  • 5 / 0
Ниже я просто приведу кусок своей беседы по аське.
Откровенно влом оформлять это в виде законченной мысли, а поделиться, думаю, имеет смысл...
Может быть у кого-то дойдут руки попробывать и поделиться результатом.   :D

- - - - - - - - - - - - - - - - - - - - - - - -

mx (21:43:26 3/06/2009)
а я тут усердно таки мозгую корзинку для зоо....

 MauS (21:43:50 3/06/2009)
)) никому покоя не дает

 MauS (21:44:00 3/06/2009)
форму я ослил таки... кривущая, правда

mx (21:44:04 3/06/2009)
и наткнулся счаз на очччень интересную штуку - на 85% готовое решение

mx (21:50:49 3/06/2009)
вобщем - компонент корзинки для Joomla SimpleCaddy

mx (21:50:50 3/06/2009)
http://demo15.atlanticintelligence.net/

mx (21:53:21 3/06/2009)
вобщем - идеология такая: у компонента своя простенькая базёнка - там можно заводить товары.  грубо говоря - у каждого товара есть код (артикул), краткое описание, количество и цена. А так-же простенькая система доп. опций для товара.

 MauS (21:54:07 3/06/2009)
звучит знакомо, блин

mx (21:54:48 3/06/2009)
к товару можно обращаться из плагина.
типа в тексте пишешь {simplecaddy code=tovar01}

mx (21:55:11 3/06/2009)
и он тебе в статье выводит этот товар с кнопкой "добавить в корзину"

 MauS (21:55:32 3/06/2009)
но нет каталога?

mx (21:55:50 3/06/2009)
но самое ценное у этой штуки другое...
внимание! самое интересное

mx (21:56:48 3/06/2009)
она умеет добавлять в корзинку товар просто по переданным через урл параметрам.

mx (21:56:59 3/06/2009)
и пофиг - есть он в базе или нет

mx (21:57:03 3/06/2009)
типа
index.php?option=com_caddy&edtprodcode=beer001&edtshorttext=My+Beer&edtunitprice=24.95&edtqty=6&action=addtocart

mx (21:57:16 3/06/2009)
option=com_caddy - component name
action=addtocart - function to execute = addtocart
edtprodcode=beer001 - your product code
edtshorttext=My+Beer - a short description of the product, urlencoded!
edtunitprice=24.95 - the unitary price of the product
edtqty=6 - quantity to add to the cart

mx (21:57:52 3/06/2009)
она добавит в корзинку товар с таким вот кодом и описанием по такой вот цене

 MauS (21:58:50 3/06/2009)
> она умеет добавлять в корзинку товар просто по переданным через урл параметрам.
это GET запросом чтоли?

mx (21:59:02 3/06/2009)
либо умеет принимать все эти параметры через post

mx (21:59:07 3/06/2009)
и так и так

 MauS (21:59:21 3/06/2009)
таак

mx (21:59:43 3/06/2009)
ну вобщем - если ему сплавить все данные он в корзину добавит что хош

 MauS (21:59:47 3/06/2009)
кажись я начинаю догонять, к чему ты клонишь )

mx (22:00:20 3/06/2009)
остаётся только тупо сваять элемент, который будет содержать окошко "количество" и пипку "добавить в корзину"

mx (22:00:45 3/06/2009)
и будет собирать данные из итема в правильный пост-запрос

mx (22:01:37 3/06/2009)
а это похоже, даже я могу сделать... хотя лучше, если кто-нть хоть чуток умеющий писать =)

 MauS (22:01:39 3/06/2009)
думаю, даже элемент не нужен

mx (22:01:52 3/06/2009)
думаю - элемент-таки нужен

 MauS (22:01:58 3/06/2009)
можно в шаблоне все это прокрутить

mx (22:02:13 3/06/2009)
ммм... можно

 MauS (22:02:14 3/06/2009)
элемент по смысле все-таки содержит какие-то данные

 MauS (22:02:22 3/06/2009)
а здесь он какой-то фиктивный получится

mx (22:02:30 3/06/2009)
но элемент-таки красивее =)

mx (22:03:00 3/06/2009)
и потом этот элемент может содержать жестко прописанное поле артикула и, например, цены

mx (22:04:18 3/06/2009)
и элемент - такая штука, которую можно более-менее вменяемо распространять

 MauS (22:04:31 3/06/2009)
это да

mx (22:04:59 3/06/2009)
а инструкции прикручивания в шаблон - только гимора добавят

 MauS (22:06:25 3/06/2009)
согласен

mx (22:06:55 3/06/2009)
и потом - теоретически через тот-же элемент можно попробывать добавить функциональность доп. опций для товара...

mx (22:07:06 3/06/2009)
но это потом =)

 MauS (22:08:13 3/06/2009)
самый прикол будет, когда юзверь начнет фэйковый товар заказывать )

mx (22:08:36 3/06/2009)
ну... да, есть такой шанс...

mx (22:08:54 3/06/2009)
хотя, если всё делать через пост-запросы - это менее вероятно

 MauS (22:08:59 3/06/2009)
why?

 MauS (22:09:21 3/06/2009)
обычный юзверь и так, и так не будет с этим связываться

mx (22:09:26 3/06/2009)
ну... это да

mx (22:10:19 3/06/2009)
хотя - желание поправить в гет-запросе цену - а потом устроить скандал - типа я вот у вас за это купил - так будьте добры... =)

mx (22:10:36 3/06/2009)
такое вполне может посетить вполне обычных юзеров

 MauS (22:11:00 3/06/2009)
ну...

 MauS (22:11:02 3/06/2009)
да

 MauS (22:11:16 3/06/2009)
согласен. пост как-то не так в глаза бросается

mx (22:11:51 3/06/2009)
ну вобщем - штука получится не шибко секьюрная... но для магазинов с небольшим ассортиментом - вполне покатит

mx (22:12:09 3/06/2009)
когда продавцы свой товар в лицо знают =)

 MauS (22:19:47 3/06/2009)
Кстати, мне мысля пришла

 MauS (22:19:56 3/06/2009)
изоляции то все равно не получится

mx (22:20:05 3/06/2009)
в каком плане?

 MauS (22:20:11 3/06/2009)
ему ж (элементу) нужно будет из других элементов брать данные, которые постить

 MauS (22:20:41 3/06/2009)
мне кажется, у них семантика совсем другая задумывалась, все-таки

mx (22:20:50 3/06/2009)
ну да...
хотя без этого можно и обойтись

 MauS (22:21:05 3/06/2009)
ммм каким макаром? запихать в него все данные?

 MauS (22:21:14 3/06/2009)
получится какой-то мета-элемент

mx (22:21:20 3/06/2009)
ага, все данные, нужные для корзины

- - - - - - - - - - - - - - - - - - - - - - - -
« Последнее редактирование: 05.02.2012, 04:49:07 от satarion »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться