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

slepoy

  • Давно я тут
  • 753
  • 24 / 0
  • Тотальная шизофазия
Здравствуйте.

Используя template override, создал файл:
/templates/vt_hiking/html/com_tags/tag/default_items.php

и на страницу "Список элементов" (где отображается список статей, объединенных одним тегом) добавил отображение тегов (по этой инструкции: http://joomlaforum.ru/index.php/topic,282086.0.html#msg1403167).

Но как добавить автора и заголовок категории категорию по тому же принципу (по сути сделать почти как блог)?

Я посмотрел файлы шаблона материала и там довольно часто встречается category  :(

Что можно предпринять в таком случае?

Спасибо.
Помог? Поставь(те) плюс в репутацию.
*

slepoy

  • Давно я тут
  • 753
  • 24 / 0
  • Тотальная шизофазия
Спасибо.
Но, к сожалению, так и не разобрался, как вывести псевдоним автора автора и заголовок категории (как ссылка или без нее).
Помог? Поставь(те) плюс в репутацию.
*

Thores

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
Вот и мне интересно как задать этот дополнительный запрос к базе.
Например на количество просмотров статьи. Код компонента "Метки" мягко говоря отличается от того что есть в Joomla. Может я  и просмотрел и ошибся но привычных запросов к базе нету. по крайней мере в версии 3.4
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Ну так его придется делать в самом файле макета. После строки

Код: php
<?php foreach ($items as $i => $item) : ?>

добавить

Код: php
<?php $db = JFactory::getDbo();

$db->setQuery(
$db->getQuery(true)
->select('hits')
->from('#__content')
->where('id = ' . (int) $item->content_item_id)
);

$hits = $db->loadResult();

В нужном месте вывести

Код: php
<?php echo $hits; ?>

Но это ужасно в плане производительности. На каждый материал делать доп. запрос...
*

Thores

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
Спасибо Дмитрий, но вы правы что это ужасно в  плане производительности, можно ли дописать свои значения в самом компоненте. Потому что там я получаю почти всю информацию необходимую мне, но тем не менее нескольких пунктов нехватает, лучше для меня пожертвовать обновлением пока что чем произоводительностью сайта
*

Thores

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
 Спасибо за направление и помощь, о результатах отпишусь здесь, вдруг кому понадобится решение.
*

Thores

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
Тогда ковыряйте getTagItemsQuery
Поковырял и отчасти разобрался, единственное что мне непонятно, что при любом добавочном запросе он идет не для всех значений таблицы сразу, а лишь к первому значению и оно принимается уже для каждого элемента. То бишь говоря простым языком запрашивается первое значение и устанавливается для всех.
Тогда в модели вывода components\com_tags\models\tag.php я добавил  у getItems()
Код
$db = JFactory::getDbo();
$db->setQuery(
$db->getQuery(true)
->select('hits')
->from('#__content')
->where('id = ' . (int) $item->content_item_id));
$hits = $db->loadResult();
$item->hits = $hits;
И все заработало, хотя опять же я думаю, что это с точки зрения производительности равносильно тому как засовывать такой запрос в шаблон вывода. Не знаю так ли это...

Теперь есть другой вопрос правда уже не по пункту меню "Список элементов".
Пункт меню "Список меток". Как вывести на экран количество элементов метки. Такой функционал есть в модуле "Популярные метки". Но почему то вывода этого количества нету там где оно так необходимо.
Я так полагаю запрос, по аналогии, должен быть примерно такой:
Код
<?php $db = JFactory::getDbo();
 
$db->setQuery(
$db->getQuery(true)
->select('tag_id')
->from('#__contentitem_tag_map')
->where('COUNT('tag_id') = ' . (int) $item->content_item_id)
);
 
$countelement = $db->loadResult();
Но вот куда его вставить ума не приложу ибо куда бы я не совался все нарушало структуру страницы. Прошу помощи.
Правильный ли запрос? Если нет, то как указать правильнее? И куда его засунуть?
*

slepoy

  • Давно я тут
  • 753
  • 24 / 0
  • Тотальная шизофазия
Имя автора можно вывести кодом:
Код
<?php echo $item->author; ?>

Однако, мне необходимо вывести псевдоним автора "created_by" но ничего не удается, даже если подглядывать в файл шаблона блога:
Код
		if ($params->get('show_author') && !empty($this->item->author )) :
$output .='<dd class="createdby">';
$author =  $this->item->author;
$author = ($this->item->created_by_alias ? $this->item->created_by_alias : $author);
if (!empty($this->item->contactid ) &&  $params->get('link_author') == true):
$output .= JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', JRoute::_('index.php?option=com_contact&view=contact&id='.$this->item->contactid), $author));
else:
$output .= JText::sprintf('COM_CONTENT_WRITTEN_BY', $author);
endif;
$output .='</dd>';
endif;
Помог? Поставь(те) плюс в репутацию.
*

Thores

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
Имя автора можно вывести кодом:
Код
<?php echo $item->author; ?>
Можно добавить доп. запрос, методом, описанным выше. Правда лучше дождаться ответа Дмитрия, потому как я уже написал незнаю как такой способ влияет на производительность.
« Последнее редактирование: 19.03.2015, 07:26:25 от Thores »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Имя автора можно вывести кодом:
Код
<?php echo $item->author; ?>

Однако, мне необходимо вывести псевдоним автора "created_by" но ничего не удается, даже если подглядывать в файл шаблона блога:
Код
		if ($params->get('show_author') && !empty($this->item->author )) :
$output .='<dd class="createdby">';
$author =  $this->item->author;
$author = ($this->item->created_by_alias ? $this->item->created_by_alias : $author);
if (!empty($this->item->contactid ) &&  $params->get('link_author') == true):
$output .= JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', JRoute::_('index.php?option=com_contact&view=contact&id='.$this->item->contactid), $author));
else:
$output .= JText::sprintf('COM_CONTENT_WRITTEN_BY', $author);
endif;
$output .='</dd>';
endif;

Так там же есть core_created_user_id и core_created_by_alias -  не надо никаких доп запросов... Вот что в принципе доступно в item:

Код: php
stdClass Object
(
    [type_alias] => com_content.article
    [content_item_id] => 24
    [core_content_id] => 1
    [match_count] => 1
    [tag_date] => 2015-01-29 14:28:39
    [core_title] => Joomla! Testing
    [core_alias] => Joomla
    [core_body] => Thanks for helping us to test Joomla!
    [core_state] => 1
    [core_access] => 1
    [core_metadata] => {"robots":"","author":"","rights":"","xreference":""}
    [core_created_user_id] => 913
    [core_created_by_alias] =>
    [core_created_time] => 2011-01-01 00:00:01
    [core_images] => {"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}
    [core_modified_time] => 2015-01-29 12:28:39
    [core_language] => *
    [core_catid] => 19
    [core_publish_up] => 2011-01-01 00:00:01
    [core_publish_down] => 0000-00-00 00:00:00
    [content_type_title] => Article
    [router] => ContentHelperRoute::getArticleRoute
    [author] => Super User
    [author_email] => test@test
    [link] => index.php?option=com_content&view=article&id=24:joomla
    [displayDate] => 2011-01-01 00:00:01
    [event] => stdClass Object
        (
            [afterDisplayTitle] =>
            [beforeDisplayContent] =>
            [afterDisplayContent] =>
        )

    [text] => Thanks for helping us to test Joomla!
    [core_params] =>
)

Поковырял и отчасти разобрался, единственное что мне непонятно, что при любом добавочном запросе он идет не для всех значений таблицы сразу, а лишь к первому значению и оно принимается уже для каждого элемента. То бишь говоря простым языком запрашивается первое значение и устанавливается для всех.
Тогда в модели вывода components\com_tags\models\tag.php я добавил  у getItems()
Код
$db = JFactory::getDbo();
$db->setQuery(
$db->getQuery(true)
->select('hits')
->from('#__content')
->where('id = ' . (int) $item->content_item_id));
$hits = $db->loadResult();
$item->hits = $hits;
И все заработало, хотя опять же я думаю, что это с точки зрения производительности равносильно тому как засовывать такой запрос в шаблон вывода. Не знаю так ли это...
Туда нет смысла добавлять... Это тоже самое, что в макет добавить, но макет можно переопределить. Сам запрос в getTagItemsQuery - в нем надо колдовать. Но по моему, там ничего не сделать.

Цитировать
Теперь есть другой вопрос правда уже не по пункту меню "Список элементов".
Пункт меню "Список меток". Как вывести на экран количество элементов метки. Такой функционал есть в модуле "Популярные метки". Но почему то вывода этого количества нету там где оно так необходимо.

После
Код: php
<?php foreach ($this->items as $i => $item) : ?>

доабвьте
Код: php
<?php $db = JFactory::getDbo();
 
$db->setQuery(
$db->getQuery(true)
->select(COUNT('tag_id'))
->from('#__contentitem_tag_map')
->where('tag_id = ' . (int) $item->id)
);

$elementsCount = $db->loadResult();

Но опять - это запрос в цикле...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Двойное меню

Автор cirip

Ответов: 0
Просмотров: 4305
Последний ответ 05.11.2024, 23:19:21
от cirip
Пункт меню Текстовый разделитель ведет на главную страницу

Автор zahar_92

Ответов: 8
Просмотров: 7755
Последний ответ 27.07.2023, 13:37:17
от ei-dos
[РЕШЕНО]Скрыть пункт меню на мобильных устройствах

Автор lexxbry

Ответов: 16
Просмотров: 14937
Последний ответ 23.05.2023, 07:22:49
от geral
Цвет фона меню

Автор IhorPH

Ответов: 7
Просмотров: 6019
Последний ответ 21.03.2023, 11:47:29
от marksetter
OffCanvas меню Helix Ultimate добавить текст к иконке

Автор Andre100

Ответов: 2
Просмотров: 7571
Последний ответ 20.03.2023, 12:42:49
от Andre100