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

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Доброе время суток.
Есть уже дествущий скрипт на JQuery c AJAX.
Который дополняет небольшим вспомогательным функционалом при  редактирование поля Город на Фронт-енд.

Каждый раз вручную его вставлять нет, желания и не безопасно так как скрипт содержит ключ API.

По этому принял решение разобратся и написать аддон/плагин для шопинга и поделится с вами. Для того чтоб из админки тянуть параметры как API ключ и всякие еще доп. фунциональности для скрипта.

Начал с разработки аддона

В аддоне я разобрался как его создать( какие папки, файлы нужны), что за код должен быть внутри для того чтоб установить, вывести поля в админки.
Вышло что аддон устанавливаеться, есть возмонжость как зайти в конфигурацию его и по заполнять поля там.
Поправте если не прав, аддон нужен если мы планируем менять фунционал шопинга ?. К примеру  как  одностраничная корзина от nevigen :).
В аддоне столкнулся с тем что из тех примеров что были у меня  и доступны FREE на сайте webdesigner-profi.de,  я не понял как вывести скрипт на сайте не использовая плагин, то есть это не возможно ?

Плавно перешли к разработки Плагина (без плагина магию на сайт не вывести ).

Плагин уже настроен чтоб установить, удалить, есть поля уже в XML и заполнить их с админки можно.

Уже был рад, так как делов думал на 5мин. осталось просто получить значение из поля и все.

Чтоб скрипт запустить на сайте, использовал код этот
Код
$doc = JFactory::getDocument();
$doc->addScriptDeclaration('
                    jQuery(function(){
                    "use strict";
                        console.log("AJAX"); }); ');
Все чудно, скрипт начал в консоль выводить значение.
Дальше перешел к получению параметром "$this->params". И тут столкнулся с тем что "params" не получить без

Код
class plgJshoppingНазвание extends JPlugin
{

    function onBeforeDisplay..........(&$view){
        $x = $this->params->get('api_key');  // Получить ключ из админки         
    }

}

Вот тут нужна ваша помощь, как должен выглядить класс что б скрипт который я хочу запустить на "Странице редактирование данных"  ?

Хоть и читал документацию на Joomla, и примеров  кучу пересмотрел но так и не понял что писать в название класса и в функции чтоб работало на той странице где мне надо.





*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Помощь в дороботки плагина/адонна
« Ответ #1 : 04.02.2018, 01:09:43 »
class plgГруппаНазвание

Группа = group из XML. должна быть одна из групп, которые подгружаются (JPluginHelper::importPlugin(Группа)) на данной странице. это могут быть как нативные группы Joomla (например system, которая грузится везде), так и специфичные от ЖШ. если предполагается что плагин нужен только на страницах компонента, и если компонент это позволяет (а ЖШ позволяет), то лучше использовать из компонента, чтобы плагин подгружался только когда необходимо. в противном случае придется использовать группы Joomla и дополнительно проверять, находимся ли мы в нужно нам месте. вам подойдет например jshoppingcheckout, что немного лучше чем вы написали Jshopping (которая грузится вообще во всем ЖШ)

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

myplug.php -> class plgJshoppingcheckoutMyplug

название метода смотрите в $dispatcher->trigger(тут будет название метода). в вашем случае
Код
$dispatcher->trigger('onBeforeDisplayEditAccountView', array(&$view));
второй параметр это переменные которые будут переданы в этот ваш метод в плагине

Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Re: Помощь в дороботки плагина/адонна
« Ответ #2 : 04.02.2018, 01:16:21 »
class plgГруппаНазвание

Группа = group из XML. должна быть одна из групп, которые подгружаются (JPluginHelper::importPlugin(Группа)) на данной странице. это могут быть как нативные группы Joomla (например system, которая грузится везде), так и специфичные от ЖШ. если предполагается что плагин нужен только на страницах компонента, и если компонент это позволяет (а ЖШ позволяет), то лучше использовать из компонента, чтобы плагин подгружался только когда необходимо. в противном случае придется использовать группы Joomla и дополнительно проверять, находимся ли мы в нужно нам месте. вам подойдет например jshoppingcheckout, что немного лучше чем вы написали Jshopping (которая грузится вообще во всем ЖШ)

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

myplug.php -> class plgJshoppingcheckoutMyplug

название метода смотрите в $dispatcher->trigger(тут будет название метода). в вашем случае
Код
$dispatcher->trigger('onBeforeDisplayEditAccountView', array(&$view));
второй параметр это переменные которые будут переданы в этот ваш метод в плагине


Не думал что так быстро ответ будет. очень толково расписали вы, Спасибо, буду пробовать.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

перестала работать регистрация при использовании плагина CAPTCHA для компонента

Автор dexterkirov

Ответов: 6
Просмотров: 1202
Последний ответ 14.04.2016, 00:17:57
от dmitry_stas
Как перенести описание строго под изображение при наличии плагина?

Автор xxx87

Ответов: 16
Просмотров: 1775
Последний ответ 30.04.2015, 15:14:36
от Taatshi
Нужна помощь!

Автор stalnoy3

Ответов: 3
Просмотров: 1073
Последний ответ 21.04.2014, 13:06:18
от Biss
Не вставляется видео из плагина All video

Автор yuri85

Ответов: 6
Просмотров: 1217
Последний ответ 17.03.2014, 15:40:32
от yuri85