我开发了一个Joomla模块,它提供了一个表单,处理其后数据,进行一些计算并显示结果。
该模块包括一个用于打印结果的按钮。我目前正在使用 JavaScript 打开一个新窗口,粘贴相关的 HTML 并打开打印对话框。
而不是JavaScript,我更愿意为打印视图提供一个单独的URL,并简单地在_blank目标中打开它。这将使应用程序更好地为使用屏幕阅读器或没有JavaScript的人工作。
有什么方法可以告诉Joomla不要将模板与我的模块一起渲染?我在想创建一个组件可以解决这个问题,但必须发现组件也被渲染到模板中......
顺便说一句:我有 Joomla 1.5.22
要实现您想要的,您必须向请求 URL 添加额外的tmpl=component
查询字符串参数。这将禁用模板和模块呈现。
您的网址将如下所示: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,那么在URL的末尾添加?tmpl=component
就可以了。
更深入...在您的模板目录中,您有
component.php
文件,即由tmpl
参数加载的文件。您可以将component.php
复制到 my_component.php
,进行必要的更改并使用index.php?option=com_xxx&view=xxx&tmpl=my_component
加载自定义组件模板
joomla 的方法是将输出设置为"raw",请参阅此 tut:
http://www.katcode.com/displaying-raw-output-in-joomla-by-setting-format-in-the-component/