ecshop學習四

1.ecshop的主體結構
<script type="Text/Javascript" language="JavaScript">
<!--
{literal}
if (window.top != window)
{
  window.top.location.href = document.location.href;
}
{/literal}
//-->
</script>

<frameset rows="76,*" framespacing="0" border="0">
  <frame src="index.php?act=top" id="header-frame" name="header-frame" frameborder="no" scrolling="no">
  <frameset cols="180, 10, *" framespacing="0" border="0" id="frame-body">
    <frame src="index.php?act=menu" id="menu-frame" name="menu-frame" frameborder="no" scrolling="yes">
    <frame src="index.php?act=drag" id="drag-frame" name="drag-frame" frameborder="no" scrolling="no">
    <frame src="index.php?act=main" id="main-frame" name="main-frame" frameborder="no" scrolling="yes">
  </frameset>
</frameset>
  <frameset rows="0, 0" framespacing="0" border="0">
  <frame src="http://api.ecshop.com/record.php?mod=login&url={$shop_url}" id="hidd-frame" name="hidd-frame" frameborder="no" scrolling="no">
  </frameset>

  

top表示最頂級的窗口,也就是最外層的窗口。若是一個大窗口中嵌套了幾個小窗口,那麼在小窗口中使用top就表示最外面的大窗口,就是這個意思了。

  

<li><a href="javascript:window.top.frames['main-frame'].document.location.reload();window.top.frames['header-frame'].document.location.reload()">{$lang.refresh}</a></li>
刷新     

 

document 表示的是一個文檔對象,windows 表示一個窗口對象。 
一個窗口下面能夠有不少的document對象。每一個document 都有 一個URL。 

可是,這不是全部的區別。當你ctrl + F5 一個連接 http://www.jb51.net/#server 
打印 alert(document.URL ); 和 alert(windows.location.href); 
發現,這兩個的值不同, 

document.URL : http://www.jb51.net/ 
windows.location.href :http://www.jb51.net/#server 

因此,若是要用 fragment 進行相應的處理的話,最好是用 windows.location.href 
不然會出現很奇怪的錯誤。

  

 

2.ecshop的地區,支付方式,配送方式

    $smarty->assign('countries', get_regions());
    $smarty->assign('provinces', get_regions(1, 1));
    $smarty->assign('cities', get_regions(2, 2));
  

function get_regions($type = 0, $parent = 0)
{
    $sql = 'SELECT region_id, region_name FROM ' . $GLOBALS['ecs']->table('region') .
            " WHERE region_type = '$type' AND parent_id = '$parent'";

    return $GLOBALS['db']->GetAll($sql);
}
  

//獲取配送方式
    $directory = ROOT_PATH . 'includes/modules/shipping';
    $dir = @opendir($directory);
    $set_modules = true;
    $modules = array();

    while (false !== ($file = @readdir($dir))) {
        if (preg_match("/^.*?\.php$/", $file)) {


            if ($file != 'express.php') {

                include_once($directory . '/' . $file);
            }
        }
    }
    @closedir($dir);
    unset($set_modules);

    foreach ($modules AS $key => $value) {
        ksort($modules[$key]);
    }
    ksort($modules);
  
相關文章
相關標籤/搜索