【项目总结】K Point Fashion

网站地址:http://kpoint-fashion.com/

外部引用的类库:

基本类库:jquery

自主开发的插件:

图片横向滚动插件:imgShowXmove

 

CMS系统:

dede织梦cms管理

 

遇到的障碍:

问题:

如果栏目为三级,如何在三级取到二级菜单的 内容。

解决:

dede本身是可以通过channel里面的type=“self”,来得到同级类别里面的数据的,但是不包含自己。

可以通过run=“php”用php的读取数据库的方式来达到目的。
{dede:field.typeid runphp="yes"}
global $dsql;
$reid = $dsql->GetOne("SELECT reid FROM kp_arctype where id=@me");
@me=$reid["reid"];
{/dede:field.typeid}

这是读取的父级id,如果会弄数据库,你可以根据数据库的字段读取自己想要的东西。
问题延伸:读取的地址带有dede标签格式怎么处理。
解答:有个MfTypedir函数可以帮助我们解决问题

<a href='”.MfTypedir($brand_info[“typedir”]).”‘ ><i></i></a>

得到上述方法,许多二次开发的东西举一反三都可以迎刃而解了。就是写的难看点,有php功底写到模块里面就更好了。

问题:关于dede搜索功能的应用。
解答:搜索功能默认依赖两个主要文件。
plus/search.php
templets/default/search.htm
从search.php下面的代码中我们可以了解到搜索接值的逻辑

 

$pagesize = (isset($pagesize) &amp;&amp; is_numeric($pagesize)) ? $pagesize : 10;
$typeid = (isset($typeid) &amp;&amp; is_numeric($typeid)) ? $typeid : 0;
$channeltype = (isset($channeltype) &amp;&amp; is_numeric($channeltype)) ? $channeltype : 0;
$kwtype = (isset($kwtype) &amp;&amp; is_numeric($kwtype)) ? $kwtype : 1;
$mid = (isset($mid) &amp;&amp; is_numeric($mid)) ? $mid : 0;</code>

if(!isset($orderby)) $orderby=”;
else $orderby = preg_replace(“#[^a-z]#i”, ”, $orderby);

if(!isset($searchtype)) $searchtype = ‘titlekeyword’;
else $searchtype = preg_replace(“#[^a-z]#i”, ”, $searchtype);

if(!isset($keyword)){
if(!isset($q)) $q = ”;
$keyword=$q;
}

$oldkeyword = $keyword = FilterSearch(stripslashes($keyword));

 

看一下dede的标签变量就很容易理解上面的变量是接受的什么值了。如果我想搜索某类别下的产品。

 

<form name=”formsearch” action=”{dede:global.cfg_cmsurl/}/plus/search.php”>
<input type=”hidden” name=”kwtype” value=”0″ />
<input type=”hidden” name=”typeid” value=”{dede:field.typeid/}” />
<input type=”hidden” name=”channeltype” value=”13″ />
<input type=”hidden” name=”searchtype” value=”title” />
<input name=”q” type=”text” class=”search-keyword” value=”” placeholder=”search” />
<button type=”submit”>&nbsp;</button>
</form>

 

channeltype里面的13是我产品模型的id;
searchtype如果是title就是检索标题,如果是titlekeyword就是模糊搜索。

发表回复