簡體   English   中英

無法將新模型添加到opencart

[英]Can't add new model to opencart

我試圖在opencart中對注冊過程進行修改。 我修改了視圖中的表單,並將值發布到account / customer.php模型中,在其中添加了一些代碼來處理新字段,如下所示:

/* add children and links to product categories */
    $this->load->model('account/children');
    //loop childrens names to use key for remaining info
    foreach($data['children-name'] as $key=>$name){
        //re-assign data and purify
        $child['name'] = mysql_real_escape_string($name);
        $child['surname'] = mysql_real_escape_string($data['children-surname'][$key]);
        $child['gender'] = mysql_real_escape_string($data['children-gender'][$key]);
        $child['dob'] = mysql_real_escape_string($data['children-dob'][$key]);
        $child['school'] = mysql_real_escape_string($data['children-school'][$key]);
        $child['unit'] = mysql_real_escape_string($data['children-unit'][$key]);
        $child['height'] = mysql_real_escape_string($data['children-height'][$key]);
        $child['chest'] = mysql_real_escape_string($data['children-chest'][$key]);
        $child['waist'] = mysql_real_escape_string($data['children-waist'][$key]);
        $child['waistToKnee'] = mysql_real_escape_string($data['children-waist-to-knee'][$key]);
        $child['insideLeg'] = mysql_real_escape_string($data['children-inside-leg'][$key]);
        $child['shoeSize'] = mysql_real_escape_string($data['children-shoe-size'][$key]);
        $child['customerId'] = $customer_id;

        //update/create child record
        $this->model_account_children->addChild($child);
    }
    /* end add children and links to product categories */

然后,我在account / children.php中創建了相對模型文件,其中包含以下代碼:

class ModelAccountChildren extends Model {
    public function addChild($data) {
        //create other fields not in $data
        $lastUpdated = date('Y-m-d h:i:s');
        $childCat = getChildCategory($data['school']);
        $dob = date('Y-m-d h:i:s', $date['dob']);
        if($data['gender'] == 'm'){
            $data['gender'] = 'Male';
        }else{
            $data['gender'] = 'Female';
        }
        echo "INSERT INTO " . DB_PREFIX . "customer_children (customer_id, child_name, child_surname, child_gender, child_dob, category_id, child_school, child_unit, child_height, child_chest, child_waist, child_waist_to_knee, child_inside_leg, child_shoe_size, child_last_updated) VALUES (".$data['customerId'].", '".$data['name']."', '".$data['surname']."', '".$data['gender']."', '".$dob."', ".$childCat['category_id'].", '".$data['school']."', '".$data['unit']."', '".$data['unit']."', '".$data['height']."', '".$data['chest']."', '".$data['waist']."', '".$data['waistToKnee']."', '".$data['insideLeg']."', '".$data['shoeSize']."', '".$lastUpdated."')";
        //perform insert
        $this->db->query("INSERT INTO " . DB_PREFIX . "customer_children (customer_id, child_name, child_surname, child_gender, child_dob, category_id, child_school, child_unit, child_height, child_chest, child_waist, child_waist_to_knee, child_inside_leg, child_shoe_size, child_last_updated) VALUES (".$data['customerId'].", '".$data['name']."', '".$data['surname']."', '".$data['gender']."', '".$dob."', ".$childCat['category_id'].", '".$data['school']."', '".$data['unit']."', '".$data['unit']."', '".$data['height']."', '".$data['chest']."', '".$data['waist']."', '".$data['waistToKnee']."', '".$data['insideLeg']."', '".$data['shoeSize']."', '".$lastUpdated."')");
    }

    public function updateChild($data) {

    }

    public function getChildCategory($childSchoolStr){
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_description WHERE name LIKE '" . $childSchoolStr . "'");

        return $query->row;
    }
}

由於某種原因,腳本無法在該行的model / account / customer.php中調用該新模型:

$this->load->model('account/children');

難道我做錯了什么?

解決這個問題。

$childCat = getChildCategory($data['school']);

腦流失的一點,上面的行應該是:

$childCat = $this->getChildCategory($data['school']);

對我來說似乎正確。 您可以在模型中使用它。 您使用vqmod嗎? 嘗試刪除緩存文件。 也許在模型中添加一個測試函數,看看可以調用它了。 您得到什么錯誤?

您是否已將文件肯定地放在catalog/model/account/children.php 如果是這樣,您是否得到任何錯誤消息,將有助於調試此消息? 另外,在運行代碼時,是否確定$data['children-name']包含數據?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM