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

Добрый день!
Появилась такая задача: создать модуль, который бы отображал Горячие туры.
Сделал такой файл xml:
Код
<params addpath="/modules/mod_hot_tours/elements">
        <param name="tour_dates" type="text" default="" label="Дата вылета" description="Дата вылета в тур" />
        <param name="tour_nights" type="text" default="" label="Ночей в туре" description="Количество ночей в туре" />
        <param name="tour_country" type="country" default="" label="Страна" description="Страна, в которую прибывают в тур" />
        <param name="@spacer" type="spacer" default="" label="" description="" />
        <param name="tour_name_hotel1" type="text" size="40" default="" label="Название 1-го отеля" description="Название 1-го отеля" />
        <param name="tour_price_hotel1" type="text" default="" label="Цена 1-го отеля" description="Цена 1-го отеля" />
        <param name="tour_name_hotel2" type="text" size="40" default="" label="Название 2-го отеля" description="Название 2-го отеля" />
        <param name="tour_price_hotel2" type="text" default="" label="Цена 2-го отеля" description="Цена 2-го отеля" />
        <param name="tour_name_hotel3" type="text" size="40" default="" label="Название 3-го отеля" description="Название 3-го отеля" />
        <param name="tour_price_hotel3" type="text" default="" label="Цена 3-го отеля" description="Цена 3-го отеля" />
        <param name="tour_name_hotel4" type="text" size="40" default="" label="Название 4-го отеля" description="Название 4-го отеля" />
        <param name="tour_price_hotel4" type="text" default="" label="Цена 4-го отеля" description="Цена 4-го отеля" />
        <param name="tour_name_hotel5" type="text" size="40" default="" label="Название 5-го отеля" description="Название 5-го отеля" />
        <param name="tour_price_hotel5" type="text" default="" label="Цена 5-го отеля" description="Цена 5-го отеля" />
        <param name="tour_name_hotel6" type="text" size="40" default="" label="Название 6-го отеля" description="Название 6-го отеля" />
        <param name="tour_price_hotel6" type="text" default="" label="Цена 6-го отеля" description="Цена 6-го отеля" />
        <param name="tour_name_hotel7" type="text" size="40" default="" label="Название 7-го отеля" description="Название 7-го отеля" />
        <param name="tour_price_hotel7" type="text" default="" label="Цена 7-го отеля" description="Цена 7-го отеля" />
        <param name="tour_descr" type="textarea" rows="10" cols="50" default="" label="Краткое описание" description="Краткое описание" />
    </params>

Но в этом случае отображается много блоков (Название отеля, Цена отеля), а нужно, чтобы отображались один такой блок.
А при нажатии на кнопку "Добавить отель" в параметры модуля добавлялся еще один блок с полями Название отеля, Цена отеля.

Подскажите как это реализовать? Может воспользоваться elements?
*

migus

  • Давно я тут
  • 992
  • 144 / 0
  • OPEN THE BOX
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Да,если постараться то можно такое сделать. Нужно создать свой тип элемента. Но тут загвоздка есть. Параметр может хранить либо единичное значение либо массив, но не массив массивов что тут требуется. Вот пример элемента который отображает поля и кнопку Давить поле. Сделать пары полей уже не получится.

Код: php
class JElementMultiText extends JElement
{
/**
* Element name
*
* @access protected
* @var string
*/
var $_name = 'MultiText';

function fetchElement($name, $value, &$node, $control_name)
{
$size = ( $node->attributes('size')? 'size="'.$node->attributes('size').'"' : '' );
$class = ( $node->attributes('class')? 'class="'.$node->attributes('class').'"' : 'class="text_area"' );
$document =& JFactory::getDocument();
        /*
         * Required to avoid a cycle of encoding &
         * html_entity_decode was used in place of htmlspecialchars_decode because
         * htmlspecialchars_decode is not compatible with PHP 4
         */
       

$script = '
function addInput(button) {
var input = button.parentNode.insertBefore(document.createElement(\'input\'), button);
input.parentNode.insertBefore(document.createElement(\'br\'), button);
input.name = \''.$control_name.'['.$name.'][]\''.';
return false;
}
';
$document->addScriptDeclaration($script);
$inputs = array();
foreach ((array) $value as $val)
{
$val = htmlspecialchars(html_entity_decode($val, ENT_QUOTES), ENT_QUOTES);
$inputs[] = '<input type="text" name="'.$control_name.'['.$name.'][]" value="'.$val.'" '.$class.' '.$size.' />';
}
return implode('<br />', $inputs).'<button type="button" onclick="addInput(this)">Add Input</button>';
}
}
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужна помощь в исправлении ошибок модуля

Автор megaboy161

Ответов: 16
Просмотров: 1827
Последний ответ 20.01.2020, 18:00:44
от sivers
AJAX для модуля на 1.5

Автор voland

Ответов: 2
Просмотров: 1800
Последний ответ 04.03.2016, 12:08:41
от b2z
[how to] Красота JHTML, или создание элементов формы с

Автор Professor

Ответов: 11
Просмотров: 24875
Последний ответ 27.12.2012, 18:14:38
от BaR
Как вы "въехали" в создание расширений?

Автор aanvale

Ответов: 4
Просмотров: 3037
Последний ответ 13.10.2012, 21:44:25
от passer
Как получить ID для каждого выводимого модуля на странице

Автор enshtein

Ответов: 6
Просмотров: 6765
Последний ответ 12.01.2012, 08:54:19
от enshtein