Форум Joomla! Україна
Як передати змінну з одного компонента в інший? - Версія для друку.

+- Форум Joomla! Україна (https://joomla-ua.org/forum)
+-- Форум: Розширення Joomla! (https://joomla-ua.org/forum/forum-27.html)
+--- Форум: Розробка та модифікація розширень (https://joomla-ua.org/forum/forum-71.html)
+--- Тема: Як передати змінну з одного компонента в інший? (/thread-350.html)



Як передати змінну з одного компонента в інший? - illya - 03.12.2008

есть стандартный компонент com_user
в его составе есть файлик controller.php
в этом файлике есть функция function register_save()
и переменная $message

вот и вопрос - как мне надо вызвать php файл моей компоненты, передав ему эту переменную в качестве параметра?
я пробую так:

$this->setRedirect('index.php?option=com_regusresult&result=',$message); - ничего не выходит :-(
помогите, плз.


Re: Як передати змінну з одного компонента в інший? - shaman - 03.12.2008

Не повністю зрозумів питання.
Параметр функції передається через функція($параметр=значення) або функція($значення) в порядкі
Чи потрібно прийняти змінну з тіла функції? Якщо так, то через амперсанд - наприклад функція(&$змінна)


Re: Як передати змінну з одного компонента в інший? - illya - 03.12.2008

нет, я хочу передать переменную с одного компонента в другой.
Смысл:
у меня модкль регистрации не выводит сообщения. Я написал свой маленький модулек, Вызов которого вписал в функции register_save(), но я не знаю как мне взять с функции register_save() переменную message.
вообще я не понимаю как работает setRedirect()


Re: Як передати змінну з одного компонента в інший? - Dutch - 03.12.2008

Нужно с начало прописать в компоненте GET-параметр, делается это так:

Код:
<?php
$message        = JRequest::getVar('message');
?>



Re: Як передати змінну з одного компонента в інший? - illya - 03.12.2008

тогда возникает вопрос - а какон узнает что именно эту переменную message надо получать и откуда?
ну вот я о чем: функция компоненты com_user юзает переменную $message, так ка узнает мой модуль что getVar('message'); - именно получение переменной $message с компоненты com_user а не какойто др. компоненты где есть такая же переменная?
или я что-то не так понял (скорее всего)


Re: Як передати змінну з одного компонента в інший? - vadis1 - 10.01.2009

Все зависит от того, каково происхождение этой переменной.
Если она формируется из значений, хранимых в базе, то проще заново вычислить, если нет уверенности, что переменная уже сформирована до обращения к вашему модулю.
Если же такая уверенность есть и это всегда так будет (обращение к модулю идет ВСЕГДА после формирования переменной), то ее получение происходит стандартным путем (объяснять долго, проще глянуть почти в любой файл обработки инфы или файл вывода). Если последнее не понятно, то, значит, рано ставить перед собой такие задачи. Всему свое время.
Это не стеб, а совет. Иначе можно потерять тучу времени и не отладить модуль.