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

_92

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
здравствуйте

задача такая
- сейчас в материалах загружено большое количество изображений (т.е. в каждом материале прямо в редакторе имеем множество img)
- мне нужно настроить автоматизацию (обрамить img тегами div, span, ..), но только чтоб на страницах определенного раздела (/section_name/element_name_1/, /section_name/element_name_2/, ..) выводилось, например, div.. span.. /span.. div.. img.. img.. img.. img.. /div.. /div..

сейчас самым простым для себя нашел в /templates/*название шаблона*/html/com_content/.. делать проверку на uri, т.е. если мы находимся в section_name и и еще есть element_name_хх, то вызываем наше обрамление и вставляем внутрь наши img

вопрос - как правильно нужно сделать в данном случае?
*

effrit

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

_92

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
можно в плагин вынести эти же самые операции
тоже про это думал
начал было изучать https://docs.joomla.org/Creating_a_Plugin_for_Joomla и сделал уже простой плагин
но до конца не могу сообразить логику работы будущего плагина - сможете описать кратко принцип работы для моей задачи

а можно экспортировать дамп базы с нужными материалами и пройтись по ним регулярками с помощью Notepad++, чтобы не тратить ресурсы сервера на оборачивание каждый раз
просто в дальнейшем материалы будут наполняться новыми img

а если, например, потратить время (или в других проектах с нуля) и перенести все img в медиа-менеджер по разделам
то как потом можно сделать, чтоб можно было в редакторе в нужном месте просто прописать, к примеру, [show_imgs_block folder="section_name"], наподобие шорткодов в wordpress
и на нужной странице вызывалась, к примеру, function show_imgs_block($folder ='')
« Последнее редактирование: 14.12.2016, 15:40:18 от _92 »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
А я вот не согласен насчет плагина или базы. Плагин и база вещь глобальная и сервеная, а обрамление картинок все же вещь фронтальная. Можно и js написать и скинуть все на браузер.

Ну а если все же делать серверно то первое что нужно сделать это определить когда.
1. В момент сохранения - только плагин (content/onContentBeforeSave). Но с уже имеющимся материалами не прокатит, придется либо функцию написать, либо как писалось взять дамп и сделать замену.
2. В момент вывода - Два варианта либо плагин (content/onContentPrepare) либо переопределить шаблон com_content(делать нечно подобное в index не очень хорошая затея).

Второе где?
Тут все зависит от вас. На мой взгляд наиболее удобным было бы цепляться к категории. Но тут многое зависит от самой задачи. Так что просто напишите себе список где вам это нужно и ответ не заставит себя ждать.

Третье реализация.
Ну тут все просто используем регулярку
Код: php
$text = 'Image reular <img alt="Joomla! Documentation" src="https://docs.joomla.org/skins/foreground/joomla_logo_small.png" style="max-width: 64px;height:auto; max-height:36px; display: inline-block; vertical-align:middle;">';
$text = preg_replace('/(<img[^>]+>)/', '<div><span>$text = 'Image reular <img alt="Joomla! Documentation" src="https://docs.joomla.org/skins/foreground/joomla_logo_small.png" style="max-width: 64px;height:auto; max-height:36px; display: inline-block; vertical-align:middle;">';
$text = preg_replace('/(<img[^>]+>)/', '<div><span>$1</span></div>', $text);
echo $text;
</span></div>', $text);
echo $text;
« Последнее редактирование: 14.12.2016, 15:47:35 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

_92

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
либо плагин (content/onContentPrepare)
1 скажите, в чем разница если делать через плагин и function onContentPrepare() или через /templates/*название шаблона*/html/com_content/article/default.php с условием <?php if ($this->item->catid == '*id-категории*'): ?>
2 имеет ли значение в этом случае, если включено кэширование в настройках админки
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
1 скажите, в чем разница если делать через плагин и function onContentPrepare() или через /templates/*название шаблона*/html/com_content/article/default.php с условием <?php if ($this->item->catid == '*id-категории*'): ?>
2 имеет ли значение в этом случае, если включено кэширование в настройках админки
1. Разница в том когда и где это происходит. onContentPrepare() выполняется еще до самого вывода и меняет сам текст ну или что вы там меняете и работает не только в материале но и в категории, архиве израбнных, может даже в некоторых модулях. Ну и соответственно по умолчанию не зависит от шаблона.
Переопределение делается для каждой вьюхи отдельно (отдельно категория отдельно материал) и привязано к определенному шаблону.
2. По идеи нет.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вопрос по шаблону Flex

Автор Invictus

Ответов: 0
Просмотров: 571
Последний ответ 06.02.2025, 21:10:46
от Invictus
Модуль последние материалы начиная с определенного

Автор marksetter

Ответов: 3
Просмотров: 717
Последний ответ 21.06.2022, 11:25:25
от fsv
Вопрос по роутеру: вложенность статей друг в друга

Автор effrit

Ответов: 6
Просмотров: 880
Последний ответ 30.09.2021, 10:17:15
от sivers
Вопрос по метатэгам и адресам в блоге

Автор ALEXRAW

Ответов: 1
Просмотров: 603
Последний ответ 22.02.2021, 11:24:12
от ALEXRAW
Вопрос по меню и Seo

Автор virtual-3

Ответов: 11
Просмотров: 1053
Последний ответ 28.12.2020, 04:58:58
от rsn