Новости Joomla

SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам создания кастомных схем данных для сервера обновлений.

v.2.6.1. Что нового?

  • Правки наследования схем серверов обновлений. Улучшена логика наследования схем серверов обновлений для проектов компонент - категория - проект.
  • Не стабильные релизы в сервере обновлений. Теперь в данные сервера обновлений попадают все версии (alpha, beta и т.д.), а не только stable.
  • Косметические изменения. В шаблоне по умолчанию сделаны замены некоторых CSS-классов, уточнено присвоение атрибутов loading=lazy и fetchpriority.
  • Рефакторинг и правки кода. Текущее обновление кодовой базы.
  • Исправление ошибок.

Больше спасибо за помощь в тестировании участникам нашего сообщества Александру Новикову (@pro_portal) и Александру Судьбинову (@alexrevo).

Событие Pizza, Bugs & Fun - 29-30 января 2026 года.

Событие Pizza, Bugs & Fun  - 29-30  января 2026 года.

Уже несколько лет в мире Joomla проводятся мероприятия "Pizza, Bugs & Fun" (#PBF), где каждый может посвятить несколько часов своего мозгового времени тому, чтобы наша любимая CMS стала ближе к идеалу.

Ссылки на видео и статьи из этого поста рассказывает об организационных вопросах, которые пригодятся для участия в PBF, а так же что и как делать.

В рамках события PBF все желающие могут собираться в общий онлайн чат, обсудить вопросы Joomla и приложить к их разрешению свою руку. Самый классный вариант, когда эта встреча происходит оффлайн: тогда организовывается пицца, напитки по вкусу и несколько часов совместного творчества.

Каждый помогает тем, что он умеет:

  • кто-то пишет недостающую документацию,
  • кто-то пишет код,
  • кто-то тестирует как исправлены ошибки или сделан новый функционал.

На сайте события есть карта, можно "захостить" свою локацию. Практически все движки в мире развиваются за счёт спонсирующих их компаний. Joomla одна из немногих, где развитие идёт только усилиями международного сообщества энтузиастов.

https://www.youtube.com/watch?v=a-FuVKXg_Uw 

На момент написания данного поста в репозитории Joomla 810 открытых Issue (как правило это баги) и 236 Pull request (PR, исправление багов и новый функционал). Все PR обязательно тестируются минимум двумя участниками сообщества, дабы в конечный код движка не проскочила ошибка.

Если каждый из участников только нашего сообщества сделает даже одно тестирование, то, боюсь, PR и Issue на всех не хватит 😀 И ничего не останется нашим коллегам из международных Joomla-чатов.

0 Пользователей и 1 Гость просматривают эту тему.
  • 17 Ответов
  • 2318 Просмотров
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Всем привет, подскажите как создать свой компонент в Joomla, для добавления функционала, чтобы не хакать ядро?
На примере JoomShopping - в папке controllers создаешь свой файл с классом, и к нему уже можно обратиться по ссылке..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Свой компонент или контроллер?
« Ответ #2 : 26.09.2014, 19:42:26 »
http://joomlablog.ru/dokumentatsiya/dlya-razrabotchika
Да, я читал уже все там, но именно такого варианта там нет..

т.е. мне надо просто добавить файл, чтобы можно было обращаться по ссылке типа:
print SEFLink('index.php?option=com_jshopping&controller=мойфайл&task=мояфункциявфайле');
Так нельзя никак?

Вот эта статья вообще в закладках - http://joomlablog.ru/dokumentatsiya/dlya-razrabotchika/rabota-s-bazoj-dannykh/505-jdatabasedriver-vyborka-dannykh-i-poluchenie-rezultata - я из нее понял что оказывается бывают разные результаты, строка, массив, один результат и пр..))
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Свой компонент или контроллер?
« Ответ #3 : 26.09.2014, 20:09:12 »
А что Вы хотите получить в итоге? Что должно стать результатом такого обращения? Вызов url должен возвращать фронт-результат.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Свой компонент или контроллер?
« Ответ #4 : 26.09.2014, 20:12:03 »
Так в чем проблема?
Создаете файл с "мойКонтроллер.php"
В нем создаете класс:
class jshoppingControllerМойКонтроллер extends JControllerLegacy{
   publick function myTask(){
     echo '234';
   }
}

А дальше JRoute::_('index.php?option=com_jshopping&task=мойКонтроллер.myTask')

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

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Свой компонент или контроллер?
« Ответ #5 : 26.09.2014, 23:33:34 »
Так в чем проблема?
Создаете файл с "мойКонтроллер.php"
В нем создаете класс:
class jshoppingControllerМойКонтроллер extends JControllerLegacy{
   publick function myTask(){
     echo '234';
   }
}
А дальше JRoute::_('index.php?option=com_jshopping&task=мойКонтроллер.myTask')
и не понятна задача.. если вам например просто что то вывести из базы надо, то вам нужен вид и модель, если что то сделать (например удалить что то из корзины то контроллер)

Во, спасибо..)
Задача - добавление какого нибудь функционала, пока незнаю какого, в админке что нить добавить, тот же поиск или проч..

Так, а куда его ложить то?
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Свой компонент или контроллер?
« Ответ #6 : 27.09.2014, 00:36:37 »
Задача - добавление какого нибудь функционала, пока незнаю какого, в админке что нить добавить, тот же поиск или проч..
Вы бы тогда сначала с функционалом бы определились.

Так, а куда его ложить то?
В зависимости от того, где функционал требуется:
в админке: /administrator/components/com_jshopping/controllers/
фронт: /components/com_jshopping/controllers/

Файл только назовите как-нибудь изощреннее, чтобы у разработчиков jshopping и в мыслях не было придумать такое, а то они, в свою очередь, при очередном расширении функционала могут что-то одноименное добавить ))
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Свой компонент или контроллер?
« Ответ #7 : 27.09.2014, 00:48:04 »
А блин, нет, я не внимательно ответ прочел, горячка сделала свое.. Мне тоже самое надо, но только именно для самой Joomla, т.е. не для JoomShopping, там сделал так давно уже.. ))

Его использую для AJAX поиска, чтобы ядро не хакать, и смену раскладки тоже там прописал..

Файл только назовите как-нибудь изощреннее
У меня popa.php называется..)
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Свой компонент или контроллер?
« Ответ #8 : 27.09.2014, 01:16:39 »
У меня popa.php называется..)
Ага, как только пользователь на сайте что-то не то сделал, туда его и пошлете ))

Мне тоже самое надо, но только именно для самой Joomla
Тогда к основному шаблону привязываться, иначе это будет уже хак ядра, имхо.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Свой компонент или контроллер?
« Ответ #9 : 27.09.2014, 01:35:50 »
Тогда к основному шаблону привязываться, иначе это будет уже хак ядра, имхо.
Кстати да, я видал как то, где то в шаблонах файл functions.php, как сделать чтобы он работал с $db = JFactory::getDbo(); ?
Я вначале думал в папку куда нибудь, в libraries или в includes такой файл поместить чтобы он работал с $db = JFactory::getDbo() и прочими штуками Joomla..

А то я все делаю прям в файлах где нужно...)
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Свой компонент или контроллер?
« Ответ #10 : 27.09.2014, 14:44:21 »
Так подключите фреймворк внутри вашего .php
Код: php
define('DS', DIRECTORY_SEPARATOR);
require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
JFactory::getApplication('site')->initialise();
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Свой компонент или контроллер?
« Ответ #11 : 27.09.2014, 23:32:53 »
Так подключите фреймворк внутри вашего .php
Код: php
define('DS', DIRECTORY_SEPARATOR);
require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
JFactory::getApplication('site')->initialise();
Такое не сработает. JPATH_BASE не определена. Поэтому после
Код: php
define('DS', DIRECTORY_SEPARATOR);
надо добавить
Код: php
define('JPATH_BASE', __DIR__);

Это случай, когда сторонний файл находится в корне. Если же он там не находится, то необходимо внести изменение в:
Код: php
define('JPATH_BASE', __DIR__);
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Свой компонент или контроллер?
« Ответ #12 : 27.09.2014, 23:58:55 »
добавлю у меня JFactory::getApplication('site')->initialise(); цепочка вызовов было не работало
и в плагине выглядело так
Код: php-brief
<?php
/* Защита от дурака с помощью [url=http://ru.wikipedia.org/wiki/CURL]cURL[/url] легко обойтию Данные принимаются аяксом*/
(isset($_SERVER['HTTP_X_REQUESTED_WITH'])
    && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest') or die;
define('_JEXEC', 1);
// это плагин соответственно множественное dirname дает путь к корню
define('JPATH_BASE', dirname(dirname(dirname(dirname(__FILE__)))));
define('DS', DIRECTORY_SEPARATOR);
$path = JPATH_BASE . DS . 'includes' . DS;
// once использовать необязательно, не думаю, что вы подключите файлы фреймворка дважды
require($path . 'defines.php');
require($path . 'framework.php');
$app = JFactory::getApplication('site');
$app->initialise();
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Свой компонент или контроллер?
« Ответ #13 : 28.09.2014, 06:32:38 »
А какой тип расширения делает AJAX запросы? Имхо мы тут костыли выдумываем когда все есть готовое.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Свой компонент или контроллер?
« Ответ #14 : 28.09.2014, 13:23:11 »
Про какие костыли ты здесь пишешь. Если про новый компонент AJAX, то пожалуйста хочешь использовать используй его (на 2 шага больше)
То же подключение фреймворка, а затем контроллер, контроллер компонента AJAX, и уже твое приложение.
Это самый быстрый способ получить точку входа.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Свой компонент или контроллер?
« Ответ #15 : 28.09.2014, 14:32:06 »
Например с AJAX запросом обратиться к файлу, чтобы чтото получить из базы, ну или добавить, например проверка логина при регистрации и пр, функцию окончаний там прописать (статья, статей, статьи)..

Может еще че, просто вышло уже два обновления, а я не обновлялся..
Похоже пока что нибудь доделаю, уже Joomla 4 выйдет..))
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Свой компонент или контроллер?
« Ответ #16 : 28.09.2014, 17:58:24 »
Например с AJAX запросом обратиться к файлу, чтобы чтото получить из базы, ну или добавить, например проверка логина при регистрации и пр, функцию окончаний там прописать (статья, статей, статьи)..

Может еще че, просто вышло уже два обновления, а я не обновлялся..
Похоже пока что нибудь доделаю, уже Joomla 4 выйдет..))
Я не зря про тип расширения спрашивал, из компонентов можно обратиться к контроллеру этого-же компонента, который сам написал, из модулей и плагинов - через com_ajax.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Свой компонент или контроллер?
« Ответ #17 : 28.09.2014, 18:33:57 »
Такое не сработает. JPATH_BASE не определена. Поэтому после
Код: php
define('DS', DIRECTORY_SEPARATOR);
надо добавить
Код: php
define('JPATH_BASE', __DIR__);
Да, упустил момент с определением JPATH_BASE

Это случай, когда сторонний файл находится в корне. Если же он там не находится, то необходимо внести изменение в:
Код: php
define('JPATH_BASE', __DIR__);
Так именно корень и надо получить. Здесь, имхо, надо тогда жестко знать самому файлу, где именно он располагается, и соответственно получать корень:
Код: php
define('JPATH_CURRENT', __DIR__);
define('JPATH_BASE', JPATH_CURRENT.DS.'..'.DS.'..'.DS.'..'); // for front
define('JPATH_BASE', JPATH_CURRENT.DS.'..'.DS.'..'.DS.'..'.DS.'..'); // for admin
(конкретно пример под случай ТС)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавление нового типа пункта меню в ваш компонент Joomla

Автор RexNebular

Ответов: 3
Просмотров: 1141
Последний ответ 02.10.2017, 19:04:16
от Septdir
Как добавить в меню ссылку на компонент ?

Автор антигерой

Ответов: 36
Просмотров: 3196
Последний ответ 31.01.2017, 13:05:13
от dmitry_stas
Новым компонент для Joomla 3.6

Автор phpCoder

Ответов: 16
Просмотров: 1591
Последний ответ 06.10.2016, 23:35:44
от vipiusss
Страничка на PHP ( html) в компонент

Автор Yomoto

Ответов: 1
Просмотров: 943
Последний ответ 17.05.2016, 01:45:18
от Septdir
Как подключить к админке модуля свой CSS?

Автор zeus07

Ответов: 14
Просмотров: 2498
Последний ответ 22.03.2016, 00:51:36
от zeus07