• 236阅读
  • 1回复

ECSHOP任意页面显示指定分类、数量、排序的任意类型文章,包括只显示置顶or普通的文章

楼层直达
xQV5-VoFC  
1、在需要使用此功能的PHP页面里最后的?>前面添加以下代码,现在以article.php为例子 >5C|i-HX  
/** jinmozhe 专业ECSHOP二次开发 * 获得指定分类ID、文章类型、指定数量、排序规则的文章列表。 * @access  private * @return  array * @cat_id  文章分类ID  0代表显示所有分类的以下条件文章 * @list_type  文章列表类型 0 普通 1置顶 2头条 3推荐 4热门 * @list_num  文章列表数量 默认10条新闻,可不填写 * @list_order  文章列表排序 默认按照最新添加的排序,可不填写 */function get_class_list_articles($cat_id='0',$list_type='0',$list_num='10',$list_order='add_time DESC'){ $sql = 'SELECT article_id, title, add_time, file_url, open_type ' .            ' FROM ' . $GLOBALS['ecs']->table('article') . ' WHERE ' ;  if($cat_id!='0'){             $sql =$sql.' cat_id = '.$cat_id.' and ' ;  }    $sql =$sql.' article_type='.$list_type .' ORDER BY '.$list_order.' LIMIT ' . $list_num;    $res = $GLOBALS['db']->getAll($sql); @T53%v<5  
    $arr = array();    foreach ($res AS $idx => $row)    {        $arr[$idx]['id']          = $row['article_id'];        $arr[$idx]['title']       = $row['title'];        $arr[$idx]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ?                                        sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title'];        $arr[$idx]['add_time']    = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']);        $arr[$idx]['url']         = $row['open_type'] != 1 ?                                        build_uri('article', array('aid' => $row['article_id']), $row['title']) : trim($row['file_url']);    } q{/>hvl  
    return $arr;} HMsTm}d  
您是不是很疑惑,ECSHOP只有普通及置顶的文章,哪来的其它类型的文章哦,至于这个你就得看下我写的另外一篇文章了。 t}LV[bj1u  
2、继续在此article.php文件里调用显示的代码里添加以下代码: PM3kI\:)m  
$smarty->assign('hot_goods',        get_recommend_goods('hot'));        // 热点文章$smarty->assign('list_articles15',  get_class_list_articles('15','0','6','add_time DESC')); $_s"16s  
//15为文章分类ID,别告诉我你不知道怎么看;0代表普通的文章;6是文章显示数量;add_time DESC代表是按照添加时间的先后顺序显示 `I+G7K K  
3、在要显示此内容的article.dwt模板文件里添加以下代码:  y/t{*a  
<!--{foreach from=$list_articles15 item=article}--><li><a title="{$article.title|escape:html}" href="{$article.url}">{$article.title}</a></li><!--{/foreach}--> "&;>l<V  
至于其它类型,或者要在其它页面也这样操作,按照以下顺序重新操作即可。
只看该作者 安逸沙发  发表于: 08-24
1、在需要使用此功能的PHP页面里最后的?>前面添加以下代码,现在以article.php为例子 Q3WI @4  
p=:Vpg<!  
/** jinmozhe 专业ECSHOP二次开发 94-BcN  
* 获得指定分类ID、文章类型、指定数量、排序规则的文章列表。 mcQL>7ts  
* @access  private @?<[//1  
* @return  array YTyrX  
* @cat_id  文章分类ID  0代表显示所有分类的以下条件文章 %]Z4b;W[Y  
* @list_type  文章列表类型 0 普通 1置顶 2头条 3推荐 4热门 ~Fuq{e9`  
* @list_num  文章列表数量 默认10条新闻,可不填写 _nqnO8^IG4  
* @list_order  文章列表排序 默认按照最新添加的排序,可不填写 qf(mJlU  
*/ JVu j u$k  
function get_class_list_articles($cat_id='0',$list_type='0',$list_num='10',$list_order='add_time DESC') E@ :9|5  
{ ?z1v_Jh  
$sql = 'SELECT article_id, title, add_time, file_url, open_type ' . Dylm=ZZa  
            ' FROM ' . $GLOBALS['ecs']->table('article') . ' WHERE ' ; lndz  
  if($cat_id!='0'){ T2Yf7Szp  
            $sql =$sql.' cat_id = '.$cat_id.' and ' ; _uO$=4Sd  
  } fc+-/!v  
    $sql =$sql.' article_type='.$list_type .' ORDER BY '.$list_order.' LIMIT ' . $list_num; fi HE`]0  
    $res = $GLOBALS['db']->getAll($sql); 'u<e<hU  
Qbv@}[f  
    $arr = array(); c6[m'cy  
    foreach ($res AS $idx => $row) n0=]C%wr  
    { I#MPJ@*WT  
        $arr[$idx]['id']          = $row['article_id']; %AO6 =  
        $arr[$idx]['title']       = $row['title']; Tm`@5  
        $arr[$idx]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ? 3?B1oIHQ  
                                        sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title']; nDvfb* \  
        $arr[$idx]['add_time']    = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']); Z@euO~e~  
        $arr[$idx]['url']         = $row['open_type'] != 1 ? q(qm3OxYo  
                                        build_uri('article', array('aid' => $row['article_id']), $row['title']) : trim($row['file_url']); Hpix:To  
    } e&x)g;bn  
Ze%S<xT!O  
    return $arr; WuE]pm]c  
} 7D<Aa?cv_l  
p|gVIsg[-e  
您是不是很疑惑,ECSHOP只有普通及置顶的文章,哪来的其它类型的文章哦,至于这个你就得看下我写的另外一篇文章了。 ,IhQ%)l  
Dl.< (/  
2、继续在此article.php文件里调用显示的代码里添加以下代码: N $>Ml!J  
=A5i84y.2u  
$smarty->assign('hot_goods',        get_recommend_goods('hot'));        // 热点文章 qf K gNZ  
$smarty->assign('list_articles15',  get_class_list_articles('15','0','6','add_time DESC')); rWWp P<  
t~qSiHw  
//15为文章分类ID,别告诉我你不知道怎么看;0代表普通的文章;6是文章显示数量;add_time DESC代表是按照添加时间的先后顺序显示 V+y|C[A F  
BT(eU*m-  
3、在要显示此内容的article.dwt模板文件里添加以下代码: ,&,XcbJ  
lrPIXIM  
<!--{foreach from=$list_articles15 item=article}--> R,.qQF\*  
<li><a title="{$article.title|escape:html}" href="{$article.url}">{$article.title}</a></li> "$5cKbJ  
<!--{/foreach}--> Foj|1zJS_  
F'wG%  
至于其它类型,或者要在其它页面也这样操作,按照以下顺序重新操作即可。
快速回复

限100 字节
安逸网提示:批量上传需要先选择文件,再选择上传
 
认证码:
上一个 下一个