2017-06-29 120 views
0

我有一个关于TYPO3的问题。有人在这里有经验吗?TYPO3要求采取行动

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

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

但我不知道如何调用这个函数。将使用哪个网址? 所以,你能帮助我吗?

在此先感谢。

+0

你可以按照这个例子,然后回来可能有任何问题: https://usetypo3.com/json-view.html – sven

回答

0

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

打电话EidDispatcher.phpext_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) { 

    } 
} 
+0

感谢您的回复。我有这个 公共职能testAction(){ \t回声json_encode(array('come here'));回到顶端这篇文章中的信息适用于: \t die(); } 在ext_localconf.php我有这个 \ TYPO3 \ CMS \ Extbase \公用\ ExtensionUtility :: configurePlugin( '位置'。$ _EXTKEY, 'MapGeneration', 阵列( '位置'=>' test,list', ) ); 你知道为什么结果是空的吗? – Diego

+0

您可以像这样在控制器中获取参数值。 ** $ paramArr = GeneralUtility :: _ GET( 'PARAM'); ** –

+0

嗨, 但我认为,它仍然不能打电话的动作。 称为链路是 的index.php?的eID = mapGeneration&ID = 237&tx_extension_key%5BextensionName%5D =地点和tx_extension_key%5BpluginName%5D = MapGeneration&tx_extension_key%5Bcontroller%5D =位置和tx_extension_key%5Baction%5D =测试及PARAM%5Bparameter%5D = 但价值回归是空白。 – Diego

0

你可以使用这种方法:https://github.com/helhum/typoscript_rendering

它只是提供viewhelpers至极,你可以用它来生成一个不会开斋节或特殊的页面类型的开销链接控制器和动作。它只是工作。