我正在制作一个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,但想将组件与许多菜单项一起使用,并且网址不断变化,所以我被困在该部分。
希望这能解决您的问题。
问候贾伊