itE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-stroke-width: 0px">
為了照顧大多數(shù)站長,本教程傾向于在ecshop模板里修改實現(xiàn)。
以官方默認模板為例,
打開 /themes/default/library/help.lbi 文件
將
<!– {foreach from=$help_cat.article item=item} –>
<dd><a href="{$item.url}" title="{$item.title|escape:html}">{$item.short_title}</a></dd>
<!– {/foreach} –>
修改為
<!– {foreach from=$help_cat.article name="help_list" item=item} –>
{if $smarty.foreach.help_list.iteration lt 6}
<dd><a href="{$item.url}" title="{$item.title|escape:html}">{$item.short_title}</a></dd>
{/if}
<!– {/foreach} –>
]]>
itE-SPACE: normal; FLOAT: none; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-stroke-width: 0px"> 以ecshop官方默認模板為例,打開 /themes/default/user_clicps.dwt 文件
將
{$lang.last_month_order}{$info.order_count}{$lang.order_unit}
修改為
<a href="user.php?act=order_list">{$lang.last_month_order}{$info.order_count}{$lang.order_unit}</a>
就可以了
]]>
itE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-stroke-width: 0px"> 這里所說ecshop的“后臺訂單列表的商品縮略圖”是指鼠標滑過ecshop后臺訂單號時彈出的那個浮動層里的商品縮略圖。
下面是修改方法
打開 /admin/templates/order_goods_info.htm 文件
將
<img src="{$goods.goods_thumb}" />
修改為
<img src="{$goods.goods_thumb}" width="100" height="100" />
width 和 height 就是縮略圖的寬和高了,可以任意修改成你想要的數(shù)字
]]>
itE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-stroke-width: 0px">最模板的客戶看到ecshop與shopex都會問兩系統(tǒng)哪個選擇最好?以下按照客戶使用特點闡述最模板的觀點:
1. 兩系統(tǒng)都為一個公司所開發(fā)。ecshop是后面收購的系統(tǒng),感覺官方對ecshop支持力度不大,但是從論壇觀察,ecshop用戶群明顯活躍點。
2.shopex雖然可以免費試用,但是加密的,后臺源碼部分全部zend加密,若是用戶以后做二次功能需要求助shopex官方。
3.ecshop開源免費,所有源碼全部開發(fā),以后升級方便,稍微懂點PHP知識就能修改。
4.shopex官方針對SHOPEX開發(fā)了不同類的插件,剛?cè)腴T客戶入手比較方便。當然ecshop,第三方開發(fā)插件比較多!
5.模板開發(fā)上ecshop采用smarty,做模板較容易。切好圖,貼上相關(guān)代碼,網(wǎng)站就成功了,當然shopex也如此,但是可視化編輯有時候找不到方向!
最終最模板觀點,兩者取舍,請使用ecshop, 主要是以后升級方便,不用ecshop與shopex了,數(shù)據(jù)也可以轉(zhuǎn)移!
]]> itE-SPACE: normal; FLOAT: none; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-stroke-width: 0px"> 問題:如何在ecshop商品列表頁(類別頁)顯示當前類別名稱呢?
作用:看上去很專業(yè),而且自我感覺能增進SEO,例如將ECSHOP默認官方模板商品列表頁的“商品列表”四個字改為當前類別名稱,應(yīng)該能增進SEO
答案:如下
首先修改ecshop程序文件 /category.php
在
$smarty->assign('cat_style', htmlspecialchars($cat['style']));
后邊增加
$smarty->assign('cat_name_cur', $cat['cat_name']);
然后就可以在ecshop模板文件 /themes/default/category.dwt 里調(diào)用了。
調(diào)用代碼為
{$cat_name_cur}
itE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(68,68,68); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-stroke-width: 0px">使用國外空間,mysql總是鏈接超時。出現(xiàn):
ECSHOP info: Can't Connect MySQL Server(localhost:3306)!
若想把ecshop這句
ECSHOP info: Can't Connect MySQL Server(localhost:3306)!
換成“服務(wù)器繁忙,請刷新”
辦法:
找到include/cls_mysql.php 代碼
echo "<b>ECSHOP info</b>: $message <br /><br />";
//print('<a target="_blank">http://faq.comsenz.com/</a>');
}
else
{
echo "<b>MySQL server error report:";
print_r($this->error_message);
//echo "<br /><br /><a href='http://faq.comsenz.com/?type=mysql&dberrno=" . $this->error_message[3]['errno'] . "&dberror=" . urlencode($this->error_message[2]['error']) . "' target='_blank'>http://faq.comsenz.com/</a>";
改下ecshop info : 之后的message部分。
]]>
找到include/lib_goods.php文件中“獲得指定商品的相冊”的get_goods_gallery函數(shù),
將
代碼如下:
” WHERE goods_id = ‘$goods_id’ LIMIT “
更改為
代碼如下:
” WHERE goods_id = ‘$goods_id’ ORDER BY img_id ASC LIMIT “
即可,注意單詞間的空格!
]]>找到includes/cls_image.php文件,在大約250行
代碼如下:
/* 生成文件 */
if (function_exists(‘imagejpeg’))
{
$filename .= ‘.jpg’;
imagejpeg($img_thumb, $dir . $filename);
}
改為
/* 生成文件 */
if (function_exists(‘imagejpeg’))
{
$filename .= ‘.jpg’;
imagejpeg($img_thumb, $dir . $filename, 96);
}
這樣應(yīng)該足夠清晰了,這里允許0-100的范圍,不寫默認是80的質(zhì)量。修改后圖像質(zhì)量有所提高,但和原圖還有區(qū)別,
還要修改admin/goods.php 文件,大約在613行:
代碼如下:
// 如果系統(tǒng)支持GD,縮放商品圖片,且給商品圖片和相冊圖片加水印
if ($proc_thumb && $image->gd_version() > 0 && $image->check_img_function($_FILES['goods_img']['type']))
{
// 如果設(shè)置大小不為0,縮放圖片
if ($_CFG['image_width'] != 0 || $_CFG['image_height'] != 0)
{
$goods_img = $image->make_thumb(‘../’. $goods_img , $GLOBALS['_CFG']['image_width'], $GLOBALS['_CFG']['image_height']);
if ($goods_img === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
改為:
代碼如下:
// 如果系統(tǒng)支持GD,縮放商品圖片,且給商品圖片和相冊圖片加水印
if ($image->gd_version() > 0 && $image->check_img_function($_FILES['goods_img']['type']) &&$_FILES['goods_img']['width'] > $GLOBALS['_CFG']['image_width'] &&$_FILES['goods_img']['height'] > $GLOBALS['_CFG']['image_height'])
{
// 如果設(shè)置大小不為0,縮放圖片
if ($_CFG['image_width'] != 0 || $_CFG['image_height'] != 0)
{
$goods_img = $image->make_thumb(‘../’. $goods_img , $GLOBALS['_CFG']['image_width'], $GLOBALS['_CFG']['image_height']);
if ($goods_img === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
同時到后臺,系統(tǒng)設(shè)置-》商店設(shè)置-》顯示設(shè)置:把商品圖片寬度,高度設(shè)置成一樣,圖像質(zhì)量就不會變化了。
產(chǎn) 品頁第一張圖片模糊的問題主要是由后臺開啟了上傳商品自動生成相冊圖功能引起的。商店設(shè)置–顯示設(shè)置里面有一項 上傳商品是否自動生成相冊圖: 這個選項默認是打開的,也就是默認是選擇 是 ;這樣的話您在上傳商品圖片時就在商品相冊里面自動生成一張相冊圖片(跟你上傳的原圖是同一張圖,只是圖片質(zhì)量不同而已);選擇否的話在商品相冊里面就不 生成此圖,如果該商品有商品相冊圖片,那需要您單獨上傳;如果您不單獨上傳商品相冊圖(且將上傳商品是否自動生成相冊圖:設(shè)置為否),那么在模版中系統(tǒng)就 認為此商品沒有商品相冊,(實際確實是沒有,因為默認生成的開關(guān)你關(guān)了而且你有沒單獨上傳相冊圖,哪兒來的相冊圖了?)所以商品相冊模塊就不顯示!所以在 后臺 商店設(shè)置–顯示設(shè)置里面 上傳商品是否自動生成相冊圖: 設(shè)置為否; 然后單獨上傳上傳圖片就可以解決商品第一張圖片模糊的問題。
另一種解決產(chǎn)品頁第一張圖片模糊的問題的方法是修改代碼,用原始圖替代這張縮略圖來顯示。在模板文件夾下的goods.dwt文件,找到
代碼如下:
<div class="good_img">
<a href="javascript:;" onclick="window.open('gallery.php?id={$goods.goods_id}'); return false;" >
<img src="{$goods.goods_img}" alt="{$goods.goods_name|escape:html}" id="goodsimg" style="width:340px;" />
</a>
</div>
改成
代碼如下:
<div class="good_img">
<a href="javascript:;" onclick="window.open('gallery.php?id={$goods.goods_id}'); return false;" >
<img src="{$goods.original_img}" alt="{$goods.goods_name|escape:html}" id="goodsimg" style="width:340px;" />
</a>
</div>
這樣產(chǎn)品頁第一張圖片模糊問題可以解決了。
]]>
模板安裝很簡單,主要分兩種網(wǎng)站模板:
1、二次開發(fā)過的;
2、無二次開發(fā)的;
第二種比較簡單
1、全新安裝一個ecshop;
2、一般直接把類似default這樣的目錄(一般點進去就可以看到images、css文件夾、且包含.dwt格式文件的目錄 )放入網(wǎng)站根目錄下的themes文件夾中
3、找到后臺設(shè)置-模板選擇 選擇對應(yīng)的模板。如果確實不知道哪一個就一個個試吧,試一個就要清一下緩存。
第一種,二次開發(fā)過的
這種一般他要么給你模板時,已經(jīng)是完整的源文件附帶一個數(shù)據(jù)庫。要么就是不完整的源文件(只包含修改過的文件)或完整的源文件,但是不包含數(shù)據(jù)庫的
帶數(shù)據(jù)庫的:
1、把文件復(fù)制到服務(wù)器下
2、打開data/config.php文件,修改你的數(shù)據(jù)庫配置,主要是數(shù)據(jù)庫名和數(shù)據(jù)用戶名密碼。
3、到數(shù)據(jù)庫中導(dǎo)入模板附帶的.sql格式的數(shù)據(jù)庫文件。
4、完成
不帶數(shù)據(jù)庫的:
1、全新安裝ecshop,備份一個data/config.php文件。
2、覆蓋文件
3、替換掉備份的data/config.php文件。
4、后臺設(shè)置選擇模板,同上面講的方法!5、O了!
講的不太細,有什么地方?jīng)]明白的直接回復(fù),我可補充!
補充:還有一種是通過訪問http://**/upload來安裝的,一般都會有使用教程。
]]>
1、先打開index.php文件找到以下代碼:
$smarty->assign('new_articles', index_get_new_articles()); // 最新文章
在它下面增加以下:
//調(diào)用方法
$smarty->assign('class_articles_4', index_get_class_articles(4,6)); // 分類調(diào)用文章
//調(diào)用多個就修改傳進去的參數(shù),以及模板接收的變量,其中上面的4就是文章分類ID,其中6是調(diào)用數(shù)量
$smarty->assign('class_articles_5', index_get_class_articles(5,6)); // 分類調(diào)用文章
$smarty->assign('class_articles_6', index_get_class_articles(6,6)); // 分類調(diào)用文章
$smarty->assign('class_articles_7', index_get_class_articles(7,6)); // 分類調(diào)用文章
$smarty->assign('class_articles_8', index_get_class_articles(8,6)); // 分類調(diào)用文章
2、在lib_goods.php增加以下函數(shù)
/**
* 獲得指定欄目最新的文章列表。
*
* @access private
* @return array
*/
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;
}
3、第二步是在index.dwt模板想調(diào)用的地方增加以下代碼,(注:以下調(diào)上面設(shè)置里的分類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}–>