【发布时间】:2012-07-04 22:09:23
【问题描述】:
我有一个在 Catalyst MVC 框架中开发的网页。我正在为我的视图使用模板工具包。我的一个网页中有两个表格。我想将一个表超链接到另一个表,并使用 ajax 在新选项卡或同一页面中打开另一个表(即链接表)。
我对 Catalyst 和 Template Toolkit 非常陌生。我恳请您帮助我了解如何使之成为可能?是否可以在模板中调用模板?如果是,我该如何实现?
我将不胜感激接受除上述之外的任何其他建议。
【问题讨论】:
我有一个在 Catalyst MVC 框架中开发的网页。我正在为我的视图使用模板工具包。我的一个网页中有两个表格。我想将一个表超链接到另一个表,并使用 ajax 在新选项卡或同一页面中打开另一个表(即链接表)。
我对 Catalyst 和 Template Toolkit 非常陌生。我恳请您帮助我了解如何使之成为可能?是否可以在模板中调用模板?如果是,我该如何实现?
我将不胜感激接受除上述之外的任何其他建议。
【问题讨论】:
Template Toolkit 和 Ajax 并不自然地结合在一起。 Template Toolkit 是一种服务器端技术,而 Ajax 是 JavaScript 和称为 XMLHttpRequest 的 Web 浏览器 API 的混合体。
Catalyst 可以通过返回已编译的.tt-模板来响应 Ajax 请求。 Template Toolkit 不关心 Catalyst 正在做什么。
神奇之处在于 Catalyst、模板工具包和 Ajax 的组合。通常这是完成的,就像您的情况一样,#table1 中的链接订阅了获取 #table2 的 JavaScript 事件。 #table2 可以是 Catalyst 操作 (/my_app/tables/2),它存储数据并编译 .tt-模板。
在#table1 之外,我们有一个#table_wrapper。
# jQuery
$('#table1 .next').click(function () {
$('#table_wrapper').load('/my_app/tables/2');
});
这对你有意义吗?如果您需要更多意见,我可以跟进。
【讨论】: