Jump to content
truongdx

Lỗi không insert được dữ liệu

Recommended Posts

Chào các bạn! Mình đã cố gắng tìm hiểu nhưng chưa xử lí được vấn đề
Mình đang viết 1 module với các chức năng thêm sửa xóa được quản lí ở back-office
đây là thông báo lỗi từ trình duyệt
Fatal error: Class name must be a valid object or a string in E:\phan mem hoc tap\xampp 1.7\xampp\htdocs\prestashop\prestashop\classes\controller\AdminController.php on line 2886
 

Đây là file AdminCreatePage.php:
<?php

require_once (dirname(__file__) . '/create_page.php');
require_once (dirname(__file__) . '/classes/CreatePage.php');

class AdminCreatePage extends AdminController
{
   
    public function __construct()
    {
        $this->context = Context::getContext();
        $this->table = 'create_page';
        
        //$this->className = 'CreatePage';
        
        $this->addRowAction('edit');
        $this->addRowAction('delete');

        // $this->bulk_actions = array('delete' => array('text' => $this->l('Delete selected'),
        //             'confirm' => $this->l('Delete selected items?')), );
        $this->fields_list = array(
            'id_create_page' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25),
            'title' => array('title' => $this->l('Title'), 'width' => 40, 'align' => 'center'),            
        );

        parent::__construct();    
    }

    public function renderForm()
    {
        $this->display = 'edit';
        $this->initToolbar();

        $this->fields_form = array(
            //'tinymce' => TRUE,
            // 'legend' => array('title' => $this->l('Field'),
            //'image' =>'../img/admin/tab-categories.gif'),
            'input' => array(
                array(
                    'type' => 'text',
                    'label' => $this->l('ID:'),
                    'name' => 'id_create_page',
                    'id' => 'id_create_page',
                    //'lang' => TRUE,
                    'required' => TRUE,
                    'hint' => $this->l('Invalid characters:').' <>;=#{}',
                    'size' => 50),
                 array(
                    'type' => 'text',
                    'label' => $this->l('Title:'),
                    'name' => 'title',
                    'id' => 'title',
                    //'lang' => TRUE,
                    'required' => TRUE,
                    'hint' => $this->l('Invalid characters:').' <>;=#{}',
                    'size' => 50),
                // array(
                //     'type' => 'textarea',
                //     'label' => $this->l('Block content'),
                //     'name' => 'content',
                //     'autoload_rte' => TRUE,
                //     'lang' => TRUE,
                //     'required' => TRUE,
                //     'rows' => 5,
                //     'cols' => 40,
                //     'hint' => $this->l('Invalid characters:').' <>;=#{}'),                
                ),
            'submit' => array('title' => $this->l('   Save   '), 'class' => 'button')
        );

        if (Shop::isFeatureActive()) {
            $this->fields_form['input'][] = array(
                'type' => 'shop',
                'label' => $this->l('Shop association:'),
                'name' => 'checkBoxShopAsso',
                );
        }

        return parent::renderForm();
    }
    
}

 

còn đây là file tâng Model CreatePage.php
<?php

class CreatePage extends ObjectModel
{
     /** @var string Name */
    public $id_create_page;
    public $title;    

    /**
     * @see ObjectModel::$definition
     */
    public static $definition = array(
        'table' => 'create_page',
        'primary' => 'id_create_page',
        'multilang' => TRUE,
        'fields' => array(           
            'id_create_page' => array('type' => self::TYPE_INT),
            'title' => array('type' => self::TYPE_INT),
        ),
    );

    public function add($autodate = TRUE, $null_values = FALSE)
    {
        $this->id_create_page = self::getLastPosition();
        return parent::add($autodate, TRUE);
    }

    // public function update($null_values = FALSE)
    // {
    //     if (parent::update($null_values)) {
    //         return $this->cleanPositions();
    //     }
        
    //     return FALSE;
    // }

    // public function delete()
    // {
    //     if (parent::delete()) {
    //         return $this->cleanPositions();
    //     }
        
    //     return FALSE;
    // }
    
    public static function getLastPosition()
    {
        $sql = '
        SELECT MAX(id_create_page) + 1
        FROM `'._DB_PREFIX_.'create_page`';

        return (Db::getInstance()->getValue($sql));
    }

    // public static function cleanPositions()
    // {
    //     $sql = '
    //     SELECT `id_create_page`
    //     FROM `'._DB_PREFIX_.'create_page`
    //     ORDER BY `id_create_page`';

    //     $result = Db::getInstance()->executeS($sql);

    //     for ($i = 0, $total = count($result); $i < $total; ++$i) {
    //         $sql = 'UPDATE `'._DB_PREFIX_.'create_page`
    //                 SET `title` = '.(int)$i.'
    //                 WHERE `id_create_page` = '.(int)$result[$i]['id_create_page'];
    //         Db::getInstance()->execute($sql);
    //     }
        
    //     return TRUE;
    // }
    
    // public function updatePosition($way, $position)
    // {
    //     if (!$res = Db::getInstance()->executeS('
    //         SELECT cp.`id_belvg_faq`, cp.`position`
    //         FROM `'._DB_PREFIX_.'belvg_faq` cp
    //         ORDER BY cp.`position` ASC'
    //     )) {
    //         return FALSE;
    //     }
        
    //     foreach ($res as $faq) {
    //         if ((int)$faq['id_belvg_faq'] == (int)$this->id) {
    //             $moved_faq = $faq;
    //         }
    //     }

    //     if (!isset($moved_faq) || !isset($position)) {
    //         return FALSE;
    //     }

    //     // < and > statements rather than BETWEEN operator
    //     // since BETWEEN is treated differently according to databases
    //     return (Db::getInstance()->execute('
    //         UPDATE `'._DB_PREFIX_.'belvg_faq`
    //         SET `position`= `position` '.($way ? '- 1' : '+ 1').'
    //         WHERE `position`
    //         '.($way
    //             ? '> '.(int)$moved_faq['position'].' AND `position` <= '.(int)$position
    //             : '< '.(int)$moved_faq['position'].' AND `position` >= '.(int)$position))
    //     && Db::getInstance()->execute('
    //         UPDATE `'._DB_PREFIX_.'belvg_faq`
    //         SET `position` = '.(int)$position.'
    //         WHERE `id_belvg_faq` = '.(int)$moved_faq['id_belvg_faq']));
    // }
}

 

Rất mong mọi người giúp đỡ.Mình xin cảm ơn!

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More