分析ecshop中ur_here.lbi的原理

2009-10-18 23:59 来源:www.chinab4c.com 作者:ecshop专家

    ecshop中,ur_here.lbi都是用来处理ecshop系统导航的.ecshop导航的所有规则,都是通过他来处理的。

 ecshop中的导航栏目,都是通过id或者是url规则,来动态生成的。而ecshop模板中的ur_here.lbi就是负责来显示该操作栏目的.

 打开includes/lib_main.php中的assign_ur_here(). $page_title = $GLOBALS['_CFG']['shop_title'] . ' - ' . 'Powered by ECShop';是用来处理ecshop页面标题的,而$ur_here    = '<a href=".">' . $GLOBALS['_LANG']['home'] . '</a>';却是用来处理操作栏目的。

  $cur_url = basename(PHP_SELF);
    if (intval($GLOBALS['_CFG']['rewrite']))
    {
        $filename = strpos($cur_url,'-') ? substr($cur_url, 0, strpos($cur_url,'-')) : substr($cur_url, 0, -4);
    }
    else
    {
        $filename = substr($cur_url, 0, -4);
    }
 作用是来取得文件名称的前缀的。比如index.php.则返回index.而通过他,可以取得对应语言好里面的语言文字信息,也可以灵活对他的url进行处理.如果是有分类的,他可以循环的读出他子类的url.

   if (!empty($cat_arr))
            {
                krsort($cat_arr);
                foreach ($cat_arr AS $val)
                {
                    $page_title = htmlspecialchars($val['cat_name']) . '_' . $page_title;
                    $args       = array($key => $val['cat_id']);
                    $ur_here   .= ' <code>&gt;</code> <a href="' . build_uri($type, $args, $val['cat_name']) . '">' .
                                    htmlspecialchars($val['cat_name']) . '</a>';
                }
            }

     以上程序是通过类别,来处理url的。

    相关文章:

   ecshop2.7增加产品购买数量限制功能

   ecshop2.7中$goods->spec属性规格

 来源:中国B4C电子商务