TYPO3呼叫行动

时间:2017-06-29 10:00:46

标签: controller typo3 call action

我有一个与TYPO3有关的问题。这里有人有经验吗?

我有一个名为locations的模块。 名为LocationController的控制器 一个名为generateCountryAction()的函数 此函数返回我以JSON格式输入的所有国家/地区的列表。

目前,在主页上,我需要构建一个地图并在该地图上显示所有国家/地区。 所以,我需要调用此函数来获取国家/地区列表,然后将结果传递给javascript。因为我使用了一个javascript库来构建地图。

但我不知道如何调用此功能。将使用哪个网址? 那么,你能帮我吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以使用Ajax调用此函数。您需要使用onclick事件来获取前端的所有国家/地区列表。在typo3中使用ajax,如下所示。

EidDispatcher.php文件中致电ext_localconf.php,并在此路径Classes/Ajax/上添加此项目,如下所示。

$TYPO3_CONF_VARS['FE']['eID_include']['your_ajax_parameters'] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('extension_key').'Classes/Ajax/EidDispatcher.php';

您可以像这样调用控制器方法。

$.ajax({
    async: 'true',
    url: 'index.php',
    type: 'GET',
    dataType: 'json',
    data: {
        eID: "your_ajax_parameters",
        id:pageId,
        tx_extension_key: {
            pluginName:  'your plugin name',
            controller:  'your controller name',
            action:      'your action name',
        },
        param:{
            parameter:'',
        }
    },
    success:function (data) {

    }
}

答案 1 :(得分:0)

您可以使用此方法:https://github.com/helhum/typoscript_rendering

它只提供了视图帮助程序,您可以使用它来生成控制器和操作的链接,而不会产生eId或特殊页面类型的开销。它只是有效。