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

Andrey_by

  • Новичок
  • 8
  • 0 / 0
  • Исчадие добра
Передаю из плагина переменную в шаблон, но шаблон её "видит" только после второй перезагрузки.
Нужно было перенести скрипты из шапки в футер, вот как я это реализовал:

1)Написал плагин /plugins/system/htmlmin/htmlmin.php , где примерно следующее:
Код
public function onBeforeCompileHead()
{
$app = JFactory::getApplication();
if($app instanceof JApplicationSite & $app->isSite())
{
#Тут из $app удаляем нужные скрипты и заносим их в $Array
#Далее передаём $Array в шаблон
JFactory::getApplication()->setUserState(
'htmlmin.onbeforecompilehead.scripts',
$Array
);
}
}

2)В футере шаблона сайта /templates/xxx/index.php подключил php файл:
Код
<?php include 'footer_script.php';?>

3)В файле footer_script.php ловлю переменную из плагина:
Код
$Array = JFactory::getApplication()->getUserStateFromRequest( 'htmlmin.onbeforecompilehead.scripts', '' );

Подскажите где ошибка?
Если нужно скину ссылку на сайт.
Спасибо)
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Переменная из плагина в шаблон
« Ответ #1 : 18.08.2015, 20:34:40 »
Код: php-brief
public function getUserStateFromRequest($key, $request, $default = null, $type = 'none'){}
Посмотрите в /libraries/cms/application/cms.php. getUserStateFromRequest() используется, когда вы еще что-то передаете в $_REQUEST (2-я переменная, которой у вас нет).
В вашем случае используйте getUserState(), ее можно посмотреть в том же файле.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Andrey_by

  • Новичок
  • 8
  • 0 / 0
  • Исчадие добра
Re: Переменная из плагина в шаблон
« Ответ #2 : 18.08.2015, 21:36:23 »
Сделал как Вы сказали, результат тотже, передаётся только после перезагрузки страницы...
Код
$Array= JFactory::getApplication()->getUserState( 'htmlmin.onbeforecompilehead.scripts', '' );
Может переменная в плагине передаётся уже после генерации страницы?
Код
onBeforeCompileHead()
Посмотрите пожалуйста сами, в режиме браузера "инкогнито" http://stock-travel.com/strany/frantsuzskaya-polineziya/romantika-ili-realnost-romanticheskaya-realnost-dlya-dvoikh-vlyublennykh-skazochnyy-ostrov-bora-bora.html
При первой загрузке нет скриптов после </footer>, после перезагрузки появляются... мистика
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Переменная из плагина в шаблон
« Ответ #3 : 18.08.2015, 21:56:39 »
Приведите полный код плагина.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Andrey_by

  • Новичок
  • 8
  • 0 / 0
  • Исчадие добра
Re: Переменная из плагина в шаблон
« Ответ #4 : 18.08.2015, 22:23:15 »
Сразу оговорюсь что я не программист)
Вот код:
Спойлер
[свернуть]

Где же я ошибку допустил?..
« Последнее редактирование: 18.08.2015, 22:28:52 от Andrey_by »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Переменная из плагина в шаблон
« Ответ #5 : 18.08.2015, 23:30:07 »
Похоже на то, что UserState недоступно в первый раз, потому что cookie сессии еще не установлено.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Andrey_by

  • Новичок
  • 8
  • 0 / 0
  • Исчадие добра
Re: Переменная из плагина в шаблон
« Ответ #6 : 19.08.2015, 09:10:31 »
Подскажите пожалуйста, как выйти из этой ситуации? Как передать переменную уже при первом обращении к странице?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Переменная из плагина в шаблон
« Ответ #7 : 19.08.2015, 09:22:03 »
Мое имхо - никак. Все это делается в рамках одного запроса (выполнения приложения) и внутри него Вы не сможете использовать сессию для передачи данных.

Но можно попробовать в head документа добавить Вашу переменную. Вот пример.

Типа
Код: php
$document = JFactory::getDocument();
$headData = $document->getHeadData();
$headData['myArray'] = $array;
$document->setHeadData($headData);
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Переменная из плагина в шаблон
« Ответ #8 : 19.08.2015, 09:28:54 »
Попробуйте на onAfterRender использовать getBody(), регуляркой вставить нужное в нужном месте и потом setBody().
Не будь паразитом, сделай что-нибудь самостоятельно!
*

fsv

  • Живу я здесь
  • 2796
  • 414 / 2
Re: Переменная из плагина в шаблон
« Ответ #9 : 19.08.2015, 15:31:26 »
Вот, как один из вариантов. Без плагина, с подключением файла. Не вникал/проверял, но по описанию что-то похожее (недавно на форуме ссылка на это была где-то). Только под себя подгоните (стили не переносите, массив исключений ваш добавьте).
Веб-разработка: заказ. Только новая разработка.
*

Andrey_by

  • Новичок
  • 8
  • 0 / 0
  • Исчадие добра
Re: Переменная из плагина в шаблон
« Ответ #10 : 19.08.2015, 17:25:18 »
Мое имхо - никак. Все это делается в рамках одного запроса (выполнения приложения) и внутри него Вы не сможете использовать сессию для передачи данных.

Но можно попробовать в head документа добавить Вашу переменную. Вот пример.

Типа
Код: php
$document = JFactory::getDocument();
$headData = $document->getHeadData();
$headData['myArray'] = $array;
$document->setHeadData($headData);
Такой способ не подходит, с setHeadData() нельзя добавить индекс массива ['myArray'].
Пробовал setBuffer в плагине, но оттуда не доходит до шаблона...
Регуляркой делать не хочется, так как плагин в принципе рабочий, только передать из него массив в шаблон както нужно...
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Переменная из плагина в шаблон
« Ответ #11 : 19.08.2015, 20:38:56 »
Ну, во первых, плагин не совсем рабочий и передать переменную вам не удастся.
Во вторых, что не так с регуляркой? Вы ведь используете Joomla, а в ней регулярка сплошь и рядом, но вас это не беспокоит.
В конце концов, можно и без регулярки
Код: php-brief
$buffer=str_replace('</footer>','</footer>'.$blahblahblah,$buffer);
$app->setBody($buffer);
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Andrey_by

  • Новичок
  • 8
  • 0 / 0
  • Исчадие добра
Re: Переменная из плагина в шаблон
« Ответ #12 : 25.08.2015, 17:28:38 »
Спасибо robert, так и сделал. В onBeforeCompileHead передал все скрипты в _custom, а в onAfterRender вырезал их регуляркой и переставил в низ.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Шаблон заготовка masterbootstrap

Автор zxvorobey

Ответов: 1
Просмотров: 4809
Последний ответ 20.02.2018, 07:23:49
от effrit
Шаблон не видит переменные локализации кроме глобальных (Joomla 3.8)

Автор s.elena133

Ответов: 10
Просмотров: 6021
Последний ответ 09.12.2017, 18:27:18
от Ilhom666
Шаблон Shaper Xeon. Не переходит к созданным материалам

Автор wowcheg

Ответов: 1
Просмотров: 5036
Последний ответ 28.06.2017, 13:23:27
от sakhalin4242
Шаблон панели администратора ISIS 3 изменный

Автор beliyadm

Ответов: 11
Просмотров: 10447
Последний ответ 11.09.2016, 22:16:39
от beliyadm
Шаблон - как принято?

Автор Мурзик

Ответов: 5
Просмотров: 5486
Последний ответ 25.08.2016, 14:00:35
от beliyadm