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

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Нужно получить в модуле алиас текущего раздела/категории. Существует глобальная переменная или массив, позволяющая их вывести (чтобы не делать новый запрос)?
Также интересует механизм запросов - нужно сделать свою выборку с базы и получить массив через mysql_fetch_array. Какой функцией оптимальнее задавать запросы в Joomla 1.5?
Спасибо.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Вот просто выборка данных:
Код: php
$db = & JFactory::getDBO();
$db->setQuery('select * from #__sections');
$rows = $db->loadObjectList();

Вот тебе одиночное значение:
Код: php
$db = & JFactory::getDBO();
$db->setQuery('select alias from #__sections where id = ' . $id);
$alias = $db->loadResult();
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Спасибо, с запросом разобрался!
Касательно $id - эта переменная только для примера? У меня в модуле она пуста.
Нужно хоть один глобальный идентификатор текущей категории
« Последнее редактирование: 18.05.2009, 23:44:09 от mijsvit »
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
аналогичный вопрос. Модифицию модуль newsflash, он упорно не желает выводить свой заголовок.
Решил взять заголовок категории. Вот запрос который там есть:

Код
$query = 'SELECT a.*,' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
' FROM #__content AS a' .
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
' WHERE a.state = 1 ' .
($noauth ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
' AND (a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' ) ' .
' AND (a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )' .
' AND cc.id = '. (int) $catid .
' AND cc.section = s.id' .
' AND cc.published = 1' .
' AND s.published = 1' .
' ORDER BY a.ordering';
$db->setQuery($query, 0, $items);
$rows = $db->loadObjectList();

return $rows;


Какой запрос мне нужно дописать чтобы получить название текущей категории?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
таблица категорий в этом запросе уже подключена, связь (AND cc.id = '. (int) $catid .) на месте, так что просто брать cc.title и выводить
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
так, но на выходе у нас $rows. как с него тогда правильно вытянуть cc.title ?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
так, но на выходе у нас $rows. как с него тогда правильно вытянуть cc.title ?
foreach ($rows as $row) {
echo 
$row->cat_title;
}

но обязательно в самом селекте делайте алиас для заголовка категории (у меня в примере cat_title, ибо у нас в нескольких таблицах получается поле title)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
что-то не так.. переменная пустая. мож неправильно алиас прицепил?! скиньте плиз строку с кодом
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
скиньте плиз строку с кодом
не уж, это вы показывайте ваш код :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
я толком синтаксиса не знаю) экспериментирую:) потомувидимои не получается. подскажите плз как правильно алиас прицепить) напишите плз)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
SELECT id AS catid - это алиас данного поля (когда в выбираемых таблицах встречается несколько одинаковых названий)
INNER JOIN #__categories AS cc ON cc.id = a.catid - это подключение с левой стороны дополнительной таблицы к запросу
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Добавил - вообще вся инфа модуля не выводится. Видимо снова я чёт не то прописал в запрос crazy! Вот что вышло :

Код
$query = 'SELECT a.*,' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
                       
' FROM #__content AS a' .
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
                        ' INNER JOIN #__categories AS cc ON cc.title = a.cattitle' .
                        ' INNER JOIN #__sections AS s ON s.id = a.sectionid' .


' WHERE a.state = 1 ' .
($noauth ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
' AND (a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' ) ' .
' AND (a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )' .
' AND cc.id = '. (int) $catid .
                        ' AND cc.title = '. $cattitle .
' AND cc.section = s.id' .
' AND cc.published = 1' .
' AND s.published = 1' .
' ORDER BY a.ordering';
$db->setQuery($query, 0, $items);
$rows = $db->loadObjectList();

return $rows;

Ух и поддастал я уже наверное:)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
1 - два раза подключена таблица категорий (убери одну строку)
INNER JOIN #__categories AS cc ON cc.id = a.catid
2 - в SELECT нет выборки данных из других таблиц, отличных от content (которая с алиасом A)
Код: php
$query = 'SELECT a.*, cc.title AS cattitle, ' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
' FROM #__content AS a' .
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
                        ' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
' WHERE a.state = 1 ' .
($noauth ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
' AND (a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' ) ' .
' AND (a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )' .
' AND cc.id = '. (int) $catid .
                        ' AND cc.title = '. $cattitle .
' AND cc.section = s.id' .
' AND cc.published = 1' .
' AND s.published = 1' .
' ORDER BY a.ordering';
$db->setQuery($query, 0, $items);
$rows = $db->loadObjectList();

return $rows;
вот как то так
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
супер.спасибо) :D
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Параметры материала вызвать в модуле.

Автор SnowB

Ответов: 1
Просмотров: 2053
Последний ответ 07.07.2011, 19:56:32
от Виталик
[Решено] Как в модуле узнать его заголовок.

Автор Виталик

Ответов: 0
Просмотров: 1916
Последний ответ 08.01.2011, 18:47:32
от Виталик
Установить hook на запросы к БД

Автор enshtein

Ответов: 21
Просмотров: 5042
Последний ответ 03.09.2009, 13:32:03
от Physicist
Секция <head> в модуле

Автор salikoff

Ответов: 10
Просмотров: 2866
Последний ответ 08.05.2009, 01:35:46
от userxp
По содержимому или META статьи в одном модуле -> отобразить статью с теми же META или содержимым в д

Автор Sergei_Shablovsky

Ответов: 0
Просмотров: 1737
Последний ответ 09.02.2009, 09:07:43
от Sergei_Shablovsky