Php TYPO3 Extbase-如何从外部调用控制器操作
假设我有一个扩展名为Php TYPO3 Extbase-如何从外部调用控制器操作,php,typo3,extbase,Php,Typo3,Extbase,假设我有一个扩展名为myu-extension,在myu-extension中有一个插件名为apiResponse 然后,我的控制器中有一个名为sendApiDataAction的函数 如何通过通常的http GET请求从外部调用此sendApiDataAction?我假设您使用相同的扩展名调用外部插件。可以使用流体视图辅助对象 创建用于调用控制器操作的URL 1) 如果您想使用URL调用操作,请在下面使用 2) :如果您正在提交表单,那么您有一个表单配置来调用操作 <f:form add
myu-extension
,在myu-extension中有一个插件名为apiResponse
然后,我的控制器中有一个名为sendApiDataAction
的函数
如何通过通常的http GET请求从外部调用此
sendApiDataAction
?我假设您使用相同的扩展名调用外部插件。可以使用流体视图辅助对象
创建用于调用控制器操作的URL
1) 如果您想使用URL调用操作,请在下面使用
2) :如果您正在提交表单,那么您有一个表单配置来调用操作
<f:form additionalAttributes="{foo: 'bar'}" data="{foo: 'bar'}" action="NULL" arguments="{foo: 'bar'}" controller="NULL" extensionName="NULL" pluginName="NULL" pageUid="123" object="[mixed]" pageType="123" noCache="1" noCacheHash="1" section="''" format="''" additionalParams="{foo: 'bar'}" absolute="1" addQueryString="1" argumentsToBeExcludedFromQueryString="{foo: 'bar'}" fieldNamePrefix="NULL" actionUri="NULL" objectName="NULL" hiddenFieldClassName="NULL" enctype="NULL" method="NULL" name="NULL" onreset="NULL" onsubmit="NULL" class="NULL" dir="NULL" id="NULL" lang="NULL" style="NULL" title="NULL" accesskey="NULL" tabindex="123" onclick="NULL">
</f:form>
希望这对你有帮助 我假设您正在使用相同的扩展名来调用外部插件。可以使用流体视图辅助对象 创建用于调用控制器操作的URL 1) 如果您想使用URL调用操作,请在下面使用 2) :如果您正在提交表单,那么您有一个表单配置来调用操作
<f:form additionalAttributes="{foo: 'bar'}" data="{foo: 'bar'}" action="NULL" arguments="{foo: 'bar'}" controller="NULL" extensionName="NULL" pluginName="NULL" pageUid="123" object="[mixed]" pageType="123" noCache="1" noCacheHash="1" section="''" format="''" additionalParams="{foo: 'bar'}" absolute="1" addQueryString="1" argumentsToBeExcludedFromQueryString="{foo: 'bar'}" fieldNamePrefix="NULL" actionUri="NULL" objectName="NULL" hiddenFieldClassName="NULL" enctype="NULL" method="NULL" name="NULL" onreset="NULL" onsubmit="NULL" class="NULL" dir="NULL" id="NULL" lang="NULL" style="NULL" title="NULL" accesskey="NULL" tabindex="123" onclick="NULL">
</f:form>
希望这对你有帮助 首先,您需要从分机获取以下信息:
- extensionKey(很简单,在您的示例中是
)myExtension
- pluginName(这是您在分配操作的
中定义的名称)ext\u localconf.php
- actionName(在您的示例中,
——不带sendApiData
)操作
- controllerName(您的操作所在的控制器)
- pageId(实现插件的页面id)
- 名称空间(在您的例子中,这是从插件和扩展构建的名称
tx\u myextension{pluginName}
http(s)://your.domain.tld/index.php?id={pageId}&{namespace}[controller]={controllerName}&{namespace}[action]={actionName}
首先,您需要从扩展中获得以下信息:
- extensionKey(很简单,在您的示例中是
)myExtension
- pluginName(这是您在分配操作的
中定义的名称)ext\u localconf.php
- actionName(在您的示例中,
——不带sendApiData
)操作
- controllerName(您的操作所在的控制器)
- pageId(实现插件的页面id)
- 名称空间(在您的例子中,这是从插件和扩展构建的名称
tx\u myextension{pluginName}
http(s)://your.domain.tld/index.php?id={pageId}&{namespace}[controller]={controllerName}&{namespace}[action]={actionName}
谢谢你的帮助,bit我不是指fluid ViewHelper。我需要从另一个不使用typo3或fluid的网站调用该链接。使用f:uri.action创建链接并使用外部网站的URL谢谢你的帮助,bit我不是指fluid ViewHelper。我需要从另一个使用typo3或fluid的网站调用该链接nt使用typo3或fluid。创建带有f:uri.action
的链接,并使用外部网站的URL。非常感谢,但是如果没有pageId,因为控制器没有集成在页面上,因为它只是一个API,该怎么办?如果你想在没有pageId的情况下使用它,我建议使用页面类型。非常感谢,但是如果没有pageId,因为它只是一个API呢控制器没有集成在页面上,因为它只是一个API?如果您想在没有pageId的情况下使用它,我建议使用页面类型。
<f:form additionalAttributes="{foo: 'bar'}" data="{foo: 'bar'}" action="NULL" arguments="{foo: 'bar'}" controller="NULL" extensionName="NULL" pluginName="NULL" pageUid="123" object="[mixed]" pageType="123" noCache="1" noCacheHash="1" section="''" format="''" additionalParams="{foo: 'bar'}" absolute="1" addQueryString="1" argumentsToBeExcludedFromQueryString="{foo: 'bar'}" fieldNamePrefix="NULL" actionUri="NULL" objectName="NULL" hiddenFieldClassName="NULL" enctype="NULL" method="NULL" name="NULL" onreset="NULL" onsubmit="NULL" class="NULL" dir="NULL" id="NULL" lang="NULL" style="NULL" title="NULL" accesskey="NULL" tabindex="123" onclick="NULL">
</f:form>