我正在创建一个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>
我该怎么做?
非常感谢,
安托
答案 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,但是想要使用带有许多菜单项的组件,并且网址不断变化,所以我被困在那个部分。
希望这能解决您的问题。
此致 洁