Новости Joomla

👩‍💻 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 Гость просматривают эту тему.
  • 2 Ответов
  • 862 Просмотров
*

SuschnosT

  • Захожу иногда
  • 119
  • 1 / 2
Всем привет. Народ подскажите пожалуйста есть стандартная пагинация, в интернете нашел код ее стилизации:

Код
/**
 * Код этого файла отвечает за вывод пагинации в шаблон
 */

/*
 * Здесь задается вид кнопок перехода к следующей или к предыдущей записи
 * */
function getArrows()
{
  return [
    'prev' => '‹',
    'next' => '›'
  ];
}

/**
 * Вывод пагинации
 *
 * @param   array $list Массив, в котором содержится информация о пагинации
 *
* @return  string HTML разметка
 *
 * @since   3.0
 */
function pagination_list_render( $list )
{
  // Вычисление необходимого диапазона страниц для показа
  $currentPage = 1;
  $range = 1;
  $step = 5;

  foreach ( $list[ 'pages' ] as $k => $page )
  {
    if ( ! $page[ 'active' ] )
    {
      $currentPage = $k;
    }
  }

  if ( $currentPage >= $step )
  {
    if ( $currentPage % $step == 0 )
    {
      $range = ceil( $currentPage / $step ) + 1;
    } else
    {
      $range = ceil( $currentPage / $step );
    }
  }

  // Начало формирования html-разметки
  $html = '<nav><ul class="pagination">';
  //  $html .= $list[ 'start' ][ 'data' ];
  $html .= $list[ 'previous' ][ 'data' ];

  foreach ( $list[ 'pages' ] as $k => $page )
  {
    if ( in_array( $k, range( $range * $step - ( $step + 1 ), $range * $step ) ) )
    {
      if ( ( $k % $step == 0 || $k == $range * $step - ( $step + 1 ) ) && $k != $currentPage && $k != $range * $step - $step )
      {
        $page[ 'data' ] = preg_replace( '#(<a.*?>).*?(</a>)#', '$1...$2', $page[ 'data' ] );
      }
    }

    $html .= $page[ 'data' ];
  }

  $html .= $list[ 'next' ][ 'data' ];
  //  $html .= $list[ 'end' ][ 'data' ];

  $html .= '</ul></nav>';

  return $html;
}

/**
 * Рендер активного элемента пагинации
 *
 * @param   JPaginationObject $item Текущий объект пагинации
 *
 * @return  string HTML-разметка для активного элемента
 *
 * @since   3.0
 */
function pagination_item_active( &$item )
{
  $arrows = getArrows();
  $class = '';

  // Проверка и формирования элемента "Start"
  /*  if ( $item->text == JText::_( 'JLIB_HTML_START' ) )
    {
          $display = '<span class="icon-first"></span>';
    }*/

  // Проверка и формирования элемента "Prev"
  if ( $item->text == JText::_( 'JPREV' ) )
  {
    $display = '<span class="icon-previous">' . $arrows[ 'prev' ] . '</span>';
  }

  // Проверка и формирования элемента "Next"
  if ( $item->text == JText::_( 'JNEXT' ) )
  {
    $display = '<span class="icon-next">' . $arrows[ 'next' ] . '</span>';
  }

  // Проверка и формирования послденего элемента
  /*if ( $item->text == JText::_( 'JLIB_HTML_END' ) )
  {
        $display = '<span class="icon-last"></span>';
  }*/

  // Если элемент не сформирован, тогда просто формируем его с содержимым текстом
  if ( ! isset( $display ) )
  {
    $display = $item->text;
    //    $class = ' class="hidden-phone"';
  }

  return '<li' . $class . '><a title="' . $item->text . '" href="' . $item->link . '">' . $display . '</a></li>';
}

/**
 * Рендер неактивного элемента
 *
 * @param   JPaginationObject $item Текущий объект пагинации
 *
 * @return  string HTML-разметка для неактивного элемента
 *
 * @since   3.0
 */
function pagination_item_inactive( &$item )
{
  // Проверка и формирования элемента "Start"
  /*if ( $item->text == JText::_( 'JLIB_HTML_START' ) )
  {
    return '<li class="disabled"><a><span class="icon-first"></span></a></li>';
  }*/

  // Проверка и формирования элемента "Prev"
  if ( $item->text == JText::_( 'JPREV' ) )
  {
    return '';
  }

  // Проверка и формирования элемента "Next"
  if ( $item->text == JText::_( 'JNEXT' ) )
  {
    return '';
  }

  // Проверка и формирования послденего элемента
  /*if ( $item->text == JText::_( 'JLIB_HTML_END' ) )
  {
    return '<li class="disabled"><a><span class="icon-last"></span></a></li>';
  }*/

  // Проверка и формирование элемента при условии активной страницы
  if ( isset( $item->active ) && ( $item->active ) )
  {
    return '<li><span class="active">' . $item->text . '</span></li>';
  }

  // Не совпало ни одно из предыдущих условий - выводим обычный элемент
  return '<li><span class="disabled">' . $item->text . '</span></li>';
}

Но привести ее к необходимому виду у меня не выходит - а именно проблема в том что стрелки вперед и назад должны отображаться сразу при появлении пагинации и этого эффекта я не могу добиться т.к. в самом начале появляется кнопка только вперед если я разкомментирую эту часть кода: $html .= $list[ 'end' ][ 'data' ]; и зазкомментирую эту: $html .= $list[ 'previous' ][ 'data' ]; то все получается как нужно, но эффект исчезает на последней странице и остается только неактивная кнопка "В конец" - а хотелось бы что бы активные кнопки вперед и назад отображались постоянно.

Вопрос - знает ли кто плагин или может предложить решение для чтого что бы сделать пагинацию именно такого вида:



Что бы была кнопка вперед и назад всегда. Спасибо большое за любые подсказки.
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Re: Стилизация пагинации Joomla 3
« Ответ #1 : 12.04.2020, 11:17:26 »
Возьмите пагинацию из стандартного шаблона Protostar.
*

SuschnosT

  • Захожу иногда
  • 119
  • 1 / 2
Re: Стилизация пагинации Joomla 3
« Ответ #2 : 12.04.2020, 14:31:10 »
Protostar
Благодарю, просто невероятная помощь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать всплывающий баннер на Joomla 3.6?

Автор sergspb

Ответов: 1
Просмотров: 1016
Последний ответ 28.06.2026, 17:40:37
от sivers
Ошибка Missing field in database: Joomla\CMS\Table\Extension &#160; extension_id

Автор Ragivort

Ответов: 1
Просмотров: 6642
Последний ответ 25.12.2025, 21:10:01
от fbr
Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 11012
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 6110
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 6764
Последний ответ 09.05.2025, 12:39:18
от azm1n