因网站里好多分类模板都不一样,所有我建了好多模版,链接地址基本都是写死的,但商品详情页和列表页这样的页面的一些链接就不好办了,还都是默认的模板的链接地址,
比如:商品列表的默认模板是category.php,我加了好多个不同的新模板category1.php、category2.php、category3.php、category4.php
这样导致的所有的模板的一些链接地址还是默认的category.php的地址,比如当前位置和分页的,实在不好解决。
拿当我位置的为例:
{$ur_here}的标签在lib_main.php文件里做的function assign_ur_here,看了下好像修改那里是不行的,/* 循环分类 */
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="' . build_uri($type, $args, $val['cat_name']) . '">' .
htmlspecialchars($val['cat_name']) . '</a>';
}
}链接地址应该是靠build_uri获得的,然后我找到了lib_common.php文件里面的function build_uri
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不太懂,只会一般的修修改改,这里试了很多方法都没有成功。
望各位大侠指导下多谢。
比如:商品列表的默认模板是category.php,我加了好多个不同的新模板category1.php、category2.php、category3.php、category4.php
这样导致的所有的模板的一些链接地址还是默认的category.php的地址,比如当前位置和分页的,实在不好解决。
拿当我位置的为例:
{$ur_here}的标签在lib_main.php文件里做的function assign_ur_here,看了下好像修改那里是不行的,/* 循环分类 */
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="' . build_uri($type, $args, $val['cat_name']) . '">' .
htmlspecialchars($val['cat_name']) . '</a>';
}
}链接地址应该是靠build_uri获得的,然后我找到了lib_common.php文件里面的function build_uri
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不太懂,只会一般的修修改改,这里试了很多方法都没有成功。
望各位大侠指导下多谢。
通常{}大括号是要替换的,例如abc.html abc.php index.php
替换文件abc.php作用是,生成替换内容,注意,里面有参数设定,你得找找看,你光在abc.html模板里修改添加一个{abc}是不会替换的
abc.php里参数中添加abc=$content2//你进去看看,里面有数组,看是怎么replace的,加个值就行
思路是,对index.php的访问,会调用abc.php,生成所需内容,将abc.html模板中的{}替换为新内容,返回index
我写模板就是这样的,希望能帮助到一点点