有關打開購物車的快速問題,其中是否設置了分機狀態和位置?我可以在代碼Opencart在哪裏擴展狀態和位置設置?
$postion = $this->config->get($extension . '_position');
看,也
'status' => $this->config->get($extension . '_status')
但是我不能看到這些被定義?
有關打開購物車的快速問題,其中是否設置了分機狀態和位置?我可以在代碼Opencart在哪裏擴展狀態和位置設置?
$postion = $this->config->get($extension . '_position');
看,也
'status' => $this->config->get($extension . '_status')
但是我不能看到這些被定義?
起初,看着你的擴展文件(如「支付/ free_checkout.php」)和搜索類似的東西
$this->model_setting_setting->editSetting('free_checkout', $this->request->post);
這是存儲到數據庫設置(你可以去更深入的設置模型,如果你想的話)
之後,打開admin/index.php並查看38-48行。 你可以看到,系統從數據庫獲取數據並將數據存儲到配置對象中。
在Opencart位置由模塊使用。它們設置在管理員下方的擴展/模塊中。當您單擊保存 - 這將它們保存到數據庫表oc_settings的modulename_module下
當Opencart的啓動 - 在index.php中有這樣的代碼
// Settings
$query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC");
foreach ($query->rows as $setting) {
if (!$setting['serialized']) {
$config->set($setting['key'], $setting['value']);
} else {
$config->set($setting['key'], unserialize($setting['value']));
}
}
其創建的配置 - 所有的大規模陣列當前商店ID的設置。
之後位置控制器(column_left.php,column_right.php,content_top.php和content_bottom.php)通過表oc_extension中的擴展並找到需要顯示的所有模塊。
然後它通過這個龐大的陣列CONFIG並收集這些模塊的設置 - 這一切都被存儲在一個陣列$ module_data
則控制器使用這些設置basicly推出應該是模塊的每個控制器所示。它爲foreach循環中的每個模塊傳遞控制器路由和$設置,並在結果中獲取模塊的呈現。
你可以在php文件的任何地方訪問配置 - 它可以是另一個控制器,模型甚至tpl文件。
$this->config->get(...)
如果你想 - 你可以直接去databes oc_settings並與這些功能
$this->load->model('setting/setting'); // remeber to always load the model.
$this->model_setting_setting->editSetting('free_checkout', $this->request->post);
希望這有助於獲得從那裏數據。
您也可以使用此模塊來消耗你的Opencart的位置超級方便 Extra positions Unlimited
感謝回去我的號碼,我可以看到設置表用於存儲有關的擴展信息,但我看不到位置和啓用/禁用狀態存儲在哪裏? – 2012-07-31 06:27:37
我沒有找到任何位置提及(我檢查最後opencart版本)。但是如果你想找到狀態。查看擴展表單(例如payment/free_checkout.php)。您會發現名爲extensionname_status的字段(選擇框「free_checkout_status」)。當你發送這個表單到服務器時,它會將它存儲到數據庫中($ this-> model_setting_setting-> editSetting ... //查看我的答案)。 – hadvig 2012-07-31 10:18:57
是的,這似乎是正確的,感謝您的幫助 – 2012-08-01 09:49:34