Форум русской поддержки Joomla!® CMS
05.12.2016, 02:24:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Настройки модуля в файле хелпер.ПХП

 (Прочитано 410 раз)
0 Пользователей и 1 Гость смотрят эту тему.
orsy
Давно я тут
****

Репутация: +19/-1
Offline Offline

Пол: Мужской
Сообщений: 331


Web-Factor Ukraine


« : 05.09.2015, 23:46:15 »

Странно, но в заголовке слово helper.php при сохранении заменяется на er.php, но то фигня, к делу...

Добрый день. Создаю некий AJAX модуль и появилась необходимость использовать параметры модуля, редактируемые в админке, использовать в файле helper.php.

Можно ли их получить в этот файл средствами Joomla 3 без прямого обращения к базе данных?
« Последнее редактирование: 06.09.2015, 19:33:44 от orsy » Записан
midav
Живу я здесь
******

Репутация: +113/-1
Offline Offline

Пол: Мужской
Сообщений: 946



« Ответ #1 : 06.09.2015, 08:45:09 »

В модуле доступен объект $params со всеми настройками .
Записан
orsy
Давно я тут
****

Репутация: +19/-1
Offline Offline

Пол: Мужской
Сообщений: 331


Web-Factor Ukraine


« Ответ #2 : 06.09.2015, 16:09:57 »

В модуле доступен объект $params со всеми настройками .
это я знаю, но как мне получить из него данные в файле helper.php?
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

Пол: Мужской
Сообщений: 3576


« Ответ #3 : 06.09.2015, 16:22:16 »

как мне получить из него данные в файле helper.php?
Передать $params в качестве аргумента при вызове метода из helper.php
Код
$blahblah=MyModuleHelper::someMethod($params,$otherarg);
 
« Последнее редактирование: 06.09.2015, 22:11:33 от robert » Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #4 : 06.09.2015, 16:26:50 »

del

уже ответили
Записан
orsy
Давно я тут
****

Репутация: +19/-1
Offline Offline

Пол: Мужской
Сообщений: 331


Web-Factor Ukraine


« Ответ #5 : 06.09.2015, 17:43:13 »

del

уже ответили

когда я так делаю, и пытаюсь в классе юзать

Код:
$params->get( 'textsuccesssend' )

в ответ в консоли получаю ошибку

POST http://site.ua/ 500 (Internal Server Error)

Так же при включении максимального показа ошибок php в админке при вызове helper вижу такое "Warning: Missing argument 1", то есть именно тот аргумент $params, который я пытаюсь передать в метод


« Последнее редактирование: 06.09.2015, 18:14:55 от orsy » Записан
midav
Живу я здесь
******

Репутация: +113/-1
Offline Offline

Пол: Мужской
Сообщений: 946



« Ответ #6 : 06.09.2015, 19:37:48 »

А откуда вызываете хелпер ? Поподробнее опишите, а то немного непонятно .
Записан
orsy
Давно я тут
****

Репутация: +19/-1
Offline Offline

Пол: Мужской
Сообщений: 331


Web-Factor Ukraine


« Ответ #7 : 06.09.2015, 19:43:59 »

А откуда вызываете хелпер ? Поподробнее опишите, а то немного непонятно .

пользую вот эту инструкцию

https://docs.joomla.org/Using_Joomla_Ajax_Interface/ru#.D0.9F.D0.BE.D0.B4.D0.B4.D0.B5.D1.80.D0.B6.D0.BA.D0.B0_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D0.B5.D0.B9

вызывается модуль походу через  AJAX интерфейс Joomla

helper вызываю непосредственно со страницы где опубликован модуль

Код:
$(document).on('click', 'input#submit<?php echo $module->id;?>', function () {
<?php echo $dataField; ?>

request = {
'option' : 'com_ajax',
'module' : 'ajax_webors_form',
<?php echo $ajaxRequest; ?>
'format' : 'raw'
}
$.ajax({
type   : 'POST',
data   : request,
success: function (response) {
...
}
});
return false;
});
« Последнее редактирование: 06.09.2015, 20:16:04 от orsy » Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

Пол: Мужской
Сообщений: 3576


« Ответ #8 : 06.09.2015, 21:55:58 »

Так вы же нигде не передавали переменную $params, как helper может ее получить?
В методе вручную получите ее
Код
jimport('joomla.application.module.helper');
$module=JModuleHelper::getModule('ajax_webors_form');
$params=new JRegistry();
$params->loadString($module->params);
 
Только осторожнее с тире и знаком подчеркивания в названии модуля: в названии класса helper их не должно быть.
Записан
orsy
Давно я тут
****

Репутация: +19/-1
Offline Offline

Пол: Мужской
Сообщений: 331


Web-Factor Ukraine


« Ответ #9 : 06.09.2015, 22:35:25 »

Так вы же нигде не передавали переменную $params, как helper может ее получить?
В методе вручную получите ее
Код
jimport('joomla.application.module.helper');
$module=JModuleHelper::getModule('ajax_webors_form');
$params=new JRegistry();
$params->loadString($module->params);
 
Только осторожнее с тире и знаком подчеркивания в названии модуля: в названии класса helper их не должно быть.

Спасибо огромное, заработало. Приведенный вами пример кода уже прописывал, но проблема была в том что название модуля писал без нижних подчеркиваний, сейчас прописал с нижними подчеркиваниями и все гут.

Плюс в карму )
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet