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

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Странно, но в заголовке слово helper.php при сохранении заменяется на er.php, но то фигня, к делу...

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

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

midav

  • Давно я тут
  • 926
  • 115 / 1
В модуле доступен объект $params со всеми настройками .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
В модуле доступен объект $params со всеми настройками .
это я знаю, но как мне получить из него данные в файле helper.php?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
как мне получить из него данные в файле helper.php?
Передать $params в качестве аргумента при вызове метода из helper.php
Код: php-brief
$blahblah=MyModuleHelper::someMethod($params,$otherarg);
« Последнее редактирование: 06.09.2015, 21:11:33 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
del

уже ответили
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
del

уже ответили

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

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

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

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

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


« Последнее редактирование: 06.09.2015, 17:14:55 от orsy »
*

midav

  • Давно я тут
  • 926
  • 115 / 1
А откуда вызываете хелпер ? Поподробнее опишите, а то немного непонятно .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
А откуда вызываете хелпер ? Поподробнее опишите, а то немного непонятно .

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

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, 19:16:04 от orsy »
*

robert

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

orsy

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

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

Плюс в карму )
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться