【发布时间】:2015-07-17 16:13:00
【问题描述】:
我编写了一个运行良好的 Joomla 组件。我现在想在管理员列表视图中添加一个按钮,单击该按钮后会自动开始仅下载列表中选定项目的 CSV 文件。
我对模型逻辑没问题,我遇到的问题是传递选定的 cid 或在没有模板的情况下呈现原始输出。
如果我使用 JToolBar 的 appendButton 函数添加一个“链接”类型的按钮,那么我可以将用户发送到一个带有“格式=原始”的 URL,但我不能发送有关哪些项目已检查的信息。
如果我使用JToolBarHelper::custom 添加自定义列表按钮,那么我可以发送关于哪些按钮被选中的信息,但我无法发送format=raw
据我所知,有两种解决方案,但我不知道如何实现其中任何一种。选项一是在没有format=raw 的 URL 参数的情况下强制无模板原始输出。选项二是在管理表单中使用format=raw 设置隐藏变量。
任何帮助将不胜感激
【问题讨论】:
-
看看com_banners是如何做到的。如果您只需要这样做,这是最简单的示例。
-
我假设您指的是 com_banners 中的曲目视图。这不是我需要的,因为您无法在细粒度级别选择您想要的项目(您只能过滤)。我有一个列表视图,我想允许管理员选择项目并只下载这些项目。还是谢谢。
-
我认为你需要做的是定义一个文档类型(html,feed,json等的方式,但是你想要的格式。然后就像你构建view.html .php 或 view.feed.php 你构建 view.csv.php 但让它支持过滤器。我认为这不会那么难,因为你有过滤器在状态。
-
我对 raw 很满意,我认为不需要新的文档类型。问题是除非您在查询字符串中有 format=raw,否则 Joomla 将显示原始视图,但它会将其与整个模板一起封装。
标签: joomla