ecmall widgets 掛件開發詳解

2022-05-22 08:54:11 字數 2630 閱讀 7127

ecmall掛件開發

實質上是後台開發很多頁面,分別去呼叫程式展示這些頁面,達到首頁內容更換很快的目的,這樣做減少後續開發,開發人員只需開發掛件就可以了,至於位置可隨意定.(還需調整html,但是起碼後台取資料不用做了)

流程介紹:

1:ecmall模板頁面呼叫widget頁面(整個過程比較複雜)

引數:page:指明頁面是index頁面

area:指明顯示的區域。(相當於告訴程式生成的頁面是放在那裡的)

2:經過ecmall模板引擎重新生成乙個臨時php檔案,上面那句**被解析成這樣的php**。

||<?php $this->display_widgets(array('page'=>'index','area'=>'cycle_image')); ?>

3:檢視下display_widgets()方法的原始碼

/*** 檢視**函式[顯示小掛件]

** @author    garbin

* @param     array $options

* @return    void

*/function display_widgets($options)

include_once (root_path . '/includes/widget.base.php');

/* 獲取該頁面的掛件配置資訊 */

$widgets = get_widget_config ( $this->_get_template_name (), $page );

/* 如果沒有該區域 */

if (! isset ( $widgets ['config'] [$area] ))

/*將該區域內的掛件依次顯示出來 */

foreach ( $widgets ['config'] [$area] as $widget_id )

}/**

* 獲取當前使用的模板名稱

** @author    garbin

* @return    string

*/function _get_template_name()

/***    獲取指定風格,指定頁面的掛件的配置資訊

**    @author    garbin

*    @param     string $template_name

*    @param     string $page

*    @return    array

*/function get_widget_config($template_name, $page)//default index

$widgets[$key] = $tmp;

}return $widgets[$key];

}/**

*    獲取掛件例項

**    @author    garbin

*    @param     string $id

*    @param     string $name

*    @param     array  $options

*    @return    object widget

*/function &widget($id, $name, $options = array())

return $widgets[$id];

}/**

*    顯示

**    @author    garbin

*    @param    none

*    @return    void

*/function display()

/***    將取得的資料按模板的樣式輸出

**    @author    garbin

*    @return    string

*/function get_contents()

例項開發:

1:在頁面上新增要展示的頁面模組

2:修改工程目錄下/data/page_config/default.index.config.php新增該模組的相關資訊

'widgets' => 

array (

'_widget_1000' => 

array (

'name' => 'test',

'options' => 

array (

'ad_image_url' => 'data/files/mall/template/200908070207084061.gif',

'ad_link_url' => '',

),),

),'config' => 

array(

'bottom_foot' => 

array (

0 => '_widget_1000',

),),

3:在工程目錄external/widgets建name(跟上面定義的name要一致)目錄,然後再建檔案main.widget.php  

class testwidget extends basewidget

}  4:在includes/model下建模型檔案(同資料庫互動)

class testmodel extends basemodel

5:在同級目錄建立widget.html檔案(該模板為展示內容)

Javashop掛件開發

新建掛件類 com.enation.eop.demo.widget.textwidget,使此類繼承 com.enation.eop.sdk.widget.abstractwidget 並鍵入如下 public class textwidget extends abstractwidget 當掛件執...

Odoo常用掛件

widget statusbar 頭部狀態條標籤 widget email 電子郵件位址標籤 widget selection 下拉選擇標籤 widget mail followers 關注者標籤 widget mail thread 訊息標籤 widget progressbar 進度條,按百分比...

ecmall掛件開發描述

1.在模版引入 2.view解析 當前控制器的display widgets方法中根據配置項找到掛件的位置 widgets config widgets id 然後通過id去找到 widget 437 array name gcategory list new options null,name和o...