ecshop 中
$_CFG數組主要是放置一些系統參數,而且全站共享的數據,在使用的時候,ecshop裏面經常以$GLOBALS['_CFG']全局變量的模式來處理。
ecshop 的$GLOBALS['_CFG'],主要是在includes/init.php中出現而且初始化,
$_CFG = load_config();
load_config()函數負責將參數取出來。
includes\lib_common.php 文件中包含了這個load_config()函數。php
/** * 載入配置信息 * * @access public * @return array */ function load_config() { $arr = array(); $data = read_static_cache('shop_config'); if ($data === false) { $sql = 'SELECT code, value FROM ' . $GLOBALS['ecs']->table('shop_config') . ' WHERE parent_id > 0'; $res = $GLOBALS['db']->getAll($sql); foreach ($res AS $row) { $arr[$row['code']] = $row['value']; } /* 對數值型設置處理 */ $arr['watermark_alpha'] = intval($arr['watermark_alpha']); $arr['market_price_rate'] = floatval($arr['market_price_rate']); $arr['integral_scale'] = floatval($arr['integral_scale']); //$arr['integral_percent'] = floatval($arr['integral_percent']); $arr['cache_time'] = intval($arr['cache_time']); $arr['thumb_width'] = intval($arr['thumb_width']); $arr['thumb_height'] = intval($arr['thumb_height']); $arr['image_width'] = intval($arr['image_width']); $arr['image_height'] = intval($arr['image_height']); $arr['best_number'] = !empty($arr['best_number']) && intval($arr['best_number']) > 0 ? intval($arr['best_number']) : 3; $arr['new_number'] = !empty($arr['new_number']) && intval($arr['new_number']) > 0 ? intval($arr['new_number']) : 3; $arr['hot_number'] = !empty($arr['hot_number']) && intval($arr['hot_number']) > 0 ? intval($arr['hot_number']) : 3; $arr['promote_number'] = !empty($arr['promote_number']) && intval($arr['promote_number']) > 0 ? intval($arr['promote_number']) : 3; $arr['top_number'] = intval($arr['top_number']) > 0 ? intval($arr['top_number']) : 10; $arr['history_number'] = intval($arr['history_number']) > 0 ? intval($arr['history_number']) : 5; $arr['comments_number'] = intval($arr['comments_number']) > 0 ? intval($arr['comments_number']) : 5; $arr['article_number'] = intval($arr['article_number']) > 0 ? intval($arr['article_number']) : 5; $arr['page_size'] = intval($arr['page_size']) > 0 ? intval($arr['page_size']) : 10; $arr['bought_goods'] = intval($arr['bought_goods']); $arr['goods_name_length'] = intval($arr['goods_name_length']); $arr['top10_time'] = intval($arr['top10_time']); $arr['goods_gallery_number'] = intval($arr['goods_gallery_number']) ? intval($arr['goods_gallery_number']) : 5; $arr['no_picture'] = !empty($arr['no_picture']) ? str_replace('../', './', $arr['no_picture']) : 'images/no_picture.gif'; // 修改默認商品圖片的路徑 $arr['qq'] = !empty($arr['qq']) ? $arr['qq'] : ''; $arr['ww'] = !empty($arr['ww']) ? $arr['ww'] : ''; $arr['default_storage'] = isset($arr['default_storage']) ? intval($arr['default_storage']) : 1; $arr['min_goods_amount'] = isset($arr['min_goods_amount']) ? floatval($arr['min_goods_amount']) : 0; $arr['one_step_buy'] = empty($arr['one_step_buy']) ? 0 : 1; $arr['invoice_type'] = empty($arr['invoice_type']) ? array('type' => array(), 'rate' => array()) : unserialize($arr['invoice_type']); $arr['show_order_type'] = isset($arr['show_order_type']) ? $arr['show_order_type'] : 0; // 顯示方式默認爲列表方式 $arr['help_open'] = isset($arr['help_open']) ? $arr['help_open'] : 1; // 顯示方式默認爲列表方式 if (!isset($GLOBALS['_CFG']['ecs_version'])) { /* 若是沒有版本號則默認爲2.0.5 */ $GLOBALS['_CFG']['ecs_version'] = 'v2.0.5'; } //限定語言項 $lang_array = array('zh_cn', 'zh_tw', 'en_us'); if (empty($arr['lang']) || !in_array($arr['lang'], $lang_array)) { $arr['lang'] = 'zh_cn'; // 默認語言爲簡體中文 } if (empty($arr['integrate_code'])) { $arr['integrate_code'] = 'ecshop'; // 默認的會員整合插件爲 ecshop } write_static_cache('shop_config', $arr); } else { $arr = $data; } return $arr; }