网站地址:http://kpoint-fashion.com/
外部引用的类库:
基本类库:jquery
自主开发的插件:
图片横向滚动插件:imgShowXmove
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函数可以帮助我们解决问题
得到上述方法,许多二次开发的东西举一反三都可以迎刃而解了。就是写的难看点,有php功底写到模块里面就更好了。
问题:关于dede搜索功能的应用。
解答:搜索功能默认依赖两个主要文件。
plus/search.php
templets/default/search.htm
从search.php下面的代码中我们可以了解到搜索接值的逻辑
$pagesize = (isset($pagesize) && is_numeric($pagesize)) ? $pagesize : 10;
$typeid = (isset($typeid) && is_numeric($typeid)) ? $typeid : 0;
$channeltype = (isset($channeltype) && is_numeric($channeltype)) ? $channeltype : 0;
$kwtype = (isset($kwtype) && is_numeric($kwtype)) ? $kwtype : 1;
$mid = (isset($mid) && 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”> </button>
</form>
channeltype里面的13是我产品模型的id;
searchtype如果是title就是检索标题,如果是titlekeyword就是模糊搜索。