Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Передача параметров в контроллер (http://forum.typo3.ru/showthread.php?t=12000)

iMoD 23.02.2016 15:53

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

Николай Сипко 24.02.2016 12:29

Может, здесь глянуть?
http://flowframework.readthedocs.org...ontroller.html

Или здесь?
https://www.google.ru/search?q=typo3...EqXi6ASu773gBA

Или здесь?
https://drive.google.com/file/d/0ByA...t?pref=2&pli=1
Глава 7. Управление ходом процесса через контроллеры

Manas 24.02.2016 16:08

Если я правильно понял вопрос...
Как правило параметры в контроллер расширения передаются через GET запрос. И вам скорее всего придется использовать propertyMappingConfiguration в вашем контроллере.

https://wiki.typo3.org/Exception/CMS/1297759968

Код:

protected function initializeCreateAction(){
 $propertyMappingConfiguration = $this->arguments['newPerson']->getPropertyMappingConfiguration();
 // allow all properties:
 $propertyMappingConfiguration->allowAllProperties();
 // or just allow certain properties
 $propertyMappingConfiguration->allowProperties('firstname');
}

А может быть быть имеет смысл сделать форму внутри вашего расширения? Тогда легче будет.

iMoD 29.02.2016 19:38

Решено
 
Если с какой-либо страницы вам нужно передать get или post параметр, то можно использовать данную функцию: \TYPO3\CMS\Core\Utility\GeneralUtility::_GP("param ");

Николай Сипко 01.03.2016 12:21

Цитата:

Сообщение от iMoD (Сообщение 40462)
get или post параметр

https://www.google.ru/search?q=%D0%9...J8j06ASUl4W4Cg

А причем тут контроллер?

"Контроллер является объектом расширения, который создается и вызывается внутри extbase объектом Dispatcher (диспетчером). Контроллер отвечает за ход выполнения процесса внутри расширения в целом. Это связующее звено между запросом, моделью предметной области и реакцией в форме ответа. Данные, необходимые для протекания процесса внутри контроллера, извлекаются из соответствующих репозиториев, и подготавливаются в соответствии со сторонним запросом, а затем передаются в код, отвечающий за выводимое на сайт (View – проектор). Помимо описанной основной задачи, контроллер отвечает за:
Принятие объектов Request (запрос) и Response (ответ), и соответственно, отказ от них, если они не могут быть обработаны.
Вызов проверки данных, поступивших из URL (особенно по ссылкам) либо из форм страниц сайта. Такие данные нуждаются в проверке типа и правильности значений.
Проверку метода (Action - действия) контроллера, который должен быть вызван для дальнейшей обработки.
Подготовку исходных данных, так, чтобы их можно было бы передать в выбранный метод (Argument Mapping – разметка аргументов).
Запуск процесса обработки вывода (rendering process).
Передачу результата процесса обработки выводимой информации в объект Response (ответ)"

"Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий"?
http://www.anafor.ru/prutkov/prutkov01.htm


Часовой пояс GMT +4, время: 17:54.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot