迅睿CMS框架是一款PHP8高性能·簡單易用的CMS開源開發(fā)框架, 基于MIT開源許可協(xié)議發(fā)布,不限制商業(yè)使用,以多端互聯(lián)為設(shè)計理念, 支持的微信公眾號、小程序、APP客戶端、移動端網(wǎng)站、PC網(wǎng)站等多終端式管理系統(tǒng)。
業(yè)務(wù)經(jīng)理
微信掃描以上二維碼
028-61286886
在線咨詢
請問一下全局表單是否有form_edit_before 和 form_edit_after 這兩個鉤子?
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復(fù)@開源社區(qū)創(chuàng)始人 會員中心修改想執(zhí)行修改后的動作如何操作呢,是自己寫鉤子嗎?
回復(fù)@開源社區(qū)創(chuàng)始人 比如我的表單控制器是baozhang.php
對應(yīng)修改member中的控制器對嗎?
改控制器文件不影響升級的,隨便改
<?php namespace Phpcmf\Controllers\Member; /** * 二次開發(fā)時可以修改本文件,不影響升級覆蓋 */ class Ysbcd extends \Phpcmf\Member\Form { // 保存編輯前的舊數(shù)據(jù) protected $_old_data_for_hook = null; public function index() { $this->_Member_List(); } public function add() { $this->_Member_Add(); } public function edit() { // 獲取編輯前的數(shù)據(jù)用于鉤子 $id = intval(\Phpcmf\Service::L('input')->get('id')); if ($id && IS_AJAX_POST) { $this->_old_data_for_hook = $this->_Data($id); } $this->_Member_Edit(); } public function order_edit() { $this->_Member_Order(); } public function del() { $this->_Member_Del(); } /** * 重寫 _Call_Post 方法,在保存完成后觸發(fā)編輯鉤子 */ protected function _Call_Post($data) { // 如果是編輯操作(有舊數(shù)據(jù)),觸發(fā)編輯鉤子 if ($this->_old_data_for_hook) { // 合并主表和附表數(shù)據(jù) $new_data = []; if (isset($data[1]) && is_array($data[1])) { $new_data = $data[1]; } if (isset($data[0]) && is_array($data[0])) { $new_data = array_merge($new_data, $data[0]); } // 觸發(fā)編輯鉤子 \Phpcmf\Hooks::trigger('form_edit_after', $new_data, $this->_old_data_for_hook); } return dr_return_data(1, dr_lang('操作成功'), $data); } }
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復(fù)@開源社區(qū)創(chuàng)始人 會員中心修改想執(zhí)行修改后的動作如何操作呢,是自己寫鉤子嗎?
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復(fù)@開源社區(qū)創(chuàng)始人 比如我的表單控制器是baozhang.php
對應(yīng)修改member中的控制器對嗎?
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
改控制器文件不影響升級的,隨便改
<?php namespace Phpcmf\Controllers\Member; /** * 二次開發(fā)時可以修改本文件,不影響升級覆蓋 */ class Ysbcd extends \Phpcmf\Member\Form { // 保存編輯前的舊數(shù)據(jù) protected $_old_data_for_hook = null; public function index() { $this->_Member_List(); } public function add() { $this->_Member_Add(); } public function edit() { // 獲取編輯前的數(shù)據(jù)用于鉤子 $id = intval(\Phpcmf\Service::L('input')->get('id')); if ($id && IS_AJAX_POST) { $this->_old_data_for_hook = $this->_Data($id); } $this->_Member_Edit(); } public function order_edit() { $this->_Member_Order(); } public function del() { $this->_Member_Del(); } /** * 重寫 _Call_Post 方法,在保存完成后觸發(fā)編輯鉤子 */ protected function _Call_Post($data) { // 如果是編輯操作(有舊數(shù)據(jù)),觸發(fā)編輯鉤子 if ($this->_old_data_for_hook) { // 合并主表和附表數(shù)據(jù) $new_data = []; if (isset($data[1]) && is_array($data[1])) { $new_data = $data[1]; } if (isset($data[0]) && is_array($data[0])) { $new_data = array_merge($new_data, $data[0]); } // 觸發(fā)編輯鉤子 \Phpcmf\Hooks::trigger('form_edit_after', $new_data, $this->_old_data_for_hook); } return dr_return_data(1, dr_lang('操作成功'), $data); } }