PHP程序里面
使用開發(fā)者工具創(chuàng)建的插件,編輯數(shù)據(jù)頁面,我用了 字段控件代碼

但是保存的時候不成功,在哪個文件格式化下時間,
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);
完整的控制器文件內(nèi)容需要看看
開源是一種精神,但不是義務,幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復@官方研發(fā)技術-羅老師
控制器是開發(fā)者工具生成的,暫時只修改了上面代碼
<?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', ), ); // 初始化數(shù)據(jù)表 $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); } // 添加內(nèi)容 public function add() { list($tpl) = $this->_Post(0); \Phpcmf\Service::V()->display($tpl); } // 修改內(nèi)容 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); } // 刪除內(nèi)容 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']) ); } /** * 獲取內(nèi)容 * $id 內(nèi)容id,新增為0 * */ protected function _Data($id = 0) { $row = parent::_Data($id); // 這里可以對內(nèi)容進行格式化顯示操處理 return $row; } // 格式化保存數(shù)據(jù) protected function _Format_Data($id, $data, $old) { if (!$id) { // 當提交新數(shù)據(jù)時,把當前時間插入進去 //$data[1]['inputtime'] = SYS_TIME; } return $data; } // 保存內(nèi)容 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){ // 驗證數(shù)據(jù) /* if (!$data['title']) { return dr_return_data(0, '標題不能為空!', ['field' => 'title']); }*/ // 保存之前執(zhí)行的函數(shù),并返回新的數(shù)據(jù) if (!$id) { // 當提交新數(shù)據(jù)時,把當前時間插入進去 //$data['inputtime'] = SYS_TIME; } return dr_return_data(1, null, $data); }, function ($id, $data, $old) { // 保存之后執(zhí)行的動作 }); } }回復@官方研發(fā)技術-羅老師
<?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', ), ); // 初始化數(shù)據(jù)表 $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); } // 添加內(nèi)容 public function add() { list($tpl) = $this->_Post(0); \Phpcmf\Service::V()->display($tpl); } // 修改內(nèi)容 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']), ]); // 初始化數(shù)據(jù)表 $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); } // 刪除內(nèi)容 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']) ); } /** * 獲取內(nèi)容 * $id 內(nèi)容id,新增為0 * */ protected function _Data($id = 0) { $row = parent::_Data($id); // 這里可以對內(nèi)容進行格式化顯示操處理 return $row; } // 格式化保存數(shù)據(jù) protected function _Format_Data($id, $data, $old) { if (!$id) { // 當提交新數(shù)據(jù)時,把當前時間插入進去 //$data[1]['inputtime'] = SYS_TIME; } return $data; } // 保存內(nèi)容 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){ // 驗證數(shù)據(jù) /* if (!$data['title']) { return dr_return_data(0, '標題不能為空!', ['field' => 'title']); }*/ // 保存之前執(zhí)行的函數(shù),并返回新的數(shù)據(jù) if (!$id) { // 當提交新數(shù)據(jù)時,把當前時間插入進去 //$data['inputtime'] = SYS_TIME; } return dr_return_data(1, null, $data); }, function ($id, $data, $old) { // 保存之后執(zhí)行的動作 }); } }加一句初始化表的代碼
不太熟悉二開的話,可以找官方開發(fā),然后再分析分析官方的開發(fā)代碼,這樣自己也學會了開發(fā)技巧。
開源是一種精神,但不是義務,幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復@官方研發(fā)技術-羅老師
謝謝,不過好像問題理解錯了。編輯頁面保存時間字段時,無法保存成時間戳到數(shù)據(jù)庫。
這個代碼區(qū)域可以用來格式化轉換,比如使用函數(shù)把時間轉化為數(shù)字再存儲
開源是一種精神,但不是義務,幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
if (!$id) { // 當提交新數(shù)據(jù)時,把當前時間插入進去 //$data['inputtime'] = SYS_TIME; $data['paytime'] = strtotime($data['paytime']); }之前這樣寫過,沒作用。
回復@官方研發(fā)技術-羅老師
你這個表示新發(fā)布內(nèi)容會轉換存儲,修改內(nèi)容不會
開源是一種精神,但不是義務,幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復@官方研發(fā)技術-羅老師
嗯對,找不到修改 格式化的方法- -
?? 樓主腦殼不會轉彎嗎,羅老師都指明了,只是沒有明說,你把if去掉不就可以了?
唐突了,,剛睡醒!