Новости Joomla

👩‍💻 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 Гость просматривают эту тему.
  • 5 Ответов
  • 1448 Просмотров
*

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
Доброго времени суток. Прошу помочь в решении моей задачи.
Имеется кастомный компонент объявлений. В объявлении есть опции, к примеру срок аренды. В админке срок аренды задается через список селект со значениями 1,2,3, так далее. Далее в субконтроллере вида view.html.php в цикле происходит обработка вывода этих значений и присвоение им текстовых параметров . То есть к примеру если срок аренды = 1 то ему присваиваем определенную языковую переменную из языкового файла. И далее уже в виде се красиво.

Теперь более подробно с чем я столкнулся и что я не могу понять как решить. На странице вывода объявлений  есть AJAX подгрузка объявлений. Из вьюхи в котроллер .  com_arenda/controllers/arenda.php  я передаю параметры для sql запроса на выборку объявлений. То есть сейчас в контроллере у меня и запрос на выборку из БД и предполагаемая пост обработка данных для формирования вывода их в вид. Но модель может усложняться и я хочу отделить при AJAX подгрузке контента модуль и контроллер.

Если отталкиваться от патерна MVC я должен передать из вида в контроллер параметры, далее их передать в модель, получить ответ от модели и его уже обработать и отдать в вид. Я понимаю что MVC это не 100% как надо делать но для меня сейчас это решение . Что бы не громоздить конструкцию из 100500 if else в контроллере и там же не обращаться к БД я хочу получить данные в контроллере, подгрузить метод выборки из модели в которую передам то что получил в контроллере, и уже далее в контроллере перебрать в цикле foreach то что мне вернет бд и оформить так как мне нужно.

То есть что мне нужно
: подскажите, как правильно написать конструкцию запроса обращения к методу модули из контроллера, что бы в контроллере получить результат работы БД
 
*

fsv

  • Живу я здесь
  • 2796
  • 414 / 2
Запрос на url:
'index.php?option=com_arenda&task=arenda.getData'
или на
'index.php?option=com_arenda&task=arenda.getData&format=json'

в com_arenda/controllers/arenda.php
или в
в com_arenda/controllers/arenda.json.php

Код
public function getData()
{
    JSession::checkToken() or jexit (JText::_('JINVALID_TOKEN'));
    $jinput = JFactory::getApplication()->input;
    ........

    try
    {
        $model = $this->getModel();  // или $model = $this->getModel('modelName');
        if( $model->blabla($any) )   // получить объявления из базы
        {
        // обработать и echo данные
Веб-разработка: заказ. Только новая разработка.
*

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
Спс, буду пробовать. :)

Можно еще вопрос? :) А вот такая ситуация : у меня в модели есть метод выборки записей

Код: php

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__zaim');
$query->where('`published` = 1');
$query->order('`top` DESC');
return($query);

получается он возвращает строку запроса sql в бд. И далее в view.html.php он уже перебирается. Сейчас я в моделе создал еще один метод, который возвращает объект с данными. По сути они будут идентичны. То есть выборка будет одинаковая но т.к в дальнейшем модель  будет обрастать условиями я думаю как сделать так что бы метод в моделе был один и для обычного вывода  на странице записей и для подгрузки аякса.

Если я в контроллере делаю вот так

Код: php
  			$db = JFactory::getDbo(); 
                        $model = $this->getModel();
$db->setQuery($model, $start, 1);
$list = $db->loadObjectList();

То в контроллере будет ошибка связанная с неверным запросом в БД. Причина ошибки ясна но я хотел уточнить : в целом такой подход может быть ? То есть у меня есть 1 метод в моделе для выборки записей и в контроллере я уже   обращаясь к нему же, возвращаю объект с данными и его обрабатываю ? Или е то что я написал некий БДСМ и есть методы и попроще ?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Ваши контроллер и модель, скорее всего, являются "дочерьми" контроллера и модели API Joomla. Родительская модель в конечном счете возвращает массив объектов, просто она разбила скрипт на несколько методов для более удобного использования.
Метод, который формирует запрос, называется getListQuery(). Он передает запрос в функцию getItems(), которая, в свою очередь, делает выборку из БД.
Если в вашей модели нет getItems, это не значит, что она не может использовать тот же метод от своего родителя.
Как правило, вы пишете для своей модели свой метод getItems только в случае, когда вы хотите обрабатывать результат, полученный от родительского класса.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

fsv

  • Живу я здесь
  • 2796
  • 414 / 2
я думаю как сделать так что бы метод в моделе был один и для обычного вывода  на странице записей и для подгрузки аякса.
Он и так один. Модель ничего не знает, какой будет вывод. Она просто вернет данные. Как вы их отразите, ее не волнует.

Если я в контроллере делаю вот так
не надо

То есть у меня есть 1 метод в моделе для выборки записей и в контроллере я уже   обращаясь к нему же, возвращаю объект с данными и его обрабатываю ?
Веб-разработка: заказ. Только новая разработка.
*

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отправка файлов через ajax в модуль Joomla

Автор hemicide

Ответов: 19
Просмотров: 3576
Последний ответ 11.04.2022, 08:44:33
от sivers
Создание компонента для табеля рабочего времени

Автор sashahz

Ответов: 7
Просмотров: 1462
Последний ответ 12.04.2021, 11:12:11
от sashahz
Вызов формы компонента в pop-up, при клике по ссылке из любого места

Автор SkyAn

Ответов: 1
Просмотров: 1255
Последний ответ 01.03.2021, 04:08:48
от gartes
Документация по разработки компонента для Joomla 3.x

Автор Aspik

Ответов: 9
Просмотров: 4146
Последний ответ 23.01.2021, 07:55:56
от hmr
Сборка инсталятора компонента файлами из разных папок с привлечением github

Автор borro

Ответов: 1
Просмотров: 1250
Последний ответ 25.12.2020, 21:21:30
от platonische