求助:如何在一个公告挂件里调用2个分类的文章内容(已搞定)

2016-07-07 16:48 来源:www.chinab4c.com 作者:ecshop专家

请教ECMALL的高手

如何在一个公告挂件里调用2个分类的文章内容

<?php

/**
* 公告栏挂件
*
* @paramstring$ad_image_url广告图片地址
* @paramstring$ad_link_url 广告链接地址
* @returnarray
*/
class NotWidget extends BaseWidget
{
var $_name = 'not';
var $_ttl= 86400;
var $_num= 3;

function _get_data()
{
$cache_server =& cache_server();
$key = $this->_get_cache_id();
$data = $cache_server->get($key);
$data1 = $cache_server->get($key);
if($data === false)
{
$acategory_mod =& m('acategory');
$article_mod =& m('article');
$data = $article_mod->find(array(
'conditions' => 'cate_id=' . $acategory_mod->get_ACC(ACC_NOTICE) . ' AND if_show = 1',
'order'=> 'sort_order ASC, add_time DESC',
'fields'=> 'article_id, title, add_time',
'limit'=> $this->_num,
));
$cache_server->set($key, $data, $this->_ttl);
}
if($data1 === false)
{
$acategory_mod1 =& m('acategory');
$article_mod1 =& m('article');
$data1 = $article_mod1->find(array(
'conditions' => 'cate_id=' . $acategory_mod1->get_ACC(ACC_HELP) . ' AND if_show = 1',
'order'=> 'sort_order ASC, add_time DESC',
'fields'=> 'article_id, title, add_time',
'limit'=> $this->_num,
));
$cache_server->set($key, $data1, $this->_ttl);
}

return array(
'notices' => $data,
'systems' => $data1,
);
}


}

?>

看了程序 我发现ECMALL的文章调用是这样的。

定义一个data

一堆调用最后通过 ACC_NOTICE 来确定调用的分类的。

最后通过
return array(
'notices' => $data,
);

来对应一下

然后在显示的widget.html里

<!--{foreach from=$widget_data.notices item=article}--> //对应这里
<li><a href="index.php?app=article&act=view&article_id={$article.article_id}" title="{$article.title|escape}">{$article.title|escape}</a></li>
<!--{foreachelse}-->
<!--{/foreach}-->


但是我想做2个分类的调用我应该怎没做呢 我想到做2个data 一个data 一个data1 但是出来的效果是调用出来的2个分类是一样的内容。请高手帮忙。




回答:
'conditions' => 'cate_id=' . $acategory_mod->get_ACC(ACC_NOTICE) . ' AND if_show = 1',
修改下就可以,
搞定了你不公布一下
自己留着了!
'conditions' => '(cate_id = -1 OR cate_id = 2) AND if_show = 1',
更新缓存

搞定了你公布一下,大家一起学习阿



原帖由 daymeteor 于 2009-9-19 14:53 发表
'conditions' => 'cate_id=' . $acategory_mod->get_ACC(ACC_NOTICE) . ' AND if_show = 1',
修改下就可以,
搞定了你不公布一下
自己留着了!
'conditions' => '(cate_id = -1 OR cate_id = 2) AND if_sh ...



希望楼主一路走好,不需要再求助。

楼猪不厚道