2

我开发了一个 Joomla 模块,它确实提供了一个表单、处理其发布数据、进行一些计算并显示结果。

该模块包括一个用于打印结果的按钮。我目前正在使用 JavaScript 打开一个新窗口,粘贴相关的 HTML 并打开打印对话框。

而不是 JavaScript,我更愿意为打印视图提供一个单独的 URL,并在 _blank 目标中简单地打开它。这将使应用程序更适合使用屏幕阅读器或没有可用 JavaScript 的人。

有什么方法可以告诉 Joomla 不要将模板与我的模块一起呈现?我在想创建一个组件可以解决这个问题,但不得不发现组件也被渲染到模板中......

顺便说一句:我有 Joomla 1.5.22

4

2 回答 2

4

要实现您想要的,您必须向tmpl=component请求 URL 添加额外的查询字符串参数。这将禁用模板和模块渲染。

您的 URL 将如下所示:index.php?option=com_xxx&view=xxx&tmpl=component

由于您使用的是 Joomla 1.5,您可以请求index2.php?option=com_xxx&view=xxx并且它只会呈现组件。Joomla 2.5 没有,index2.php因此如果您计划将来迁移,请不要使用此选项。

如果您使用的是 SEF,那么?tmpl=component在 URL 的末尾添加就可以了。


更深入一点......在您的模板目录中,您有component.php文件,即tmpl参数正在加载的文件。您可以复制component.phpmy_component.php,进行必要的更改并加载您的自定义组件模板index.php?option=com_xxx&view=xxx&tmpl=my_component

于 2012-04-20T15:59:08.993 回答
0

joomla 的做法是将你的输出设置为“原始”,见这个 tut:

http://www.katcode.com/displaying-raw-output-in-joomla-by-setting-format-in-the-component/

于 2012-04-20T17:57:48.467 回答