【发布时间】:2015-07-11 08:29:00
【问题描述】:
我知道该怎么做:
1) 创建一个允许翻译的模块控制器。
我可以在控制器本身或模板中声明要翻译的文本:
/modules/mymodule/controllers/front/list.php
class myModuleListModuleFrontController extends ModuleFrontController
{
public function initContent()
{
parent::initContent();
$this->l('Some text to translater');
$this->setTemplate('list.tpl');
}
}
/modules/mymodule/views/templates/front/list.tpl
{l s='Some other text' mod='mymodule'}
2) 我知道要创建一些未嵌入 html 的输出,例如一些 json 对象:
/modules/mymodule/json.php
include( '../../config/config.inc.php' );
echo json_encode(array('key' => 'Some text'));
我需要什么:
我需要能够翻译一些文本并将输出发送到浏览器而不需要周围的 html。我必须能够做到其中之一:
-
使用独立文件并能够声明要翻译的文本,类似于此(不起作用):
include( '../../config/config.inc.php' ); echo json_encode(array('key' => l('Some text'))); -
使用模块控制器并强制原始输出,类似于此(也不起作用):
class myModuleListModuleFrontController extends ModuleFrontController { public function initContent() { parent::initContent(); $this->noHtml = true; echo json_encode(array('key' => l('Some text'))); } }
【问题讨论】:
-
你想通过 Ajax 从你的 FrontController 获取一些 HTML 吗?
-
@gskema 与此类似。如果您给出通过 Ajax 获得 html 贿赂的答案,它很可能会回答我的问题。不过,我处于一个非常特殊的情况:我想代理下载链接以检查用户是否已登录并具有权限,然后显示本地化错误消息、发送文件或重定向到登录。
标签: module controller prestashop