在外部php文件中使用Model Methodes

时间:2016-10-20 23:34:24

标签: php opencart opencart2.x

我有一个放在Opencart根目录(2.0.1.1)中的php文件。

我想用OC方法添加一种新语言。

根据 admin / index.php 模型|| controller / localization / language.php 我将调整

require_once($root . 'admin/config.php'); 
require_once($root . 'system/startup.php');
// Registry
$registry = new Registry();
// Loader
$loader = new Loader($registry);
$registry->set('load', $loader);
// Config
$config = new Config();
$registry->set('config', $config);
// Database
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, DB_PORT);
$registry->set('db', $db);
// Settings
$query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0'");
foreach ($query->rows as $setting) {
if (!$setting['serialized']) {
$config->set($setting['key'], $setting['value']);
} else {
$config->set($setting['key'], json_decode($setting['value'], true));
}
}
//STARTING NOW, $langu instead of $this
$data = array("name"=>"slovak","code"=>"sk","lokal"=>"sk-SK",..);
$langu = new Language();
$langu->load->model('localisation/language');
$langu->model_localisation_language->addLanguage($data);

这不起作用。它导致

  

注意:使用未定义的常量DB_PORT - 假设' DB_PORT'在    /path/opencart/admin/controller/module/_account22/account22_getLangZipUnzip.php 的   在线 21

通知:未定义的属性:   语言:: $加载    /path/opencart/admin/controller/module/_account22/account22_getLangZipUnzip.php 的   在线 108

致命错误:致电会员   函数language()在非对象中    /path/opencart/admin/controller/module/_account22/account22_getLangZipUnzip.php 的   在线 108

致命错误发生在 $ langu-> load->模型('本地化/语言');

1 个答案:

答案 0 :(得分:0)

Language类有一个加载函数,但你正在使用它,就像它是Language类的属性一样。您似乎正在尝试使用Controller类使用的编码样式。