Новости 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 Ответов
  • 4554 Просмотров
*

vic1379

  • Новичок
  • 6
  • 0 / 0
Здравствуйте. Как вывести количество материалов в блоге категорий?
Вот пример:
Бизнес идеи(37)
То есть, чтоб в скобках показывало количество метериалов в блоге категорий.
Joomla 2.5.9, шаблон JA Purity II
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Количество материалов где ? В каждой категории ?
Ответы на вопросы по CSS . Откройте для себя Firebug
*

vic1379

  • Новичок
  • 6
  • 0 / 0
Вот так примерно:
Меню
Блог категории например один (и в скобках нужно вывести количество материалов, например в этой категории 20 материалов )
Блог категории например два (здесь 100)
Блог категории например три (здесь 5)
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Так где Вы хотите выводить количество материалов ? В модуле меню ?
Если хотите получить ответ, а тем более получить его побыстрее, учитесь корректно и правильно задавать вопросы .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

vic1379

  • Новичок
  • 6
  • 0 / 0
В модуле меню конечно, в котором нужно в каждом блоге категорий, вывести количество материалов в скобках.
*

midav

  • Давно я тут
  • 926
  • 115 / 1
В модуле меню конечно, в котором нужно в каждом блоге категорий, вывести количество материалов в скобках.

Из вопроса в первом посте это никак не понятно .

В файле \templates\шаблон\html\mod_menu\default_component.php вставьте :
Код: php
$count = '';
if ($item->query['view'] == 'category') {
$db = JFactory::getDbo();
$query = $db->getQuery(true);

$query->select('COUNT(*)');
$query->from('#__content');
$query->where("`catid`= '".$item->query['id']."' AND `state` = '1'");

$db->setQuery($query);
$count = ' ( '.$db->loadResult().' )';
}

И потом выведите эту полученную переменную в нужном месте :
Код: php
switch ($item->browserNav) :
default:
case 0:
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; echo $count; ?></a>
Ответы на вопросы по CSS . Откройте для себя Firebug
*

vic1379

  • Новичок
  • 6
  • 0 / 0
Спасибо за помощь, ваш вариант работает, но в моем шаблоне нет папки mod_menu, я взял скопировал ее из другого шаблона и вставил вами написанный код все выводиться вроде нормально, и уточню что в скопированной папке mod_menu оставил только default_component.php. Вот впрочем и все мои подвиги. Возможный такой вариант или нет?
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Ну если работает, значит возможен :)
Ответы на вопросы по CSS . Откройте для себя Firebug
*

tkm

  • Захожу иногда
  • 69
  • 0 / 0
Спасибо за ваше решение, Но вот есть проблема. Выводит нормально если нет вложенности пунктов меню. А как можно вывести суммарное количество статей в пункте меню верхнего уровня
http://c2n.me/j41rWn
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Можно попробовать вот так . Чтобы не портить оригинальные файлы, можно создать для нужных типов меню отдельный макет в своем шаблоне . Ну или с дефолтным шаблоном вывода меню эксперементировать, но обязательно в своем шаблоне. Как описано в постах выше .
Если работать с дефолтным, то будут затронуты все модули меню. Если это не актуально, то работайте с дефолтным.
В начале файла default.php вставляем код :
Код: php
$db = JFactory::getDbo();

$query = $db->getQuery(true);
$query->select('`id`, `parent_id`, `lft`, `rgt`');
$query->from('#__categories');
$query->where('`extension` = "com_content" AND `published` = 1 ');
$db->setQuery($query);
$cat_tmp = $db->loadAssocList() ;

foreach($cat_tmp as $v){
$cat[$v['id']]['id'] = $v['id'];
$cat[$v['id']]['parent_id'] = $v['parent_id'];
$cat[$v['id']]['lft'] = $v['lft'];
$cat[$v['id']]['rgt'] = $v['rgt']; 
}

Потом в файле default_component.php , опять же в начале,  добавляем код :
Код: php
$db = JFactory::getDbo();

$count = '';

if($item->query['view'] == 'category'){

$query = $db->getQuery(TRUE); 
$query->select('`id`, `title` ');
$query->from('#__categories as c');
$query->where('`published` = 1 and `extension` = "com_content" and `lft` BETWEEN '.$cat[$item->query['id']]['lft'].' AND '.$cat[$item->query['id']]['rgt'].' ');
$db->setQuery($query);
$res = $db->loadAssocList(); //jbdump($res);

$in_value = '';
$count_res = count($res);
$i = 1;
foreach($res as $v){
if($i!=$count_res){
$in_value .= $v['id'].',';
}
else{
$in_value .= $v['id'].'';
}
$i++;

}

$where = "`state` = '1' AND `catid` IN(".$in_value.")" ;

$query = $db->getQuery(true);
$query->select('COUNT(`id`)');
$query->from('#__content');
$query->where( $where );
$db->setQuery($query);
$count = ' ( '.$db->loadResult().' )';

}

Ну и естесственно потом выводим переменную $count в нужном месте .
Это будет работать . Но добавит по два запроса в базу данных на каждый пункт меню, в котором выводится количество материалов . Хотя запросы простые и не должны особо затормозить сайт :)
Ответы на вопросы по CSS . Откройте для себя Firebug
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Классно  ^-^

Благодаря решению от Fedor Vlasenko , код для товарища tkm сильно упрощается :) В файл default_component.php  надо добавить :
Код: php
$count = '';

if($item->query['view'] == 'category'){

$count = JCategories::getInstance('Content', array('countItems'=>true))->get($item->query['id'])->getNumItems(true);

}
И Joomla сама все посчитает .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

tkm

  • Захожу иногда
  • 69
  • 0 / 0
А в какое конкретно место файла добавлять эту конструкцию?
*

midav

  • Давно я тут
  • 926
  • 115 / 1
А в какое конкретно место файла добавлять эту конструкцию?

В начале файла, после проверки
Код
defined('_JEXEC') or die;
А саму переменную $count выводите там где нужно и оформляете её вывод, так как нравится . Тегами, классами и т.п.
Ответы на вопросы по CSS . Откройте для себя Firebug
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор olesya

Ответов: 15
Просмотров: 5680
Последний ответ 12.07.2020, 12:46:06
от NataliS
Как вывести все категории VirtueMart 3 второго уровня списком?

Автор Damarkuzz

Ответов: 0
Просмотров: 2716
Последний ответ 06.07.2020, 18:58:23
от Damarkuzz
Как вывести путь материала на страницу?

Автор Gromz

Ответов: 6
Просмотров: 3668
Последний ответ 14.12.2019, 20:19:21
от Gromz
Как вывести данные из stdClass Object в Joomla?

Автор specialist-web

Ответов: 7
Просмотров: 4038
Последний ответ 06.05.2019, 18:24:37
от specialist-web
Код вывести название страницы

Автор qvaro

Ответов: 1
Просмотров: 2201
Последний ответ 24.11.2018, 18:33:07
от beliyadm