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

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Ты супер!  Все отлично и именно так, как и нужно было.  :D  :D  :D

Может сделать отдельный топик с этой реализацией для таких новичков как я. Можно инструкцию расширить под категории-блоги-материалы-отдельные страницы и т.д.

Блин такие элементарные вещи стыдно мне не знать в php...  Буду наверстывать.
Еще раз огромное спасибо

*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Незачто. Да аналогичное много раз на форуме обсуждалось. Ничего особо нового не напрограммил. ^-^
*

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Ну я штудировал форум и прямой инструкции не нашел ни где. Только отдельные куски кода для программеров, которые сразу понимают что и куда нужно воткнуть. А как прямая инструкция - ни где не нашел
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Скрыла модуль с материалов zoo
Код
if(showPage(array('option'=>'com_zoo', 'view'=>'category'))):?>
<?php if($this->API->modules('top')) : ?>
<div id="Top">
<jdoc:include type="modules" name="top" style="<?php echo $this->module_styles['top']; ?>" />
</div>
<?php endif; ?>
                  <?php endif;?>
Теперь если перейти на следующую страницу с тизерами то модуль не выводится.
Как оставить его на страницах пагинации?
Надо добавить ещё  'view'=>'*****' ?
что дописать подскажите
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Отключите SEF и покажите, как выглядит УРЛ.
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
следующая страница
Код
/index.php?option=com_zoo&view=category&layout=category&Itemid=103&page=2
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Должно выводиться. Попробуйте это условие убрать <?php if($this->API->modules('top')) : ?>. Может модулей просто нет?
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
с отключенным SEF выводится, а с включенным почему-то нет. Если убрать <?php if($this->API->modules('top')) : ?>  то ошибку выдает
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Попробуйте заменить условие:

Код: php
<?
$input = JFactory::getApplication()->input;
$option   = $input->getCmd('option', '');
$view= $input->getCmd('view', '');
if($option == 'com_zoo' && $view== 'category'){
?>
<?php if($this->API->modules('top')) : ?>
<div id="Top">
<jdoc:include type="modules" name="top" style="<?php echo $this->module_styles['top']; ?>" />
</div>
<?php endif; ?>
<?php
}
?>
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Спасибо, сейчас попробую
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Так ошибку выдает, невозможно отобразить страницу.

Правильно же я поняла? ))

Код
if(showPage(array('option'=>'com_zoo', 'view'=>'category'))):?>
<?php if($this->API->modules('top')) : ?>
<div id="Top">
<jdoc:include type="modules" name="top" style="<?php echo $this->module_styles['top']; ?>" />
</div>
<?php endif; ?>
                  <?php endif;?>


заменила на

Код
<?
$input = JFactory::getApplication()->input;
$option   = $input->getCmd('option', '');
$view= $input->getCmd('view', '');
if($option == 'com_zoo' && $view== 'category'){
?>
<?php if($this->API->modules('top')) : ?>
<div id="Top">
<jdoc:include type="modules" name="top" style="<?php echo $this->module_styles['top']; ?>" />
</div>
<?php endif; ?>
<?php
}
?>
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Блин, а до обновления помоему всё норм было
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Что за ошибка?
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Ошибка сервера 500
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Так тут условие не при делах. Проверьте файл htaccess, сравните с дефолтным. Возможно ошибка там. Либо запрос на формирование страницы очень тяжёлый, проверьте на локальном сервере. Вообще, включите полное отображение ошибок в админке, так будет наглядней видно.
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Содержимое htaccess меняла на родной, полное отображение ошибок ничего не показывает - Ошибка сервера 500 и всё.

Я думаю что это я что-то не так вставила, вот как я вставила, это кусок default.php, 100% что-то не так сделала )))

Код
<?php if($this->API->modules('breadcrumb') || $this->getToolsOverride()) : ?>
<div id="gkBreadcrumb">
<?php if($this->API->modules('breadcrumb')) : ?>
<jdoc:include type="modules" name="breadcrumb" style="<?php echo $this->module_styles['breadcrumb']; ?>" />
<?php endif; ?>
<?php if($this->getToolsOverride()) : ?>
<?php $this->layout->loadBlock('tools/tools'); ?>
<?php endif; ?>
</div>
<?php endif; ?>
                  <?php
function showPage($x = array()){
    return array_intersect_assoc($x,  $_REQUEST) == $x;
}
                 
                 <?
$input = JFactory::getApplication()->input;
$option   = $input->getCmd('option', '');
$view= $input->getCmd('view', '');
if($option == 'com_zoo' && $view== 'category'){
?>
<?php if($this->API->modules('top')) : ?>
<div id="Top">
<jdoc:include type="modules" name="top" style="<?php echo $this->module_styles['top']; ?>" />
</div>
<?php endif; ?>
<?php
}
?>
                 
<div id="gkMainbody">
<?php if(($this->layout->isFrontpage() && !$this->API->modules('mainbody')) || !$this->layout->isFrontpage()) : ?>
<jdoc:include type="component" />
<?php else : ?>
<jdoc:include type="modules" name="mainbody" style="<?php echo $this->module_styles['mainbody']; ?>" />
<?php endif; ?>
</div>
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
А если просто со страницы full материала скрывать содержимое модуля с помощью display: none то это будет не самое умное решение? )
*

Makewebs

  • Захожу иногда
  • 50
  • 2 / 0
Подскажите, как сделать условие, чтобы модуль выводился только на внутренних страницах блога, а в категории не выводился? Перепробовал кучу всего, пока без результатно, туплю где-то.

Есть такая конструкция:

<?php if($this->countModules('rightm')) : ?>
<div class="container">
<div class="row">
<div class="col-md-8">
...
</div>

<div class="col-md-4 right">

<jdoc:include type="modules" name="rightm" />


</div>
</div></div>
<?php else: ?>

Нужно чтобы позиция rightm выводилась только на внутренних страницах блога.
*

Makewebs

  • Захожу иногда
  • 50
  • 2 / 0
Тупанул, не прописал:

$option = JRequest::getVar('option', null);
$view = JRequest::getVar('view', null);

Всем спасибо :)
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
 ^-^
« Последнее редактирование: 14.02.2017, 15:00:31 от newvideo »
*

mufosali

  • Захожу иногда
  • 77
  • 3 / 0
  • Щаз бы палЫчку шашлыГа...
Приветствую! Друзья помогите вывести разные модули для разных доменных имен. Где-то видел такую фишку да запамятовал.
*

martini

  • Захожу иногда
  • 102
  • 1 / 0
Подскажите, как сделать условие, чтобы модуль выводился только на внутренних страницах блога, а в категории не выводился? Перепробовал кучу всего, пока без результатно, туплю где-то.

Есть такая конструкция:

<?php if($this->countModules('rightm')) : ?>
<div class="container">
<div class="row">
<div class="col-md-8">
...
</div>

<div class="col-md-4 right">

<jdoc:include type="modules" name="rightm" />


</div>
</div></div>
<?php else: ?>

Нужно чтобы позиция rightm выводилась только на внутренних страницах блога.


Тупанул, не прописал:

$option = JRequest::getVar('option', null);
$view = JRequest::getVar('view', null);

Всем спасибо :)

вы не могли бы привести полный код условия ? Не могу разобраться в этих двух фрагментах. У меня точно такая же задача. Модуль нужно выводить в статьях категории, но не выводить при этом в блоге категории
*

djumfan

  • Захожу иногда
  • 243
  • 13 / 0
Подскажите, а как сделать условие по заданным материалу меткам?
Я вот сделал такую обвёртку, чтоб левые компоненты отсечь:
Код
if ( $option == 'com_content' && $view == 'article' ) {
    if ( $tagId == 25 ) {
        // код
    }
}
А вот как получить id меток материала (переменная $tagId) ?
Делаю в индексном файле шаблона. Отображение меток на сайте отключено через настройки (не нужно чтобы они выводились).
*

Akeksandr

  • Захожу иногда
  • 396
  • 12 / 0
Уважаемые господа! Хочу отметить, что есть прекрасный раздел для условий Различные условия в шаблонах Joomla 1.5
Предлагаю вам универсальное решение
И так при включенном SEF, чтобы узнать не SEF ссылку достаточно в шаблоне написать
Код: php-brief
<?php echo $_SERVER["HTTP_HOST"].'/index.php?' . http_build_query($_REQUEST); ?>
выведет не SEF ссылку.
Предлагаю вам воспользоватся функцией showPage, которая даст вам легко, без использования api Joomla, контролировать вывод на разных страницах того или иного элемента. Функция должна быть объявлена выше ее применения.
Функция возвращает два значения. True или false (разрешено или запрещено)

Код: php-brief
function showPage($x = array()){
    return array_intersect_assoc($x,  $_REQUEST) === $x;
}

Как видите, код достаточно прост. Единственный аргумент функции, это массив параметров которые нужно сравнить. Присутствуют ли они в адресе вашей страницы (не SEF ссылке). Анализируя ссылки ваших страниц вы легко можете задать ваши условия.

Магазин JoomShopping
Код: php-brief
<?php if(showPage(array('option'=>'com_jshopping')) && !showPage(array('controller'=>'product'))):?>
На всех страницах магазина кроме продуктов
<?php endif;?>
Подскажите пожалуйста как правильно прописать для Джумшопинга, чтобы модуль с определённым ID не показывался в карточке товара.
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
День добрый! Прошу помощи... Мне необходимо для одной страницы (Блог категории) реализовать такую штуку... Если страницу открывает гость - выводить сообщение о закрытой странице или жёстко отдать 404, если открывает редактор - показывать конкретный материал, если админ - открывать все материалы категории.

Мне посоветовали реализовать это так:
"переопределить макет вывода блога категории и обернуть вывод в условие с проверкой на права пользователя".

Подскажите, пожалуйста, как это сделать?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
День добрый! Прошу помощи... Мне необходимо для одной страницы (Блог категории) реализовать такую штуку

Идите по условиям от объекта $user
https://docs.joomla.org/Accessing_the_current_user_object
Смотрите и там будут все параметры, гость\не гость, уровень доступа, группа и тд
Код
echo '<pre>';
var_dump($user);
echo '</pre>';
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
JoomShoping
В ЖШ выводится Open Graph но на основном сайте Open Graph не віводится. Дописал в шаблоне пхп-код, но теперь на страницах ЖШ віводится Open Graph от ЖШ и прописаный пхп-кодом.

Если для главной страницы условие вывода
Код
<?php if (JFactory::getURI()->toString() == JURI::base()) : ?>
Для не главной страницы
Код
<?php if (JFactory::getURI()->toString()!== JURI::base()) : ?>

Вожможно ли прописать условие для страниц --- com_content?
Есть не что аналогичное (вывод по меню), но каждое меню перечислять так это ....

Но наверное можно точно также вписать условие на страницы ЖШ, если страница ЖШ то вписаный код не выводить. Как реализовать такой вариант? (есть вариант, но он исключает продукты)
Код
<?php if(showPage(array('option'=>'com_jshopping')) && !showPage(array('controller'=>'product'))):?>
На всех страницах магазина кроме продуктов
<?php endif;?>
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Вожможно ли прописать условие для страниц --- com_content?
Код
$task = JFactory::getApplication()->input->get('task');
if ($task == 'com_content') {
bla bla
}
Добавляете эту проверку на $task к своему условию как угодно, проверять можно на любой компонент
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код
<?php
 if(showPage(['option'=>'com_content'])):?>
    На всех страницах компонента com_content
<?php endif;?>
beliyadm
task -> это задача, название метода вызываемого контроллера
тогда по ходу так
Код
$option = JFactory::getApplication()->input->get('option');
if ($option === 'com_content') {
echo 'bla bla';
}
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
task -> это задача, название метода вызываемого контроллера
Какая разница как назвать переменную, если она ранее не обозначена? ))
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Шаблоны Joomlart, Gavick, Yootheme, RocketTheme для Joomla: легально и с обновлениями, no warez

Автор _ib_

Ответов: 168
Просмотров: 221273
Последний ответ 15.04.2023, 18:26:50
от AS1969
Где в Joomla 3.4.3 шаблон материала? Шаблон Yootheme Organic

Автор annushka

Ответов: 13
Просмотров: 8287
Последний ответ 13.09.2022, 11:14:56
от tuztref
Master3 – современный удобный гибкий шаблон для Joomla! 3 на фреймворке UIkit 3

Автор dron

Ответов: 81
Просмотров: 16512
Последний ответ 11.09.2021, 03:12:59
от vasileк
Как убрать tooltip в регистрации в Joomla 3?

Автор KoloS

Ответов: 13
Просмотров: 9450
Последний ответ 24.08.2021, 19:00:51
от coolplaymaster
Сменить текст placeholder в поле поиска Joomla 3.x

Автор Poincare

Ответов: 7
Просмотров: 2967
Последний ответ 09.06.2021, 15:39:26
от Akeksandr