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

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
Доброго времени суток уважаемые форумчане. Дорос я до того что решил попробовать написать свой компонент для Joomla (пробую написать компонент работы с турами для турфирмы по аналогии с компонентом статей). Есесн как "самый умный" попробовал написать примитивный компонент по видео уроку - как ни странно получилось и даже работает. Это дало мне возможность примерно понять как все работает. Однако нужно сделать поддержку ЧПУ урлов и мульти язычность в компоненте. К сожалению Google по запросам выдает лишь советы как настроить ЧПУ в самой Joomla и ни слова про то, как сделать мальти языность и ЧПУ для своего компонента. По сему прошу помощи у вас. Возможно кто то сталкивался с подобной задачей и может подсказать где и что искать  или же тыкнуть в доки.

То есть сейчас компонент создает запись в БД с нужными для меня полями. Я хочу сделать поддержку мультиязычности компонента как это реализованно в компоненте создания материалов Joomla и поддержку ЧПУ для ссылок на страницы моего компонента (в БД есть запись алиаса ссылки вывожу через JRoute::_(""); )
*

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
UPD:

с мультиязычностью разобрался: добавил в форме добавления записи в админке список с языками и в моделе выборки статей для фронтенда изменил код с проверкой на мульти язычность :

Код: php
<?php
defined('_JEXEC') or exit;
//Модель работает с БД и получает список  записей с турами
class TourModelTour extends JModelList {

protected function getListQuery() {

if (JLanguageMultilang::isEnabled()) {

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__tour');
$query->where('`published` = 1');
$query->where('language in (' . $db->quote(JFactory::getLanguage()->getTag()). ',' . $db->quote('*'). ')');
$query->order('`id` DESC');

}else {
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__tour');
$query->where('`published` = 1');
$query->order('`id` DESC');
}

return($query);
}

}

?>

Однако вопрос с урлами остался. Я так понимаю что в папке компонента для фронтенда в корне должен лежать фаил route.php  который будет обрабатывать ссылки. Однако мне не совсем ясно как ссылку с него передать в вид и как  фаил route,php получить сам URL ?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
То есть сейчас компонент создает запись в БД с нужными для меня полями. Я хочу сделать поддержку мультиязычности компонента как это реализованно в компоненте создания материалов Joomla и поддержку ЧПУ для ссылок на страницы моего компонента (в БД есть запись алиаса ссылки вывожу через JRoute::_(""); )
Мультиязычность как в com_content? да нет ничего проще!
1. Добавляете поле langiage для таблицы вашей
2. В админке делаете запись мультиязычности в это поле!
3. в модели пользовательской добавляете к запросу:
Код: php
if ( JLanguageMultilang::isEnabled() ) {
$query->where( 'language in (' . $this->getDbo()->quote( JFactory::getLanguage()->getTag() ). ',' . $this->getDbo()->quote( '*' ). ')' );
}

По ЧПУ уж сколько тут тем было.. читать не перечитать!
Можете немного у меня почитать http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/routing-v-joomla-jroute.html
*

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
По ЧПУ уж сколько тут тем было.. читать не перечитать!
Можете немного у меня почитать http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/routing-v-joomla-jroute.html

ознакомился с вашей статьей - все понятно и ничего не понятно )) Я дохожу до формирования файла роута и потом у меня ступор т.к более мение вменяемой инфы или не нахожу или  где то жутко как туплю. Вот смотрите у меня сейчас router.php выглядит вот так:

Код: php
<?php
defined('_JEXEC') or exit;
 
function TourBuildRoute( &$query ){
    $segments = array();
if ( isset( $query['view'] ) ) {
        $segments[] = $query['view'];
unset( $query['view'] );
    }
return $segments;
}


function TourParseRoute( $segments ) {
    $vars = array();
    $count = count( $segments );
    if ( $count ) {
        $count--;
        $segment = array_shift( $segments );
        $vars['view'] = $segment;
    }
    if ( $count ) {
        $count--;
        $segment = array_shift( $segments );
        $vars['id'] = $segment;
    }
    return $vars;
}


?>

В свое же время макет вывода виглядит вот так:

Код: php

<?php defined('_JEXEC') or exit;
//макет вывода туров в списке
?>

<?php if (!empty($this->items)) : ?>

<?php foreach($this->items as $item):?>
<div>
<h2>
<a href="<?=JRoute::_('index.php?option=com_tour&view=item&id='.$item->id);?>"><?=$item->title;?></a>
</h2>
<div>
<?=$item->publish;?>
</div>
<div>
<?php if(!empty($item->images->image)):?>
<img src="<?=$item->images->image;?>" alt="<?=$item->title;?>">
<?php endif;?>
</div>
<div>
<?=$item->text;?>
</div>
</div>
<?php endforeach;?>

<div class="pagination text-center">
<p class="counter text-center">
<?=$this->pagination->getPagesCounter();?>
</p>
<?=$this->pagination->getPageslinks();?>
</div>

<?php endif;?>


Пробую в нем сделать print_r(); для переменной $vars которую в роутере формирует функция парсера - пишет что такая переменная не объявлена - ну это и логично  -  я ее нигде не объявлял. Но тогда в какой переменной хранится массив с инфой о правильном урле, и которая передается в макет ?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
1. JRoute::_('index.php?option=com_tour&view=item&id='.$item->id); вот это обрабатывает buildRoute (тоесть построит ссылку типа /view/item/10
2. site.ru/view/item/10 вот это обработает ParseRoute (то есть ссылку которая в браузере переведет из view/item/10 в view=item и id=10

А дальше нужно знать какую ссылку вы хотите получить что бы понять как и что делать!
*

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
спасибо - сработало ! ) Правда почему то пример с вашего сайта сработал не сразу  - нашел с доков тот же практически пример однако он работает. Думаю мог быть баг при копировании кода с сайта, ну да это уже мелочи. Однозначно + :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

ajax загрузка компонента на странице материала К2

Автор Divn

Ответов: 0
Просмотров: 1559
Последний ответ 13.01.2023, 15:05:52
от Divn
Ошибка при установке компонента

Автор JackThaCat

Ответов: 6
Просмотров: 2434
Последний ответ 11.11.2022, 06:04:13
от Satelitte
Убрать префикс языка многоязычного сайта для компонента

Автор vigiv

Ответов: 0
Просмотров: 1172
Последний ответ 25.04.2022, 18:11:47
от vigiv
Удаление непонятного компонента из Joomla 3

Автор phvsfpgs

Ответов: 7
Просмотров: 1360
Последний ответ 24.09.2021, 20:49:54
от ProtectYourSite
Не сохраняются изменения при работе компонента

Автор polezniy

Ответов: 16
Просмотров: 1322
Последний ответ 03.07.2021, 01:32:13
от polezniy