最新文章

頁: « 1 2 3 4 5 6 7 8 9 10 »
71
ECSHOP 響應式設計的製作 / 網站為何要使用響應式設計(Responsive Web Design)
« 最新文章 由 andy 七月 15, 2019, 05:05:12 下午 »
        現在的網站沒有響應式網頁設計(Responsive Web Design)簡稱RWD,已經不能給訪客帶來親切的體驗,一般的網頁雖然能在手機上顯示,但是字體過小版面過寬的問題,造成瀏覽者必須縮不斷地縮放字體和橫向滾動版面,這樣的困擾相信多數人都遇過,然而,RWD便可以解決這個問題,RWD使用css3,以百分比的方式彈性的呈現畫面,在不同解析度下改變網頁頁面的佈局排版,讓不同的設備都可以正常瀏覽同一網站,提供最佳的視覺體驗,如果你是一個手機的重度使用者,遇到這樣的網頁必定有賓至如歸的感覺吧!

那麼使用響應式設計(Responsive Web Design)有哪修優點呢?

1、不需另外開發APP : 有些網站會另外開發APP,提供用戶下載與安裝,APP若有更新,必須再通知所有下載用戶更新,況且要說服用戶願意下載與安裝APP,必須有足夠的誘因才行。APP的開發必須有iOS版及Android版兩個版本,開發與維護的成本恐怕不是一般網站能負擔的,使用響應式設計(Responsive Web Design),因為是與WEB使用相同的自適應網頁,所以用戶不需下載與安裝APP,網站也不需另外負擔開發與維護APP的成本,管理者只需一如往常的維護更新網站,消費者每次連上網頁都會是最新版本。免費Wi-Fi熱點越來越多,只要你的商品具有獨特性,加上使用響應式設計(Responsive Web Design),訂單自然持續成長...

2、品牌形象一致 : 消費者不管使用手機、平板或PC瀏覽你的網站,所看到的內容與功能是一樣的,不會產生不同設備不同介面的窘境,或是在PC上找不到手機瀏覽過的網頁了,管理者也不需要增加多餘的維護時間和成本,便能同時更新網頁內容並保持其一致性...

3、利於搜尋引擎搜索與分享 : 行動裝置的搜尋功能還是以搜尋網頁為主,因此使用者輸入關鍵字時找到的仍是網頁網址,這表示使用者還是會看到網頁介面而不是APP介面,如果頁面不是用響應式設計(Responsive Web Design),使用者就不容易找到想要的內容,反而容易造成觀感不佳... 有些人喜歡在網頁上加上分享按鈕,這些按鈕如果是手機分享的,分享出的網址通常都是手機版網頁的網址,當訪客用電腦開啟連結時,卻不見得會轉回電腦版網站。同樣的網頁內容拆成電腦版、手機版兩個網址,按讚數、流量分析等也會跟著拆成兩筆數據,對SEO來說非常不利響應式設計(Responsive Web Design),就沒有這個問題,分享出去的都是同一個網址,自然排名就會日益提昇...

盡管如此,響應式設計(Responsive Web Design)在PC端還是存在某些缺點,例如 IE7 以下不支援,但是現在用 IE7 的人應該不多了,許多大網站也不支援 IE7 囉。還有像某些效果無法像APP那麼酷炫。在手機端則是有載入速度慢與無法離線閱讀的問題,雖然做到圖片載入的優化,但總體來講,讀取速度仍然不及PC,但作為購物網站來說,還是利多於弊...

要製作一個具有響應式設計(Responsive Web Design)功能的網站並不容易,尤其是線上購物網站,除了圖片、功能多,要顯示的項目硬是比一般網站多出很多,如何利用有限空間做最大畫的顯示,的確有其難度,這也是為什麼目前還有很多網站沒有使用響應式設計(Responsive Web Design)。

如果你的網站是分成手機版和網頁版的話,建議盡早採用響應式設計(Responsive Web Design)來作為網站前台,除了可節省可觀的維護成本與時間外,還可以提昇訪客的體驗,為網站帶來更多實質利益...
72
ECShop 二次開發、PHP網站製作分享 / ECSHOP 模版調用詳解( 下)
« 最新文章 由 andy 七月 15, 2019, 03:01:57 下午 »
在 ECSHOP 的版型中模版(dwt) 要調用樣版(.lbi) 可以使用<!-- #BeginLibraryItem "/library/*****.lbi" --><!-- #EndLibraryItem -->的方式來調用,若是在 lbi 要調用 lbi 就要使用 {include file='library/load.lbi'} 才能順利調用,如果是模版中的資料夾,如:css、js或圖片檔,容易產生路徑錯誤的問題,因此調用時建議以絕對路徑來設定路徑,如:themes/<strong>模版</strong>名稱/css/檔案名稱.css、themes/模版名稱/js/檔案名稱.js、themes/模版名稱/images/檔案名稱.jpg 等...

有些時候會將css或Javascript直接寫在檔案中,這時候就必須注意標籤的書寫方式,除了 smarty 的標籤外,其餘的 { 和 } 不可以寫在同一行,否則會被當成 smarty 的標籤解析,而 smarty 的普通標籤是不會顯示錯誤的...

因為jquery可以給網站增加一些動態效果,所以或多或少都會用到jquery庫,同樣是jquery版本確有好幾個,因此也容易產生jquery版本衝突的問題,在版本不多的情況下,讓較舊的版本最後載入就可以解決,另外使用 jruery 的命名空間是比較好的方式,例如:
<script type="text/javascript" src="{$template_dir}js/jquery1.4.2.min.js"></script>
<script type="text/javascript">
    var jquery_142 = jquery.noConflict(true);
</script>

<script type="text/javascript" src="{$template_dir}js/jquery1.6.2.min.js"></script>
<script type="text/javascript">
    var jquery_162 = jquery.noConflict(true);
</script>

<script type="text/javascript" src="{$template_dir}js/jquery1.7.2.min.js"></script>
<script type="text/javascript">
    var jquery_172 = jquery.noConflict(true);
</script>

<script type="text/javascript" src="{$template_dir}js/jquery1.8.3.min.js"></script>
<script type="text/javascript">
    var jquery_183 = jquery.noConflict(true);
</script>

這樣一來就不會有衝突的問題了...
73
ECShop 二次開發、PHP網站製作分享 / ECSHOP 模版調用詳解(上)
« 最新文章 由 andy 七月 14, 2019, 06:22:54 下午 »
ECSHOP 的版型分為模版(dwt)與樣版(.lbi),兩者都是html內容,其中包含許多由php程式傳過來的樣版標籤,但是不論html或是樣版標籤在模版(dwt)與樣版(.lbi)之間都是相通的,而樣版是將一些可以共用的區塊獨立出來,可以同時提供給多個dwt調用,就像page_header.lbi一樣,是每個頁面共用的頭部,因此在修改版面時,只需更改 page_header.lbi 一個檔案,所有頁面的頭部便隨之更改,這樣是不是很方便...

一個 dwt 可以包含多個 lbi,而 dwt 用來負責整體頁面的佈局並提供樣版的動態佈局,只會使用一次的程式碼也會直接寫在 dwt 中,而 dwt 有 { 和 } 包圍的字串就是樣版引擎的變數,你可以因應需要隨意移動位置,但是不能隨意更改其內容,否則將導致顯示錯誤,對於不想顯示的標籤建議使用smarty的註解方式({*樣版引擎的變數*}),而不是直接刪除...

接下來以 index.dwt 為例,說明模版檔中應該如何調用樣版(省略html標籤):
代碼: [選擇]
{$keywords} 網站關鍵字
{$description} 網頁描述
{$page_title} 頁面標題
{$ecs_css_path} 樣式表檔案路徑
{insert_scripts files='common.js,index.js'} 載入javascript(相對於根目錄的js資料夾)
<!-- #BeginLibraryItem "/library/page_header.lbi" --><!-- #EndLibraryItem -->包含頁首樣版檔(相對於模版目錄)
{$shop_notice} 網站公告
可編輯區域,裡面的樣版檔,都可以在後台的模版設置中任意指定位置,當存檔時,此區域的內容也會被重寫...
<!-- TemplateBeginEditable name="左邊區域" -->
<!-- #BeginLibraryItem "/*****.lbi" --><!-- #EndLibraryItem -->
<!-- #BeginLibraryItem "/library/category_tree.lbi" --> <!-- #EndLibraryItem --> 產品分類
<!-- #BeginLibraryItem "/library/top10.lbi" --><!-- #EndLibraryItem --> 銷售排行
<!-- #BeginLibraryItem "/library/promotion_info.lbi" --><!-- #EndLibraryItem --> 特價資訊
<!-- #BeginLibraryItem "/library/order_query.lbi" --><!-- #EndLibraryItem --> 訂單查詢
<!-- #BeginLibraryItem "/library/invoice_query.lbi" --><!-- #EndLibraryItem --> 出貨單差尋
<!-- #BeginLibraryItem "/library/vote_list.lbi" --><!-- #EndLibraryItem --> 線上投票
<!-- #BeginLibraryItem "/library/email_list.lbi" --><!-- #EndLibraryItem --> 郵件訂閱
<!-- TemplateEndEditable -->
結束可編輯區域

<!-- #BeginLibraryItem "/library/index_ad.lbi" --><!-- #EndLibraryItem --> 首頁主廣告

<!-- TemplateBeginEditable name="站內快訊上廣告位(寬:210px)" -->
<!-- TemplateEndEditable -->

<!-- #BeginLibraryItem "/library/new_articles.lbi" --><!-- #EndLibraryItem --> 最新消息
<!-- #BeginLibraryItem "/library/recommend_promotion.lbi" --><!-- #EndLibraryItem --> 今日特價
<!-- #BeginLibraryItem "/library/brands.lbi" --><!-- #EndLibraryItem -->品牌

<!-- TemplateBeginEditable name="右邊主區域" -->
<!-- #BeginLibraryItem "/library/recommend_best.lbi" --><!-- #EndLibraryItem -->精品
<!-- #BeginLibraryItem "/library/recommend_new.lbi" --><!-- #EndLibraryItem -->新品
<!-- #BeginLibraryItem "/library/recommend_hot.lbi" --><!-- #EndLibraryItem -->熱賣
<!-- #BeginLibraryItem "/library/auction.lbi" --><!-- #EndLibraryItem -->拍賣商品
<!-- #BeginLibraryItem "/library/group_buy.lbi" --><!-- #EndLibraryItem -->團購
<!-- TemplateEndEditable -->

<!-- #BeginLibraryItem "/library/help.lbi" --><!-- #EndLibraryItem -->商店幫助
<!-- #BeginLibraryItem "/library/links.lbi" --><!-- #EndLibraryItem -->友情連結
<!-- #BeginLibraryItem "/library/page_footer.lbi" --><!-- #EndLibraryItem -->底部樣版
從上面的說明可以看出一個dwt是包含了多個lbi的,所以在修改模版時,只需修改lbi就可以讓整個網站包含此樣版的頁面同時更改,除非需要更改佈局,否則盡量不修改dwt,因為一旦更改了佈局,可能同時造成多處版面異位,導致牽一髮動全身的後果,即使非改不可,也應注意可編輯區域,才不至於徒勞無功.

本站對於加入VIP的 虛擬主機會員提供了模版的局部修改協助,請多加利用,如果你在修改模版或使用 虛擬主機過程中遇到問題,除了寫信給我(andy@we-shop.net),也可以在 討論區發問....
74
ECShop 二次開發、PHP網站製作分享 / ecshop page_footer.lbi 詳解
« 最新文章 由 andy 七月 14, 2019, 05:53:02 下午 »
page_footer.lbi 與 page_header.lbi 一樣,被每一個模板頁調用,修改了這個樣版檔,整個網站的頁尾部分也會跟著更改,樣版中包含:
底部導航
代碼: [選擇]
   <!-- {if $navigator_list.bottom} -->
   <!-- {foreach name=nav_bottom_list from=$navigator_list.bottom item=nav} -->
        <a href="{$nav.url}" <!-- {if $nav.opennew eq 1} --> target="_blank" <!-- {/if} -->>{$nav.name}</a>
        <!-- {if !$smarty.foreach.nav_bottom_list.last} -->
           -
        <!-- {/if} -->
      <!-- {/foreach} -->
  <!-- {/if} -->
 
你也可以把程式碼獨立出來做為一個新樣版,如: bottom_nav.lbi ,然後在任何想顯示的地方用 {include file='library/bottom_nav.lbi'} 來調用,這樣就會更有靈活度,以後維護起來也會很方便

接著就是網站資訊
 {$copyright} 網站名稱(系統設定)與版權
 {$shop_address} {$shop_postcode} 網站地址
{$service_phone} 客服電話
{$service_email} 客服郵件

QQ 號碼 {$qq}
淘寶旺旺 {$ww}
Yahoo Messenger {$ym}
MSN Messenger {$msn}
Skype {$skype}
ICP 證書{$icp_number}

{insert name='query_info'} 網站資訊(資料庫查詢次數與時間,線上人數,Gzip狀態,佔用內存狀態...)
{$lang.p_y} ecshop的連結與版本資訊
{$stats_code} 統計代碼
{$feed_url} RSS網址

QQ 號碼 、淘寶旺旺 、ICP 證書等...,如果沒有使用,建議直接刪除程式碼...
像是浮動客服之類的javascript,因為整個網站都會用到,可以直接加在這裡
75
ECShop 二次開發、PHP網站製作分享 / ecshop 商品搜尋表單詳解
« 最新文章 由 andy 七月 14, 2019, 05:39:02 下午 »
ecshop 頂部有個商品搜尋表單,用來搜尋網站內的商品,但預設搜尋時並不包含商品描述,如果你希望包含商品描述一起搜尋的話,請編輯search.php約201行將
$sc_dsad    = $_REQUEST['sc_ds'] ? " OR goods_desc LIKE '%$val%'" : '';
改為
$sc_dsad    = " OR goods_desc LIKE '%$val%'";
即可
 
商品搜尋表單除了搜尋框、進階搜尋,還可根據事先設定好的關鍵字進行搜尋

 
 
 
代碼: [選擇]
  <div class="keys f_l">
   <script type="text/javascript">
    {literal}
    <!--
    function checkSearchForm()
    {
        if(document.getElementById('keyword').value)
        {
            return true;
        }
        else
        {
            alert("{$lang.no_keywords}");
            return false;
        }
    }
    -->
    {/literal}
    </script>
        如果後臺沒有設置搜尋關鍵字則不會顯示
    {if $searchkeywords}
   {$lang.hot_search} :
   {foreach from=$searchkeywords item=val}
   <a href="search.php?keywords={$val|escape:url}">{$val}</a>
   {/foreach}
   {/if}
  </div>
 
你可以對搜尋表單自訂義配置
代碼: [選擇]
  <form id="searchForm" name="searchForm" method="get" action="search.php" onSubmit="return checkSearchForm()" class="f_r"  style="_position:relative; top:5px;">
    按照指定分類搜尋的下拉選單
   <select name="category" id="category" class="B_input">
      <option value="0">{$lang.all_category}</option>
      {$category_list}
    </select>
 
   <input name="keywords" type="text" id="keyword" value="{$search_keywords|escape}" class="B_input" style="width:110px;"/>
   <input name="imageField" type="submit" value="" class="go" style="cursor:pointer;" />
   <a href="search.php?act=advanced_search">{$lang.advanced_search}</a>
   </form>
   
   
76
ECShop 二次開發、PHP網站製作分享 / ecshop 中間導航
« 最新文章 由 andy 七月 14, 2019, 05:30:20 下午 »
對每個網站來說都很重要,ecshop 的中間導航位於 library/page_header.lbi 內,程式碼類似:
代碼: [選擇]
<div id="mainNav" class="clearfix">
 <a href="../index.php"{if $navigator_list.config.index eq 1} class="cur"{/if}>{$lang.home}<span></span></a>
 <!-- {foreach name=nav_middle_list from=$navigator_list.middle item=nav} -->
 <a href="{$nav.url}" {if $nav.opennew eq 1}target="_blank" {/if} {if $nav.active eq 1} class="cur"{/if}>{$nav.name}<span></span></a>
 <!-- {/foreach} -->
</div>
和頂部導航一樣,你也可以把程式碼獨立出來做為一個新樣版,如: mainNav.lbi ,然後在 library/page_header.lbi 用 {include file='library/mainNav.lbi'} 來調用,這樣 library/page_header.lbi 的程式碼就會顯得更簡潔,以後維護起來也會很方便,由於中間導航的選單項目可能偏多,很多人會不熄修改php來做成下拉式選單,但這並不是好方法,除了造成升級困擾安全性隱憂,也會增加資伺服器的負擔,但是沒有使用下拉式選單真的很不方便,因此建議在網站選單固定後,改成靜態網頁

下面提供下拉選單的程式碼:
代碼: [選擇]
<?php
function get_subcate_byurl($url)
{
  
$rs strpos($url,"category");
  if(
$rs!==false)
  {
    
preg_match("/\d+/i",$url,$matches);
    
$cid $matches[0];
    
$cat_arr = array();
    
$sql "select * from ".$GLOBALS['ecs']->table('category')." where parent_id=".$cid." and is_show=1";
    
$res $GLOBALS['db']->getAll($sql);
    
    foreach(
$res as $idx => $row)
    {
      
$cat_arr[$idx]['id'] = $row['cat_id'];
          
$cat_arr[$idx]['name'] = $row['cat_name'];
          
$cat_arr[$idx]['url'] = build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']);
      
$cat_arr[$idx]['children'] = get_clild_list($row['cat_id']);
    }

    return 
$cat_arr;
  }
  else 
  {
    return 
false;
  }
}

function 
get_clild_list($pid)
{
 
//开始获取子分类
  
$sql_sub "select * from ".$GLOBALS['ecs']->table('category')." where parent_id=".$pid." and is_show=1";

  
$subres $GLOBALS['db']->getAll($sql_sub);
  if(
$subres)
  {
    foreach (
$subres as $sidx => $subrow)
    {
      
$children[$sidx]['id']=$subrow['cat_id'];
      
$children[$sidx]['name']=$subrow['cat_name'];
      
$children[$sidx]['url']=build_uri('category', array('cid' => $subrow['cat_id']), $subrow['cat_name']);
    }
  }
  else 
  {
    
$children null;
  }
      
  return 
$children;
}

?>

<div id="header-menu" class="block">
<p {if $navigator_list.config.index eq 1} class="cur" {/if}><a href="../index.php">{$lang.home}</a></p>
<ul>
<!-- {foreach name=nav_middle_list from=$navigator_list.middle item=nav} -->
<li onMouseOver="sw_nav(this,1);" onMouseOut="sw_nav(this,0);" {if $nav.active eq 1} class="curs"{/if}><a href="{$nav.url}" {if $nav.opennew eq 1}target="_blank" {/if}>{$nav.name}</a>
<?php
$subcates 
get_subcate_byurl($GLOBALS['smarty']->_var['nav']['url']);
if(
$subcates!=false){
if(
count($subcates)>0){
echo 
"<div class='sub_nav'>";
if(
$subcates){
foreach(
$subcates as $cate){
echo 
"<a href='".$cate['url']."' class='level_1'>".$cate['name']."</a>";

}
}
echo 
"</div><div class='nomask'></div>";
}
}
?>

</li>
<!-- {/foreach} -->
</ul>
</div>
<script type="text/javascript">
//初始化主菜單
function sw_nav(obj,tag){
var subdivs = obj.getElementsByTagName("DIV");
var ifs = obj.getElementsByTagName("IFRAME");
if(subdivs.length>0){
if(tag==1){
subdivs[0].style.display = "block";
ifs[0].style.display = "block";
} else {
subdivs[0].style.display = "none";
ifs[0].style.display = "none";
}
}
}
</script>
<style type="text/css">
  /*頁面主導航*/
#header-menu{padding:0 25px; width:910px;overflow:hidden;}
#header-menu p, #header-menu ul li{float:left;}
#header-menu ul li a,#header-menu p a{background:url(images/coffee/NavBg.gif) no-repeat 0 -29px; color: #666;display:block;text-decoration:none;line-height:25px;padding:0 10px;}
#header-menu ul li a:hover,#header-menu p a:hover{color:#333;background:url(images/middle_hover.gif);}
#header-menu ul li.curs a{color:#f00;background:url(images/middle_bg.gif);}
/*子選單*/
.sub_nav{ background:#ccc url(images/middle_bg.gif);min-width:100px;height:auto;line-height:30px; position:absolute; z-index:5003; display:none;}
.nomask{ position:absolute; z-index:5002;display:none;margin-left:-12px;height:25px;}
/*使用垂直選單請將 float:left; 註解掉*/
.sub_nav a.level_1{ float:left;display:block;padding:6px 6px 6px 13px;font:11px Tahoma,Verdana,PMingLiU,Arial;border-bottom:1px dotted #D1D1D1;*border-bottom:1px dotted #D1D1D1 !important;*border-bottom:1px solid #A8A8A8;text-decoration:none;background:url(images/middle_atv.gif);}
.sub_nav a.level_1:hover{text-decoration:none;}
</style>
77
ECShop 二次開發、PHP網站製作分享 / ecshop 頂部導航詳解
« 最新文章 由 andy 七月 14, 2019, 05:19:05 下午 »
原本的 ecshop 頂部導航位於 library/page_header.lbi 內,程式碼類似 :
代碼: [選擇]
<!--{if $navigator_list.top}-->
 <li id="topNav" class="clearfix">
 <!-- {foreach name=nav_top_list from=$navigator_list.top item=nav} -->
 <a href="{$nav.url}" <!-- {if $nav.opennew eq 1} --> target="_blank" <!-- {/if} -->>{$nav.name}</a>
 <!-- {if !$smarty.foreach.nav_top_list.last} -->
 |
 <!-- {/if} -->
 <!-- {/foreach} -->
 <div class="topNavR"></div>
 </li>
 <!-- {/if} -->
對於smarty標籤的解釋如下:
{if $navigator_list.top} 判斷是否有頂部導航
{foreach name=nav_top_list from=$navigator_list.top item=nav} 用迴圈循環列出所有頂部導航
{$nav.url} 頂部導航連結網址
{if $nav.opennew eq 1} 是否開新視窗
{$nav.name}頂部導航名稱
{if !$smarty.foreach.nav_top_list.last} 是否為最後一個頂部導航

有{}標籤包起來的就是smarty變數,不要隨意更改,用<>包起來的是html標籤,可以根據自己的版面配置隨意修改,如果不小心修改了smarty標籤導致樣版解析錯誤時,就會顯示類似下列的錯誤訊息:
Warning: array_pop() [function.array-pop]: The argument should be an array in D:\AppServ\www\ec273\includes\cls_template.php on line 387

Parse error: syntax error, unexpected T_ENDFOREACH in D:\AppServ\www\ec273\includes\cls_template.php(1161) : eval()'d code on line 23

你也可以把程式碼獨立出來做為一個新樣版,如: top_nav.lbi ,然後在 library/page_header.lbi 用 {include file='library/top_nav.lbi'} 來調用,這樣 library/page_header.lbi 的程式碼就會顯得更簡潔,其他像搜尋、中間導航都可以這麼做...
78
ECShop 二次開發、PHP網站製作分享 / ecshop 快速登入&會員登入詳解
« 最新文章 由 andy 七月 14, 2019, 05:08:17 下午 »
        原本的 ecshop 會員登入都是先進入登入頁面,因此有些模板會將它改成直皆可輸入帳號密碼的介面,訪客可以直接登入,而不需先進入登入頁面




ecshop 會員登入的頁面是在 library/page_header.lbi ,然後透過 insert 動態的貨得訪客的登入訊息,再經由 library/member_info.lbi 顯示出來,因為每個模板頁面都會加入 library/page_header.lbi ,因此凡是放在 library/page_header.lbi 內的元素,都可已顯示在每個頁面,打開 library/member_info.lbi ,原本的程式碼可能像這樣(依使用模板而定):
代碼: [選擇]
{if $user_info}
<font style="position:relative; top:10px;">
{$lang.hello},<font class="f4_b">{$user_info.username}</font>, {$lang.welcome_return}!
<a href="user.php">{$lang.user_center}</a>|
<a href="user.php?act=logout">{$lang.user_logout}</a>
</font>
{else}
{$lang.welcome}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
<a href="user.php"><img src="images/bnt_log.gif" /></a>
<a href="user.php?act=register"><img src="images/bnt_reg.gif" /></a>
{/if}
改成
代碼: [選擇]
{if $user_info}
<font><b>{$user_info.username}</b>&amp;nbsp;{$lang.hello}&amp;nbsp;{$lang.welcome_return}!</font>
<a href="user.php">{$lang.edit_user_info}</a>
<a href="user.php?act=logout">{$lang.user_logout}</a>
{else}
{insert_scripts files='transport.js'}
<form id="ECS_LOGINFORM" name="ECS_LOGINFORM" method="post" action="">
帳號: <input name="username" type="text" class="UserInput" size="10" tabindex="1" value="{$ecs_username|escape}" />
 密碼: <input name="password" type="password" size="10" tabindex="2" />
 <!-- 判斷是否啟用驗證碼{if $enabled_captcha} -->
<img src="captcha.php?is_login=1&amp;{$rand}" alt="captcha" style="vertical-align: middle;cursor: pointer;" onClick="this.src='captcha.php?is_login=1&amp;'+Math.random()" />&amp;nbsp;&amp;nbsp;<input type="text" size="4" name="captcha" value="{$lang.comment_captcha}" onfocus="if (this.value=='{$lang.comment_captcha}')this.value=''" onblur="if (this.value=='')this.value='{$lang.comment_captcha}'" class="UserInput" style="width:60px;" />
<!--{/if}-->
 <a href="javascript:void(0);" onclick="signIn()">登入</a>
 <a id="header_UserRegister" href="user.php?act=register">註冊</a>
</form>
{literal}
<script type="text/javascript">
/**
* 會員登錄
*/
function signIn()
{
 var frm = document.forms['ECS_LOGINFORM'];

 if (frm)
 {
 var username = frm.elements['username'].value;
 var password = frm.elements['password'].value;
 var captcha = '';
 if (frm.elements['captcha'])
 {
 captcha = frm.elements['captcha'].value;
 }

 if (username.length == 0 || password.length == 0)
 {
 alert("{$lang.empty_username_password}");
 return;
 }
 else
 {
 Ajax.call('user.php?act=signin', 'username=' + username + '&amp;password=' + encodeURIComponent(password) + '&amp;captcha=' + captcha, signinResponse, "POST", "TEXT");
 }
 }
 else
 {
 alert('Template error!');
 }
}

function signinResponse(result)
{
 var userName = document.forms['ECS_LOGINFORM'].elements['username'].value;
 var mzone = document.getElementById("ECS_MEMBERZONE");
 var res = result.parsejsON();

 if (res.error > 0)
 {
 // 登錄失敗
 alert(res.content);
 if(res.html)
{
 mzone.innerhtml = res.html;
 document.forms['ECS_LOGINFORM'].elements['username'].value = userName;
}
 }
 else
 {
 if (mzone)
 {
 mzone.innerhtml = res.content;
 evalscript(res.ucdata);
 }
 else
 {
 alert("Template Error!");
 }
 }
}
</script>
{/literal}
{/if}

{if $user_info}如果是登入會員
{$user_info.username} 會員帳號
{$lang.hello}  {$lang.welcome_return} 歡迎詞
{$lang.edit_user_info} 會員中心
{$lang.user_logout} 登出
{else}
{insert_scripts files='transport.js'} 導入javascript檔案
{$ecs_username|escape} 帳號
{if $enabled_captcha} 判斷是否啟用驗證碼
完成之後外觀因模板的關係,或多或少都需要修改一下[strong]html[/strong]...
79
ECSHOP 響應式設計的製作 / 如何更換 ecshop logo 格式
« 最新文章 由 andy 七月 14, 2019, 04:43:12 下午 »
ecshop logo 的預設格式為GIF,正常情況下直接從後台上傳即可


但有時候你會直接上傳到模板的 images 目錄,同時更改為其他格式,如 jpg 或 png ,這時候你需要編輯模板目錄的 library/page_header.lbi 內的程式碼將


代碼: [選擇]
    <a href="../index.php" name="top"><img src="images/logo.gif" />[/url]

其中的 logo.gif 改為你的 logo 檔名
例如 logo.png 或其他..

另外,有些模板會限制 logo 的大小。你可能需要稍作調整才能符合需求
通常 logo 的 css 設定會用 class="logo" 或 id="logo"
你可以在模板目錄的 style.css 找到相關的設定如
.logo 或 #logo
width:250px;寬度 px 是像素
height:auto; 高度可設為自動
overflow:hidden;可防止元素重疊
margin:10px;logo 的邊距
當然你也可以自己增加或減少CSS的屬性...
80
ECShop 模板修改、調整 / 分享jquery滾動選單原始碼
« 最新文章 由 andy 七月 13, 2019, 05:09:02 下午 »
如果你的網站選單已經固定,而且可以使用jquery的話,那麼這個選單可以為網站版面加分不少,你必須修改圖片和程式碼來符合你的需求...
附件是已經在一般環境下測試過的原始檔
但未曾套用於ecshop上
若是你成功用於ecshop上歡迎分享!

頁: « 1 2 3 4 5 6 7 8 9 10 »