मुझे एक फ्लक्स-सक्षम नियंत्रक के लिए एक तर्क कैसे पास करना है ताकि यह नियंत्रक कार्रवाई द्वारा मान्यता प्राप्त हो?
मैंने बिल्डर का उपयोग करके एक एक्सटेंशन बनाया और ContentController के लिए निम्न विधि जोड़ी।
/**
* @param string $var
*/
public function exampleAction($var = null) {
var_dump($var);
die;
}
लेकिन कोई फर्क नहीं पड़ता कि मैं URL में पैरामीटर कैसे जोड़ता हूं, मुझे केवल "शून्य" मिलता है।
एक्सटेंशन निर्देशिका "परीक्षण" है और ऐसा ही है $_EXTKEY
। बिल्डर ने "Mac.Test" में डाल दिया ext_tables.php
कॉल के लिए registerProviderExtensionKey ()। इसलिए URL में मैंने इन मापदंडों की कोशिश की:
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
और कुछ अन्य। लेकिन कोई फायदा नहीं हुआ।
मैंने कोशिश की f:link.action
ViewHelper, जिसके परिणामस्वरूप
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
इसके अलावा $ यह-> अनुरोध-> getArguments () केवल एक खाली सरणी देता है, इसलिए कुछ गंभीर रूप से गलत होना चाहिए।
प्रयुक्त संस्करण:
PHP 5.6.11
TYPO3 6.2.21
वीएचएस 2.4.0
प्रवाह 7.2.3
तरल पदार्थ 3.3.1
तरल पदार्थ महाद्वीप 4.3.3
fluidcontent_core 1.3.0
बिल्डर 1.0.0
और कुछ भी स्थापित नहीं किया गया (केवल इस व्यवहार के परीक्षण के लिए ताजा प्रणाली)।
उत्तर:
जवाब के लिए 2 № 1तरल पदार्थ लिंक का उपयोग करके, आप जैसे पैरा पारित कर सकते हैं
<f:link.action action="example" controller="controllerName" arguments="{var:"abc"}">Go</f:link.action>
यह "जैसे लिंक बनाएगा:
http://host/index.php?id=1&tx_[extension_key]_[fe_plugin_key][var]=abc
अब, extBase में url से पैरा कैसे प्राप्त करें
$arguments = $this->request->getArguments(); // OR
$var = $this->request->getArgument("var");
उपयोगी कड़ियाँ: