你媽BB蛋-OPENCART30-模組-啟用規則是誰訂的

#FB登入功能 只有 在2個資料庫有多資料 在2.0這樣就會出現在面版選單, 但是3.0卻不行-3.0說沒啟用 原因facebook_status 要改 module_facebook_status

然後功能啟用名又必須是module_$code_status 那不就變相規定模組名子就要叫module_$code //只好自己破除這個限制

#模組是否啟用 `oc_setting` 一個值 但外圍為何會讀取狀態錯誤
———————————–
SELECT * FROM `oc_setting` 裡面 啟用 名 module_facebook_status
———————————–
模組是否啟用 是從哪判斷
———————————–
———————————–
#功能擴充模組-真正-版面位置
———————————–
http://o06.test.com/admin/index.php?route=marketplace/extension&user_token=Afx8XdVY164nB85KibL6b78EM7ikK1w5
D:\wamp\www\o06\admin\view\template\marketplace\extension.twig #這只是外圍功能擴充模組 (17)#內容在這

{{ module.status }}

D:\wamp\www\o06\admin\view\template\extension\extension\module.twig
D:\wamp\www\o06\admin\controller\extension\extension\module.php
‘status’ => (isset($setting_info[‘status’]) && $setting_info[‘status’]) ? $this->language->get(‘text_enabled’) : $this->language->get(‘text_disabled’),
方法有2
方法一
‘status’ => $this->config->get(‘module_’ . $extension . ‘_status’) ? $this->language->get(‘text_enabled’) : $this->language->get(‘text_disabled’),
在 SELECT * FROM `oc_setting` WHERE code =’facebook’ 中
(179, 0, ‘facebook’, ‘facebook_status’, ‘1’, 0), 改成 (179, 0, ‘facebook’, ‘module_facebook_status’, ‘1’, 0)

方法2 讀資料庫來
$query = $this->db->query(“SELECT * FROM `” . DB_PREFIX . “module` WHERE `code` = ‘” . $this->db->escape($code) . “‘ ORDER BY `name`”);
SELECT * FROM `oc_module` 這裡有資料才是啟用
手動增加-這是其中一個方法
INSERT INTO `oc_module` (`module_id`, `name`, `code`, `setting`) VALUES(NULL, ‘FB登入&註冊’, ‘facebook’, ‘{“status”:”1″}’)
———————————–
#FB登入功能 只有 在2個資料庫有多資料 在2.0這樣就會出現在面版選單, 但是3.0卻不行-3.0說沒啟用 原因facebook_status 要改 module_facebook_status
———————————–
SELECT * FROM `oc_extension` WHERE code =’facebook’ 模塊擴展
INSERT INTO `oc_extension` (`extension_id`, `type`, `code`) VALUES
(29, ‘module’, ‘facebook’);
————————————-
SELECT * FROM `oc_setting` WHERE code =’facebook’
INSERT INTO `oc_setting` (`setting_id`, `store_id`, `code`, `key`, `value`, `serialized`) VALUES
(177, 0, ‘facebook’, ‘facebook_apikey’, ‘12345’, 0),
(178, 0, ‘facebook’, ‘facebook_apisecret’, ‘12345’, 0),
(179, 0, ‘facebook’, ‘facebook_status’, ‘1’, 0),
(180, 0, ‘facebook’, ‘facebook_button_1’, ”, 0);

目錄 catalog/controller/facebook 不允許被寫入!
———————————–
#FB登入功能 只有 在2個資料庫有多資料 在2.0這樣就會出現在面版選單, 但是3.0卻不行-3.0說沒啟用 原因facebook_status 要改 module_facebook_status
———————————–
找$this->model_setting_setting->editSetting(‘facebook’, $this->request->post);
改$this->editSetting2->(‘facebook’, $this->request->post);//採用自寫方式入資料
//自寫設定存檔-因為原版限制欄位值開頭一定要和$code相同-然後功能啟用名又必須是module_$code_status 那不就變相規定模組名子就要叫module_$code
//只好自己破除這個限制
public function editSetting2($code, $data, $store_id = 0) {
$this->db->query(“DELETE FROM `” . DB_PREFIX . “setting` WHERE store_id = ‘” . (int)$store_id . “‘ AND `code` = ‘” . $this->db->escape($code) . “‘”);
foreach ($data as $key => $value) {
//if (substr($key, 0, strlen($code)) == $code) {
if (!is_array($value)) {
$this->db->query(“INSERT INTO ” . DB_PREFIX . “setting SET store_id = ‘” . (int)$store_id . “‘, `code` = ‘” . $this->db->escape($code) . “‘, `key` = ‘” . $this->db->escape($key) . “‘, `value` = ‘” . $this->db->escape($value) . “‘”);
} else {
$this->db->query(“INSERT INTO ” . DB_PREFIX . “setting SET store_id = ‘” . (int)$store_id . “‘, `code` = ‘” . $this->db->escape($code) . “‘, `key` = ‘” . $this->db->escape($key) . “‘, `value` = ‘” . $this->db->escape(json_encode($value, true)) . “‘, serialized = ‘1’”);
}
//}
}
}
SELECT * FROM `oc_setting` WHERE code LIKE ‘%facebook%’

修改值的方法
public function editSettingValue($code = ”, $key = ”, $value = ”, $store_id = 0) {

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *