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

310

  • Новичок
  • 6
  • 0 / 0
Вывожу материалы, созданные конкретным пользователем в его профиле Kunena таким кодом (ниже). Сейчас выбор делается из приложения 1. Мне нужно сделать еще одну подобную вкладку для материалов из приложения 2. Если просто сдублировать код, получаю ошибку 500. Видимо, что-то вызывается дважды. Автор кода недоступен, может, кто подскажет, как модифицировать то, что есть?
Код
<!-----начало галереи-->
    <dt class="closed" title="Галерея"><strong>Галерея</strong></dt>
    <dd style="display: none;">
<div class="kblock kflat">
<?php echo '<h2>Галерея</h2>';
function getConditions($zoo, $user_id, $params) {
$db = $zoo->database;

$conditions = "a.".$zoo->user->getDBAccessString($zoo->user->get());

if(($applications = $params->get('zooapplications')) && !empty($applications)) {
$applicationIds = array();
$applications = explode("|*|", $applications);

foreach($applications as $id) {
if(!empty($id)) {
$applicationIds[] = $db->Quote((int) $id);
}
}
if(!empty($applicationIds)) {
$conditions .= " AND a.application_id".($params->get('zooapplications_selection', 0)? "" : " NOT")." IN (".implode(', ', $applicationIds).")";
}
}

if(($types = $params->get('zootypes')) && !empty($types)) {
$typeIds = array();
$types = explode("|*|", $types);
foreach($types as $id) {
if(!empty($id)) {
$typeIds[] = $db->Quote($db->escape((string) $id));
}
}
if(!empty($typeIds)) {
$conditions .= " AND a.type".($params->get('zootypes_selection', 0)? "" : " NOT")." IN (".implode(', ', $typeIds).")";
}
}

if(($categories = $params->get('zoocategories')) && !empty($categories)) {
$categoryIds = array();
$categories = explode("|*|", $categories);
foreach($categories as $id) {
if(!empty($id)) {
$categoryIds[] = $db->Quote((int) $id);
}
}
if(!empty($categoryIds)) {
$conditions .= " AND c.category_id".($params->get('zoocategories_selection', 0)? "" : " NOT")." IN (".implode(', ', $categoryIds).")";
}
}

$conditions .= " AND a.created_by = ".$db->Quote($db->escape((int) $user_id));

if(!$params->get('expired', 0)) {
$date = $zoo->date->create();
$now  = $db->Quote($date->toSQL());
$null = $db->Quote($db->getNullDate());
$conditions .= " AND (a.publish_up = ".$null." OR a.publish_up <= ".$now.")"
." AND (a.publish_down = ".$null." OR a.publish_down >= ".$now.")";
}

if($params->get('published', 1)) {
$conditions .= " AND a.state = 1";
}

return $conditions;
}

require_once(JPATH_ADMINISTRATOR.'/components/com_zoo/config.php');
$zoo = App::getInstance('zoo');
$zoo->system->language->load('com_zoo');

$user_id = JRequest::getInt('userid');

$par = array(
'zooapplications' => '1',
'zooapplications_selection' => '1',
'zootypes' => '0',
'zootypes_selection' => '0',
'zoocategories' => '0',
'zoocategories_selection' => '0',
'expired' => '0',
'published' => '1'
);

$params = new JRegistry();
$params->loadString(json_encode($par));

$options = array('select' => 'a.*',
'from' => ZOO_TABLE_ITEM.' AS a'
.' LEFT JOIN '.ZOO_TABLE_TAG.' AS b ON a.id = b.item_id'
.' LEFT JOIN '.ZOO_TABLE_CATEGORY_ITEM.' AS c ON a.id = c.item_id',
'conditions' => getConditions($zoo, $user_id, $params),
'order' => 'a.priority DESC');

$items = $zoo->table->item->all($options); ?>

<div id="yoo-zoo">
<?php if (!empty($items)) : ?>
<div class="pos-related">
                    <style>
.myitem img {
width: 100% !important;
height: auto !important;
max-height: none;
}

.myitem .pos-title, .myitem .pos-meta, .myitem .yoo-zoo.rating, .myitem .pos-content, .myitem .pos-links, .myitem p {
display: none !important;
}
</style>
<div id="d5c1c6ad-148e-47d6-a537-871177045ee7-6">
<?php foreach ($items as $item) : ?>
<div class="myitem" style="width: 20%; height: auto; max-height: 200px !important">
<div class="floatbox">
<div class="pos-media media-left">
<div class="element element-image first last">
<?php $item_html = null;
$renderer = $zoo->renderer->create('item')->addPath(array($zoo->path->path('component.site:'), $item->getApplication()->getTemplate()->getPath()));
$path   = 'item';
$prefix = 'item.';
$type = $item->getType()->id;

if ($renderer->pathExists($path.DIRECTORY_SEPARATOR.$type)) {
$path .= DIRECTORY_SEPARATOR.$type;
$prefix .= $type.'.';
}

if (in_array('teaser', $renderer->getLayouts($path))) {
$item_html = $renderer->render($prefix.'teaser', array('view' => $item->getApplication(), 'item' => $item));
} elseif (in_array('related', $renderer->getLayouts($path))) {
$item_html = $renderer->render($prefix.'related', array('view' => $item->getApplication(), 'item' => $item));
}

echo $item_html; ?>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
<?php else : ?>
<div class="no-items">
Ничего не найдено
</div>
<?php endif; ?>
</div>
            </div>
</dd>
<!---->

    <dt class="closed" title="Новости"><strong>Новости</strong></dt>
    <dd style="display: none;">
<div class="kblock kflat">
           

            </div>
</dd>           
<!---конец галереи, начало моделей---> 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с добавлением материалов в ZOO

Автор tvorec1988

Ответов: 1
Просмотров: 4161
Последний ответ 22.02.2021, 22:21:14
от draff
Где настраивается вывод колиства товара на странице?

Автор Lopes-popes

Ответов: 1
Просмотров: 4882
Последний ответ 09.08.2019, 00:12:54
от Lopes-popes
Вывод материала категории

Автор face2005

Ответов: 0
Просмотров: 5258
Последний ответ 28.09.2018, 18:26:52
от face2005
Вывод в ZOO description материалов по формуле "название+статическое описание"

Автор saschka

Ответов: 0
Просмотров: 5579
Последний ответ 24.04.2017, 14:41:48
от saschka
Вывод полей в ZOO по образцу (помощь или сделать на заказ за вознаграждение)

Автор saschka

Ответов: 2
Просмотров: 2922
Последний ответ 12.01.2017, 17:27:18
от saschka