Json 调用 joomla 2.5 组件



我正在制作一个joomla 2.5组件,我试图在模型或控制器中设置我的数据库请求的json响应(用于以后使用angularJS获取json)。

这是我的模型(带有数据库响应):

<?php
defined('_JEXEC') or die();
jimport( 'joomla.application.component.modelList' );

class MediastoreModelList extends JModelList
{
    function getListQuery()
    {
        $db = JFactory::getDBO();
        $query = $db->getQuery(true);
        $query->select('id, type, designation', 'marque', 'prix');
        $query->from('produits');
        return $query;
    }
}

我的空控制器:

<?PHP
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.controller');
class MediastoreController extends JController
{
}

我的观点

<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
jimport( 'joomla.application.component.view' );

class MediastoreViewList extends JView
{
    function display($tpl = null)
    {
        $this->items = $this->get('items');
        parent::display($tpl);
    }
}

和我的模板

<?php
defined('_JEXEC') or die('Restricted access');
JHTML::script('media/com_mediastore/js/angular.min.js');
JHTML::script('media/com_mediastore/js/app.js');
?>
<?php 
echo $this->items;
?>
<div class="content">
    <p>Nothing</p>
</div>

我该怎么做?

多谢

安东尼

有点

晚了.....

嗨,我正在做类似的事情。

在您的视图(站点部件)中,添加一个名为 view.raw.php 的另一个文件。

您可以通过在 url 末尾附加"format=raw"来浏览到此文件。

例如:如果您在浏览器中的组件视图页面是'http://test.com/test(如果SEF在)上,那么在附加url之后应该是这样的

http://test.com/test?format=raw,如果SEF不在使用和代替?

您可以在 http.get 服务的 angularjs 中使用此 URL。

在视图中.raw.php文件确保只回显结果而不是父::d isplay($tpl);。

这确实对我有用。

PS:我也在使用angualrjs,但想将组件与许多菜单项一起使用,并且网址不断变化,所以我被困在该部分。

希望这能解决您的问题。

问候贾伊

最新更新