2014-03-04 132 views
0

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

这里是我的模型(与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> 

我该怎么做?

非常感谢,

安东尼

+0

你什么意思我该怎么办呢?它不工作?你有错误吗?你不知道在哪里放置文件? – Laoneo

+0

其实,我可以得到一个JSON与echo json_encode($ this-> items);在我看来。 但是如何在这个响应中调用我的角度应用程序中的服务?在一个新的控制器? – user3086809

+0

你是说你想做一个独立的角度应用程序吗? – Elin

回答

0

有点晚了.....

你好我的工作类似的东西。

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

您可以在url的末尾追加'format = raw'来浏览此文件。

例如:如果在浏览器中的零部件视图页是'http://test.com/test(IF SEF是),则追加个URL建议立即进行删除是这样的

http://test.com/test?format=raw并且如果SEF后是不是就使用&,而不是?

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

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

这确实对我有用。

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

希望这可以解决您的问题。

问候, 洁