近期在做乙個shopex**的修改,因為shopex不是完全開源,作二次開發不是很方便。網上這方面的資料也不多,這裡我總結一下自己的開發過程。
這裡介紹的是新增乙個倉庫模組,此處只介紹倉庫的管理,並不涉及倉庫與商品的整合部分。
1)因為後台的選單是加密了,網上有通過使用者自定義目錄的方式來新增後台選單,不過講得不夠詳細,沒試成功=.=
於是我直接修改後台選單的php,檔案路徑為:core\include_v5\adminschema.php
使用 dezender工具將這個檔案解密。這裡順帶說一下解密,如圖:
選擇 「解密核心3」,經測試,其他兩個都不能正常解密php檔案。
解密後的 adminschema.php 檔案中,有乙個 $menu['goods'] 的陣列,這個就是後台的『商品』選單組了。
然後我在』商品『管理這乙個選單組後面新增』倉庫管理『,如下:
array( "type" => "group", "label" => __( "倉庫管理" ),其中 type="group"表示這是乙個選單組,items 就是裡面的子選單。type="menu"就是乙個可以點選的選單,如果新增target="_blank"屬性,就會以新開視窗的形式開啟選單鏈結。"items" => array(
array(
"type" => "menu", 、
"label" => __( "倉庫列表" ),
"link" => "index.php?ctl=goods/warehouse&act=index" ),
array(
"type" => "menu",
"label" => __( "新增倉庫" ),
"link" => "index.php?ctl=goods/warehouse&act=addnew")))
drop table if exists `hx_warehouse`;這裡並沒有使用 shopex 裡面的字首。create table `hx_warehouse` (
`id` int(11) not null auto_increment,
`name` varchar(200) not null,
`information` varchar(255) default null,
`disabled` enum('true','false') character set utf8 default 'false',
`data0` varchar(255) default null,
`data1` varchar(255) default null,
primary key (`id`)
) engine=innodb auto_increment=6 default charset=gbk;
shopex 也是使用mvc分層結構,其中模型層位於:core/model 和 core/model_v5 這兩個資料夾,_v5 就是php的版本在5以上時使用。
這裡的倉庫模組隸屬於商品,所以我在 core/model_v5/goods 下新建乙個 mdl.warehouse.php,注意命名格式,不然無法被檢索到這個model。
裡面為 mdl_warehouse 類,繼承於 shopobject。也可以繼承於 modelfactory,因為shopobject 也是modelfactory的子類。
如果對於 模型層這裡不是很了解,可以解密其他的 mdl 檔案來看看他們的結構。
下面是倉庫模型類:
<?php後台的controller位於:core\admin\controller/*********************/
/* */
/* dezend for php5 */
/* nws */
/* nulled.ws */
/* */
/*********************/
include_once( "shopobject.php" );
class mdl_warehouse extends shopobject
public function deletebyid($id)
public function inserthouse($data)
public function updatehouse($adata)
}?>
同樣地,我們在 goods 這個目錄下新建 ctl.warehouse.php
類中有兩個屬性:
var $workground = 'goods';**如下:var $object = 'goods/warehouse';//模型定位
<?phpview 層位於:include_once('objectpage.php');
class ctl_warehouse extends objectpage
public function addnew()
public function edit($id)
public function deletedo($id)else }
public function adddo()
$houses = &$this->system->loadmodel('goods/warehouse');
if(empty($_post['id']))else
if($r)
$this->splash('success','index.php?ctl=goods/warehouse&act=index',__($info.'倉庫成功'));
else
$this->splash('failed','index.php?ctl=goods/warehouse&act=index',__($info.'倉庫失敗')); }
/*** 設定商品倉庫
* @param unknown_type $id
*/public function count($id,$goodsname)
public function countdo($gid)
if($houses->updatehousecount($gid, $list))else }}
?>
core\admin\view
倉庫列表的html檔案:
<>view 層 可以參考原有的,因為html檔案是開源的哈。<>新增倉庫<> (共有<>個倉庫)
<>序號<>
<>編輯<>
<>刪除<>
<>倉庫名稱<>
<>說明資訊<>
<>附件屬性[可選]<>
<>
<>
" class="clear_cat row" cid="<>">
<>
')">
<>
',event)">
<>
<>
<><><> <>
<>
<>
至此,倉庫模組已經基本完成管理的功能。再需要其他功能,可以在這上面擴充套件,遇到問題可以看看原始碼。
實戰 Ueditor擴充套件二次開發
第一部分 開發前期準備 1 ueditor從1.4.1開始,新增對於二次開發的擴充套件支援。jeewx擴充套件二次開發採用1.4.3.1 jsp 版本 2 上傳設定 簡述 ue做的不夠靈活,不如老版本 1 配置檔案 ueditor jsp config.json 說明 所有專案配置訪問字首 2 引入...
實戰 Ueditor擴充套件二次開發
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!第一部分 開發前期準備 1 ueditor從1.4.1開始,新增對於二次開發的擴充套件支援。jeewx擴充套件二次開發採用1.4.3.1 jsp 版本 2 上傳設定 簡述 ue做的不夠靈活,不如老版本 1 配置檔案 ueditor jsp conf...
postek二次開發 POSTEK二次開發介面
例項簡介 例項截圖 核心 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using ...