Json调用joomla 2.5组件

时间:2014-03-04 11:19:38

标签: json angularjs joomla

我正在创建一个joomla 2.5组件,我试图在模型或控制器中设置(最合适的是什么?)我的数据库请求的json响应(稍后使用angularJS获取json)。

这是我的模型(带有DB响应):

<?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>

我该怎么做?

非常感谢,

安托

1 个答案:

答案 0 :(得分:0)

迟到.....

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

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

您可以通过附加&#39; format = raw&#39;来浏览此文件。在网址的末尾。

例如:如果浏览器中的组件视图页面是&{39; http://test.com/test(如果SEF已开启),那么在追加该网址之后应该是这样的

http://test.com/test?format=raw如果SEF没有使用&amp;而不是?

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

在view.raw.php文件中,确保只回显结果而不是parent :: display($ tpl);。

这对我有用。

PS:我也在使用angualrjs,但是想要使用带有许多菜单项的组件,并且网址不断变化,所以我被困在那个部分。

希望这能解决您的问题。

此致 洁