這幾天幫一個朋友弄一個商城,用的是ECSHOP,感覺ECSHOP功能確實夠 強大,但是對於不懂程序的人來說,使用起來還是挺復雜,稍微做點修改就得大費周折,如果能像動易那樣出一套標簽庫就好了。
比如深藍使用的時候需要按分類調用一下文章,這是一個很常見的功能,可以官方並沒有提供,只好自己想辦法,最後終於找到了辦法。請看一下ECSHOP教程
具體實現方法:
舉例如首頁調用方法:
1、先打開index.php文件找到以下代碼:
$smarty->assign('new_articles', index_get_new_articles()); // 最新文章
在它下面增加以下:
//調用方法 $smarty->assign('class_articles_4', index_get_class_articles(4,6)); // 分類調用文章 //調用多個就修改傳進去的參數,以及模板接收的變量,其中上面的4就是文章分類ID,其中6是調用數量 $smarty->assign('class_articles_5', index_get_class_articles(5,6)); // 分類調用文章 $smarty->assign('class_articles_6', index_get_class_articles(6,6)); // 分類調用文章 $smarty->assign('class_articles_7', index_get_class_articles(7,6)); // 分類調用文章 $smarty->assign('class_articles_8', index_get_class_articles(8,6)); // 分類調用文章
//在最後?>這個之前增加以下函數 function index_get_class_articles($cat_aid, $cat_num) { $sql = "SELECT article_id, title,open_type,cat_id,file_url FROM " .$GLOBALS['ecs']->table('article'). " WHERE cat_id = ".$cat_aid." and is_open = 1 LIMIT " . $cat_num; $res = $GLOBALS['db']->getAll($sql); $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]['cat_name'] = $row['cat_name']; $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']); $arr[$idx]['cat_url'] = build_uri('article_cat', array('acid' => $row['cat_id'])); } return $arr; }
2、第二步是在index.dwt模板想調用的地方增加以下代碼,(注:以下調上面設置裡的分類ID為8的文章列表):
<!--{foreach from=$class_articles_8 item=article}--> <li><a href="{$article.url}" title="{$article.title|escape:html}"><!--{$article.short_title|truncate:15:true}--></a></li> <!--{/foreach}-->
按以上方法調用成功。