ppypp伦理天堂,91手机在线视频,免费在线观看黄色毛片,夜夜穞天天穞狠狠穞AV美女按摩

聯系官方銷售客服

1835022288

028-61286886

投訴 已解決 編輯數據頁面,字段控件代碼 保存的時候不成功 11 0
迅睿CMS版本:4.5.1

PHP程序里面

使用開發者工具創建的插件,編輯數據頁面,我用了 字段控件代碼


image

但是保存的時候不成功,在哪個文件格式化下時間,

public function edit() {
  $id = \Phpcmf\Service::L('input')->get('id');
  $data = \Phpcmf\Service::M('order', 'mqpay')->get($id);
  $field = [
            'paytime' => array (
    'name' => '支付時間',
    'fieldname' => 'paytime',
    'ismain' => '1',
    'fieldtype' => 'Date',
    'ismember' => '1',
   ),
   'status' => array (
    'name' => '支付時間',
    'fieldname' => 'status',
    'ismain' => '1',
    'fieldtype' => 'Radio',
    'ismember' => '1',
    'setting' => array (
     'option' => array (
      'options' => '未支付|inprogress
      已過期|expired
      已支付未通知|paid
      已完成|settled
      通知失敗|unsettled',
     ),
    ),
   ),
        ];
  \Phpcmf\Service::V()->assign([
            'paytimefield' => dr_fieldform($field['paytime'], $data['paytime']),
   'statusfield' => dr_fieldform($field['status'], $data['status']),
        ]);
        list($tpl) = $this->_Post(intval(\Phpcmf\Service::L('input')->get('id')));
        \Phpcmf\Service::V()->display($tpl);
解決方案
  • 完整的控制器文件內容需要看看

  • 回復@官方研發技術-羅老師

  • 控制器是開發者工具生成的,暫時只修改了上面代碼

    <?php namespace Phpcmf\Controllers\Admin;
    /* *
     *
     * 本TableDemo的語法參考: http://help.phpcmf.net/445.html
     *
     * */
    class Order extends \Phpcmf\Table
    {
    
        public function __construct(...$params)
        {
            parent::__construct(...$params);
            // 表單顯示名稱
            $this->name = dr_lang('訂單管理');
            // 模板前綴(避免混淆)
            $this->tpl_prefix = 'order_';
            // 用于表儲存的字段,后臺可修改的表字段
            $field = array (
      'id' => 
      array (
        'name' => '訂單號',
        'fieldname' => 'id',
      ),
    );
            // 初始化數據表
            $this->_init([
                'table' => 'pay_order',  // (不帶前綴的)表名字
                'field' => $field, // 可查詢的字段
                'order_by' => 'id desc', // 列表排序,默認的排序方式
                'date_field' => 'createtime', // 按時間段搜索字段,沒有時間字段留空
            ]);
    
            // 把公共變量傳入模板
            \Phpcmf\Service::V()->assign([
                // 搜索字段
                'field' => $field,
                'is_time_where' => $this->init['date_field'],
                // 后臺的菜單
                'menu' => \Phpcmf\Service::M('auth')->_admin_menu(
                    [
                        $this->name => [APP_DIR.'/'.\Phpcmf\Service::L('Router')->class.'/index', 'fa fa-code'],
                        '添加' => [APP_DIR.'/'.\Phpcmf\Service::L('Router')->class.'/add', 'fa fa-plus'],
                        '修改' => ['hide:'.APP_DIR.'/'.\Phpcmf\Service::L('Router')->class.'/edit', 'fa fa-edit'],
                    ])
            ]);
        }
    
        // 查看列表
        public function index() {
            list($tpl) = $this->_List();
            \Phpcmf\Service::V()->display($tpl);
    		
        }
    
        // 添加內容
        public function add() {
            list($tpl) = $this->_Post(0);
            \Phpcmf\Service::V()->display($tpl);
        }
    
        // 修改內容
        public function edit() {
    		$id = \Phpcmf\Service::L('input')->get('id');
    		$data = \Phpcmf\Service::M('order', 'mqpay')->get($id);
    		$field = [
                'paytime' => array (
    				'name' => '支付時間',
    				'fieldname' => 'paytime',
    				'ismain' => '1',
    				'fieldtype' => 'Date',
    				'ismember' => '1',
    			),
    			'status' => array (
    				'name' => '支付時間',
    				'fieldname' => 'status',
    				'ismain' => '1',
    				'fieldtype' => 'Radio',
    				'ismember' => '1',
    				'setting' => array (
    					'option' => array (
    						'options' => '未支付|inprogress
    						已過期|expired
    						已支付未通知|paid
    						已完成|settled
    						通知失敗|unsettled',
    					),
    				),
    			),
            ];
    		\Phpcmf\Service::V()->assign([
                'paytimefield' => dr_fieldform($field['paytime'], $data['paytime']),
    			'statusfield' => dr_fieldform($field['status'], $data['status']),
            ]);
            list($tpl) = $this->_Post(intval(\Phpcmf\Service::L('input')->get('id')));
            \Phpcmf\Service::V()->display($tpl);
        }
    
        // 刪除內容
        public function del() {
            $this->_Del(
                \Phpcmf\Service::L('Input')->get_post_ids(),
                function($rows) {
                    // 刪除前的驗證
                    return dr_return_data(1, 'ok', $rows);
                },
                function($rows) {
                    // 刪除后的處理
                    return dr_return_data(1, 'ok');
                },
                \Phpcmf\Service::M()->dbprefix($this->init['table'])
            );
        }
    
        /**
         * 獲取內容
         * $id      內容id,新增為0
         * */
        protected function _Data($id = 0) {
            $row = parent::_Data($id);
            // 這里可以對內容進行格式化顯示操處理
    		
            return $row;
        }
    
        // 格式化保存數據
        protected function _Format_Data($id, $data, $old) {
            if (!$id) {
                // 當提交新數據時,把當前時間插入進去
                //$data[1]['inputtime'] = SYS_TIME;
            }
            return $data;
        }
    
    
        // 保存內容
        protected function _Save($id = 0, $data = [], $old = [], $func = null, $func2 = null) {
            $data = \Phpcmf\Service::L('input')->post('data');
            return parent::_Save($id, $data, $old, function($id, $data, $old){
                // 驗證數據
                /*
                if (!$data['title']) {
                    return dr_return_data(0, '標題不能為空!', ['field' => 'title']);
                }*/
                // 保存之前執行的函數,并返回新的數據
                if (!$id) {
                    // 當提交新數據時,把當前時間插入進去
                    //$data['inputtime'] = SYS_TIME;
                }
    
                return dr_return_data(1, null, $data);
            }, function ($id, $data, $old) {
                // 保存之后執行的動作
            });
        }
    
    }

    回復@官方研發技術-羅老師

  • <?php namespace Phpcmf\Controllers\Admin;
    /* *
     *
     * 本TableDemo的語法參考: http://help.phpcmf.net/445.html
     *
     * */
    class Order extends \Phpcmf\Table
    {
    
        public function __construct(...$params)
        {
            parent::__construct(...$params);
            // 表單顯示名稱
            $this->name = dr_lang('訂單管理');
            // 模板前綴(避免混淆)
            $this->tpl_prefix = 'order_';
            // 用于表儲存的字段,后臺可修改的表字段
            $field = array (
      'id' => 
      array (
        'name' => '訂單號',
        'fieldname' => 'id',
      ),
    );
            // 初始化數據表
            $this->_init([
                'table' => 'pay_order',  // (不帶前綴的)表名字
                'field' => $field, // 可查詢的字段
                'order_by' => 'id desc', // 列表排序,默認的排序方式
                'date_field' => 'createtime', // 按時間段搜索字段,沒有時間字段留空
            ]);
    
            // 把公共變量傳入模板
            \Phpcmf\Service::V()->assign([
                // 搜索字段
                'field' => $field,
                'is_time_where' => $this->init['date_field'],
                // 后臺的菜單
                'menu' => \Phpcmf\Service::M('auth')->_admin_menu(
                    [
                        $this->name => [APP_DIR.'/'.\Phpcmf\Service::L('Router')->class.'/index', 'fa fa-code'],
                        '添加' => [APP_DIR.'/'.\Phpcmf\Service::L('Router')->class.'/add', 'fa fa-plus'],
                        '修改' => ['hide:'.APP_DIR.'/'.\Phpcmf\Service::L('Router')->class.'/edit', 'fa fa-edit'],
                    ])
            ]);
        }
    
        // 查看列表
        public function index() {
            list($tpl) = $this->_List();
            \Phpcmf\Service::V()->display($tpl);
    		
        }
    
        // 添加內容
        public function add() {
            list($tpl) = $this->_Post(0);
            \Phpcmf\Service::V()->display($tpl);
        }
    
        // 修改內容
        public function edit() {
    		$id = \Phpcmf\Service::L('input')->get('id');
    		$data = \Phpcmf\Service::M('order', 'mqpay')->get($id);
    		$field = [
                'paytime' => array (
    				'name' => '支付時間',
    				'fieldname' => 'paytime',
    				'ismain' => '1',
    				'fieldtype' => 'Date',
    				'ismember' => '1',
    			),
    			'status' => array (
    				'name' => '支付時間',
    				'fieldname' => 'status',
    				'ismain' => '1',
    				'fieldtype' => 'Radio',
    				'ismember' => '1',
    				'setting' => array (
    					'option' => array (
    						'options' => '未支付|inprogress
    						已過期|expired
    						已支付未通知|paid
    						已完成|settled
    						通知失敗|unsettled',
    					),
    				),
    			),
            ];
    		\Phpcmf\Service::V()->assign([
                'paytimefield' => dr_fieldform($field['paytime'], $data['paytime']),
    			'statusfield' => dr_fieldform($field['status'], $data['status']),
            ]);
               // 初始化數據表
            $this->_init([
                'table' => 'pay_order',  // (不帶前綴的)表名字
                'field' => $field, // 可查詢的字段
                'order_by' => 'id desc', // 列表排序,默認的排序方式
                'date_field' => 'createtime', // 按時間段搜索字段,沒有時間字段留空
            ]);
            list($tpl) = $this->_Post(intval(\Phpcmf\Service::L('input')->get('id')));
            \Phpcmf\Service::V()->display($tpl);
        }
    
        // 刪除內容
        public function del() {
            $this->_Del(
                \Phpcmf\Service::L('Input')->get_post_ids(),
                function($rows) {
                    // 刪除前的驗證
                    return dr_return_data(1, 'ok', $rows);
                },
                function($rows) {
                    // 刪除后的處理
                    return dr_return_data(1, 'ok');
                },
                \Phpcmf\Service::M()->dbprefix($this->init['table'])
            );
        }
    
        /**
         * 獲取內容
         * $id      內容id,新增為0
         * */
        protected function _Data($id = 0) {
            $row = parent::_Data($id);
            // 這里可以對內容進行格式化顯示操處理
    		
            return $row;
        }
    
        // 格式化保存數據
        protected function _Format_Data($id, $data, $old) {
            if (!$id) {
                // 當提交新數據時,把當前時間插入進去
                //$data[1]['inputtime'] = SYS_TIME;
            }
            return $data;
        }
    
    
        // 保存內容
        protected function _Save($id = 0, $data = [], $old = [], $func = null, $func2 = null) {
            $data = \Phpcmf\Service::L('input')->post('data');
            return parent::_Save($id, $data, $old, function($id, $data, $old){
                // 驗證數據
                /*
                if (!$data['title']) {
                    return dr_return_data(0, '標題不能為空!', ['field' => 'title']);
                }*/
                // 保存之前執行的函數,并返回新的數據
                if (!$id) {
                    // 當提交新數據時,把當前時間插入進去
                    //$data['inputtime'] = SYS_TIME;
                }
    
                return dr_return_data(1, null, $data);
            }, function ($id, $data, $old) {
                // 保存之后執行的動作
            });
        }
    
    }

    加一句初始化表的代碼

    不太熟悉二開的話,可以找官方開發,然后再分析分析官方的開發代碼,這樣自己也學會了開發技巧。

  • 回復@官方研發技術-羅老師

    謝謝,不過好像問題理解錯了。編輯頁面保存時間字段時,無法保存成時間戳到數據庫。

  • if (!$id) {
        // 當提交新數據時,把當前時間插入進去
        //$data['inputtime'] = SYS_TIME;
        $data['paytime'] = strtotime($data['paytime']);
    }

    之前這樣寫過,沒作用。

    回復@官方研發技術-羅老師

  • 回復@官方研發技術-羅老師

    嗯對,找不到修改 格式化的方法- -

  • ?? 樓主腦殼不會轉彎嗎,羅老師都指明了,只是沒有明說,你把if去掉不就可以了?

    QQ3468663191-Thinkphp高級開發者
  • 唐突了,,剛睡醒!

  • @官方研發技術-羅老師:解決問題回復很快