Come devo passare un argomento a un controller abilitato per il flusso in modo che venga riconosciuto dall'azione del controller?
Ho creato un'estensione utilizzando il builder e aggiunto il seguente metodo a ContentController.
/**
* @param string $var
*/
public function exampleAction($var = null) {
var_dump($var);
die;
}
Ma non importa quanto aggiungo il parametro all'URL, ottengo solo "null" come risultato.
La directory delle estensioni è "test" e così è $_EXTKEY
. Il builder inserisce "Mac.Test" in ext_tables.php
per le chiamate a registerProviderExtensionKey (). Quindi nell'URL ho provato questi parametri:
http://host/index.php?id=1&tx_test_content[var]=abc
http://host/index.php?id=1&tx_test[var]=abc
http://host/index.php?id=1&tx_mactest_content[var]=abc
http://host/index.php?id=1&tx_mactest[var]=abc
http://host/index.php?id=1&var=abc
e alcuni altri. Ma inutilmente.
Ho provato con il f:link.action
ViewHelper, risultante in
http://localhost/test2/index.php?id=1&no_cache=1&tx_test_content[member]=foo&tx_test_content[action]=example&tx_test_content[controller]=Content
Anche $ this-> request-> getArguments () restituisce solo una matrice vuota, quindi deve esserci qualcosa di gravemente sbagliato.
Versioni usate:
PHP 5.6.11
TYPO3 6.2.21
vhs 2.4.0
flusso 7.2.3
fluidpages 3.3.1
fluidcontent 4.3.3
fluidcontent_core 1.3.0
builder 1.0.0
Nient'altro installato (nuovo sistema solo per testare questo comportamento).
risposte:
2 per risposta № 1Usando il collegamento fluido, puoi passare para come
<f:link.action action="example" controller="controllerName" arguments="{var:"abc"}">Go</f:link.action>
Creerà link come:
http://host/index.php?id=1&tx_[extension_key]_[fe_plugin_key][var]=abc
Ora, come ottenere para dall'URL in extBase
$arguments = $this->request->getArguments(); // OR
$var = $this->request->getArgument("var");
Link utili: