Новости Joomla

Вышли релизы безопасности Joomla 6.0.4 и Joomla 5.4.4

Релиз безопасности Joomla 6.0.4 и Joomla 5.4.4

Проект Joomla! рад сообщить о выходе Joomla 6.0.4 и Joomla 5.4.4. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

Небольшая нативная PHP Joomla библиотека для работы с API v.2 службы доставки CDEK. Библиотека представляет собой клиент для авторизации в CDEK API по OAuth, работы с некоторыми методами API: получения ряда данных и расчета стоимости доставки. Поддерживается Joomla 4.2.7 и выше.

В пакет входят:
- библиотека Webtolk/Cdekapi
- системный плагин System - WT Cdek для хранения настроек и AJAX-интеграций
- task-плагин Task - Update WT Cdek data для обновления локальных копий справочников CDEK по расписанию
- web asset с официальным JavaScript-виджетом СДЭК

👉 v.1.3.0. Что нового?
- Полный рефакторинг библиотеки. Библиотека переработана в entity-based API с фасадом Cdek и отдельным слоем запросов. Обратная совместимость не нарушена, поэтому версия библиотеки - 1.3.0.
- Добавлена поддержка новых разделов API СДЭК. Добавлена поддержка новых разделов API СДЭК: webhooks, prealert, печатные формы, payment, passport, reverse, intakes и других сущностей.
- Улучшена интеграция с Joomla.
Улучшена интеграция с Joomla: installer script для layouts, новые поля Joomla Form для тарифов и обновлённые js виджета CDEK.
- документация библиотеки. Все методы библиотеки подробно описаны, а так же текст документации собран в отдельной папке в git репозитории и будет опубликован на сайте.

Библиотека эта нужна для разработчиков, создающих свои расширения для интеграции Joomla и курьерской службы CDEK.

Страница расширения
GitHub расширения

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 3891 Просмотров
*

nonick

  • Захожу иногда
  • 85
  • 8 / 0
Как бы так кратко описать мою проблему, что бы мне могли помочь  :dry:
Есть 3 контроллера с представлениями controller1,controller2,controller3 ну представления соответственно,

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

При вызове 3 контроллера тоже собираются данные и передаются во второй контроллер - и вот тут, в переменной $params уже не параметры компонента которые установлены а значения по умолчанию.

Код
class Controller1 extends JController{
var $_errmsg = '';
var $_subject = 'Notification';
function __construct(){
parent::__construct();
$this->registerTask('buy','buy');
}
function display(){
parent::display();
}
function buy(){
JRequest::setVar('view','view1','post');
                ............................
                ............................
parent::display();
}
}

class View1 extends JView{

function display($tpl = null){
.........................
                .........................
parent::display($tpl);
}
..................
        ..................
}

default.php (View1)
Форма с hidden полями и при submit обработка переходит на Controller2&View2

Код
class Controller2 extends JController{
var $_errmsg = '';
var $_subject = 'Notification';
function __construct(){
parent::__construct();
                /*Регистрация тасков*/
  }
function display(){
parent::display();
}
        /*Обрабатываем таски*/
                ............................
                ............................
}

class View2 extends JView{

function display($tpl = null){
$task = JRequest::getCmd('task');
switch($task){
case 'task':
$params = &JComponentHelper::getParams('com_mycomponent'); /*получаю параметры компонента*/
$lang = &JFactory::getLanguage();
$language = $lang->getTag();
$this->assignRef('params',$params); /*Передаю параметры компонента в шаблон*/
break;
}

parent::display($tpl);
}
}

/*default.php (View2)
Форма с hidden полями и при submit обработка передается другому серверу, вот здесь и происходят аномалии моей криворукости наверное, если переход осуществляется из Controller3 */
.............
<input type="hidden" name="PARAM1" value="<?php echo $this->params->get( 'param1' ); ?>"/>  
..................

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

При переходе из Controller1 в Controller2 переменная $this->params имеет тип JParameter _raw содержит строку с параметрами которые сохранены через Админ панель компонета, в _registry=>_default=>data содержаться параметры ключ=>значение, при вызове $params->get('param1') я получаю необходимый параметр.

При переходе из Controller3 в Controller2 переменная $this->params тоже имеет тип JParameter _raw тоже содержит строку с параметрами которые сохранены через Админ панель компонета, но в _registry=>_default=>data уже не сохраненные параметры компонента, а значения по умолчанию, которые указаны в XML файле компонента и только те у которых есть значение default="", а без него значения которые сохранены.  и при вызове $params->get('param1') я получаю значения по умолчанию.

Люди, подскажите в чем может быть проблема? Или подскажите в какую сторону рыть чтобы решить её.
« Последнее редактирование: 28.08.2010, 18:38:12 от nonick »
*

Rudolf

  • Захожу иногда
  • 65
  • 11 / 0
Возможно проблема в том, что на вид 3 контроллера установлен пункт меню. А в нем , для этого пункта меню, в параметрах установлены значения по умолчанию.
бизнес-планирование, финансовое моделирование
*

nonick

  • Захожу иногда
  • 85
  • 8 / 0
Голова ))), я про это совсем и забыл, полдня голову ломаю.
Действительно так и есть,
Как можно сделать так чтобы этот пункт меню подтягивал параметры компонента а не свои из пункта меню?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Как можно сделать так чтобы этот пункт меню подтягивал параметры компонента а не свои из пункта меню?
ну видимо переопределить $params :)
*

nonick

  • Захожу иногда
  • 85
  • 8 / 0
ну видимо переопределить $params :)
да вроде как не как переопределить, я в том плане, что я же получаю параметр не из $this а получаю параметры конкретного компонента $params = &JComponentHelper::getParams(COM_MYCOMONENT)

*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
да вроде как не как переопределить, я в том плане, что я же получаю параметр не из $this а получаю параметры конкретного компонента $params = &JComponentHelper::getParams(COM_MYCOMONENT)
ну так это стандартный способ, он и будет брать параметры из пункта меню, если такие есть.
А ты сделай свой запрос, и вытаскивай как тебе надо и что надо.
*

nonick

  • Захожу иногда
  • 85
  • 8 / 0
)), нет. Есть более правильный способ, я про него читал, и даже статейку в закладки положил, а вот применить его смогу только сегодня.
http://joomla-book.ru/development/extension/component-parameters
*

nonick

  • Захожу иногда
  • 85
  • 8 / 0
И так все получилось замечательным образом, все дело в перекрытии параметров статья выше.
Для потомков,
в представлении изменил способ получения параметров компонента
Код
$component = JComponentHelper::getComponent('COM_MYCOMPONENT');
$params = new JParameter($component->params);
теперь параметры у меня действительно компонента, а не пункта меню который был создан для одного из представлений.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Jroute компонента альбомов

Автор Koot

Ответов: 2
Просмотров: 1244
Последний ответ 03.08.2019, 10:21:04
от Aleks.Denezh
Как использовать функции компонента в модуле?

Автор specialist-web

Ответов: 6
Просмотров: 1610
Последний ответ 12.05.2019, 12:26:10
от AlekVolsk
params->get для компонента, как получить свои собственные параметры для компонента

Автор klubnichkaaa

Ответов: 13
Просмотров: 14755
Последний ответ 01.06.2017, 20:20:28
от Septdir
Плагин Smart Search для своего компонента

Автор ftp27

Ответов: 1
Просмотров: 2333
Последний ответ 07.01.2017, 19:44:04
от newvideo
Как вставить модуль в контент компонента

Автор sava36

Ответов: 21
Просмотров: 18999
Последний ответ 15.06.2016, 09:55:51
от Ilja93