2016-11-18 4 views
0

Я хочу получить доступ к vars (или, возможно, post vars) в контроллере расширения extbase. Я использую TYPO3 7.6.12невозможно получить доступ к vars в контроллере

Это код в моем контроллере:

public function showAction(\Test\MdIframe\Domain\Model\Iframe $iframe = NULL) 
{ 
    \TYPO3\CMS\Core\Utility\DebugUtility::debug($_REQUEST); 
    $args = $this->request->getArguments(); 
    print_r($args); 

Функция отладки работает, я получаю заполненный массив, но $args остается пустым массивом.

Почему? У кого-то есть идея?

ответ

6

С $this->request->getArguments вы получите только аргументы, определенное действие и принятый ?tx_myextension_plugin[argument]=value (f:link.action положил свои аргументы, переданные автоматически в этот префикс):

public function showAction($item = 12, $short = false) 
{ 
    print_r($this->request->getArguments()); 
} 

будет выходы, как это:

Array 
(
    [item] => 12 
    [short] => false 
) 

Если вы хотите получить доступ к глобальным страницам _GET, вы можете использовать \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('var'); для получения ?var=value

0

Аргументы, которые вы пытаетесь извлечь, должны быть в контексте запроса контроллера. Ваши почтовые данные должны направляться на контроллер, как:

tx_extensionname_pluginname[object][property] 

Если вы используете F: форму в шаблоне, FLUID сделает это для вас и ваших форм и почтовых данных в правильном синтаксисе.

 Смежные вопросы

  • Нет связанных вопросов^_^