Новости Joomla

Вышли релизы безопасности Joomla 6.1.3 и Joomla 5.4.8

Релиз безопасности Joomla 6.1.3 и Joomla 5.4.8

Проект Joomla! рад сообщить о выходе Joomla 6.1.3 и Joomla 5.4.8. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

Joomla 5+ пакет для интеграции с API Почты России: нормализация данных, расчёт доставки, создание отправлений, партии, документы, возвраты, поиск отделений, справочники и SOAP-отслеживание.

v.3.0.0. Что нового?
Это дальнейшее развитие ранее закрытой Joomla-библиотеки для работы с API сервиса Отправка (для бизнеса) Почты России. Поэтому версия не 1.0.0, а 3.0.0.

Сейчас эта библиотека ушла от собственных реализаций и стала Joomla-обёрткой известного PHP SDK от Lapay Group.

Возможности библиотеки.
- получение настроек аккаунта, точек сдачи и текущего остатка запросов к API;
- нормализация адресов, ФИО и телефонов перед созданием отправления;
- расчёт тарифа и срока доставки;
- создание, поиск, изменение, удаление и возврат заказов в состояние «Новые»;
- проверка надёжности получателя;
- создание партий, просмотр партий и заказов внутри партии;
- генерация пакета печатных документов и формы Ф103;
- создание, изменение и удаление возвратных отправлений;
- поиск отделений по индексу, адресу и координатам, получение сервисов отделения;
- локальный список стран;
- SOAP-отслеживание операций по РПО и работа с билетами пакетного трекинга.

👩‍💻 Joomla-возможности.
В пакете библиотеки WT Otpravkapochtaru есть поля Joomla Form для расширений. Они позволяют работать в интерфейсе Joomla с некоторыми типами данных, получаемых по API из вашего личного кабинета в ЛК Почты России для бизнеса.
На данный момент в библиотеке доступны 3 поля списков, которые отображают доступные в аккаунте ОПС, типы и категории отправлений.
Поддерживаются зависимые списки: значение одного поля обновляется при изменении другого.

Системные требования.
Системные требования в основном связаны с системными требованиями апстрима библиотеки - LapayGroup PHP SDK.
- Joomla 5+
- PHP 8.3+
- Расширения PHP:
-- ext-mbstring
-- ext-simplexml
-- ext-soap (опционально, для трекинга)
-- ext-zip

Ссылки:
- Страница расширения
- GitHub библиотеки и документация

@joomlafeed

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

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
Просмотров: 1310
Последний ответ 02.10.2017, 19:04:16
от Septdir
Как добавить в меню ссылку на компонент ?

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

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

Автор phpCoder

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

Автор Yomoto

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

Автор zeus07

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