shopex 二次开发实战:添加仓库模块
近期在做一个shopex网店的修改,因为shopex不是完全开源,作二次开发不是很方便。网上这方面的资料也不多,这里我总结一下自己的开发过程。
这里介绍的是添加一个仓库模块,此处只介绍仓库的管理,并不涉及仓库与商品的整合部分。



1)因为后台的菜单是加密了,网上有通过用户自定义目录的方式来添加后台菜单,不过讲得不够详细,没试成功=.=
于是我直接修改后台菜单的php,文件路径为:core\include_v5\adminSchema.php
使用 dezender工具将这个文件解密。这里顺带说一下解密,如图:

选择 “解密内核3”,经测试,其他两个都不能正常解密php文件。
解密后的 adminSchema.php 文件中,有一个 $menu['goods'] 的数组,这个就是后台的‘商品’菜单组了。
然后我在’商品‘管理这一个菜单组后面添加’仓库管理‘,如下:
<{area inject=".mainHead"}> <div class="action-bar"><span class="sysiconBtn addorder" onclick="W.page('index.php?ctl=goods/warehouse&act=addNew')"><{t}>添加仓库<{/t}></span> (共有<{$house_count}>个仓库)</div> <div class='gridlist-head mainHead'> <div class='span-1' ><{t}>序号<{/t}></div><div class='span-1' ><{t}>编辑<{/t}></div><div class='span-1' ><{t}>删除<{/t}></div> <div class='span-4' ><{t}>仓库名称<{/t}></div> <div class='span-8'><{t}>说明信息<{/t}></div> <div class='span-4'><{t}>附件属性[可选]<{/t}></div> </div><{/area}><div id="cat_tree" class='gridlist'> <{foreach from=$list item=item name="item"}><div depath="<{$item.step}>" class="clear_cat row" cid="<{$item.id}>"><div class='row-line'><div class='span-1'><{$item.id}></div><div class='span-1' ><span class="opt" onClick="W.page('index.php?ctl=goods/warehouse&act=edit&p[0]=<{$item.id}>')"><{img src="images/bundle/editcate.gif" border="0" alt="编辑" }></span></div><div class='span-1'><span class="opt" onclick="deleteRow('index.php?ctl=goods/warehouse&act=deleteDo&p[0]=<{$item.id}>',event)"><{img src="images/bundle/delecate.gif" border="0" alt="删除"}></span></div> <div class='span-4'><{$item.name}></div> <div class='span-8'><{if $item.information}><{$item.information}><{else}> <{/if}></div> <div class='span-4'><{$item.data0}></div> </div></div><{/foreach}> </div><script>function deleteRow(act,event){e=$(new Event(event).stop().target); var row=e.getParent('.row'); if(confirm('您确定要删除该仓库?')){ W.page(act,{ method:'get', update:'messagebox', onComplete:function(re){ if(re.contains('successSplash')){row.remove();} } }); }}</script>view 层 可以参考原有的,因为html文件是开源的哈。至此,仓库模块已经基本完成管理的功能。再需要其他功能,可以在这上面扩展,遇到问题可以看看源码。