Joomla 组件覆盖模板

Posted

技术标签:

【中文标题】Joomla 组件覆盖模板【英文标题】:Joomla Component override template 【发布时间】:2014-01-28 07:58:01 【问题描述】:

我正在编写 Joomla 2.5 或 3.x 组件 它使数据详细化并返回一些数据。

我希望将这项工作作为一种被调用并返回数据的服务 (例如 我打电话给 www.mysite.com?option=com_mycomponent&view=myview

结果,例如我的 json 数据 ..或 xml 或我精心制作后需要的结果 )

所以我需要我的输出视图是原始的。 我不需要模板,也不需要 css 或 js .. 只有我的结果..

但现在结果被插入到模板中

有可能吗?...

我尝试在我的模板中创建 RAW 模式 喜欢Here。

这可行,但不是我想要的 但这是一个肮脏的解决方案 因为如果我必须调用的网址就像... www.mysite.com~....~&tmpl=raw

我希望我的组件可以原始输出。

谢谢

【问题讨论】:

您会发现这些很有用:raw format view 和 json output。 或者你可以只输出数据然后死在view.raw.php 【参考方案1】:
    在组件内创建 RAW 视图 views/[myview]/view.raw.php 在请求中需要 RAW 格式 index.php?option=com_mycomponent&view=myview&format=raw

喜欢com_banners/views/tracks/view.raw.php

JSONXML 也是如此。

以下是通用文档格式列表:libraries/joomla/document

feed html image json opensearch raw xml

要使用 JSON 格式作为响应,我推荐新的JResponseJson 类:

// Anything that may be serialized with json_encode or an Exception
$data = array('some' => 'data');

echo new JResponseJson($data);

【讨论】:

以上是关于Joomla 组件覆盖模板的主要内容,如果未能解决你的问题,请参考以下文章

Joomla 注册覆盖

Joomla 模板模块覆盖不适用于移动模板

Joomla:多次覆盖类别博客输出?

Joomla 3以编程方式为组件设置默认模板

Joomla 组件输出 - 仅模板 - 无默认站点骨架

我的组件不加载 joomla 模板,但它在本地工作