> 백엔드 개발 > PHP 튜토리얼 > ecshop新加模板当前位置和分页的链接地址不能关联有关问题

ecshop新加模板当前位置和分页的链接地址不能关联有关问题

WBOY
풀어 주다: 2016-06-13 10:25:47
원래의
1038명이 탐색했습니다.

ecshop新加模板当前位置和分页的链接地址不能关联问题
因网站里好多分类模板都不一样,所有我建了好多模版,链接地址基本都是写死的,但商品详情页和列表页这样的页面的一些链接就不好办了,还都是默认的模板的链接地址,
比如:商品列表的默认模板是category.php,我加了好多个不同的新模板category1.php、category2.php、category3.php、category4.php
这样导致的所有的模板的一些链接地址还是默认的category.php的地址,比如当前位置和分页的,实在不好解决。
拿当我位置的为例:
{$ur_here}的标签在lib_main.php文件里做的function assign_ur_here,看了下好像修改那里是不行的,

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/* 循环分类 */            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>></code> <a href="'%20.%20build_uri(%24type,%20%24args,%20%24val%5B'cat_name'%5D)%20.%20'">' .                                    htmlspecialchars($val['cat_name']) . '</a>';                }            }
로그인 후 복사

链接地址应该是靠build_uri获得的,然后我找到了lib_common.php文件里面的function build_uri
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->case 'category':            if (empty($cid))            {                return false;            }            else            {                if ($rewrite)                {                    $uri = 'category-' . $cid;                    if (isset($bid))                    {                        $uri .= '-b' . $bid;                    }                    if (isset($price_min))                    {                        $uri .= '-min'.$price_min;                    }                    if (isset($price_max))                    {                        $uri .= '-max'.$price_max;                    }                    if (isset($filter_attr))                    {                        $uri .= '-attr' . $filter_attr;                    }                    if (!empty($page))                    {                        $uri .= '-' . $page;                    }                    if (!empty($sort))                    {                        $uri .= '-' . $sort;                    }                    if (!empty($order))                    {                        $uri .= '-' . $order;                    }                }                else                {                    $uri = 'category.php?id=' . $cid;                    if (!empty($bid))                    {                        $uri .= '&brand=' . $bid;                    }                    if (isset($price_min))                    {                        $uri .= '&price_min=' . $price_min;                    }                    if (isset($price_max))                    {                        $uri .= '&price_max=' . $price_max;                    }                    if (!empty($filter_attr))                    {                        $uri .='&filter_attr=' . $filter_attr;                    }                    if (!empty($page))                    {                        $uri .= '&page=' . $page;                    }                    if (!empty($sort))                    {                        $uri .= '&sort=' . $sort;                    }                    if (!empty($order))                    {                        $uri .= '&order=' . $order;                    }                }            }
로그인 후 복사


应该是修改这段代码,可是我php不太懂,只会一般的修修改改,这里试了很多方法都没有成功。
望各位大侠指导下多谢。



------解决方案--------------------
模板是写好的架构,再改属二次开发,是有点小难度的,你得完全看懂它的实现过程才能动手,要不然可能影响了其他地方:好多种CMS都是一样的。
通常{}大括号是要替换的,例如abc.html abc.php index.php
替换文件abc.php作用是,生成替换内容,注意,里面有参数设定,你得找找看,你光在abc.html模板里修改添加一个{abc}是不会替换的
abc.php里参数中添加abc=$content2//你进去看看,里面有数组,看是怎么replace的,加个值就行
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿