請問插件開發(fā): 后臺執(zhí)行 INSERT INTO dr_1_book (title,catid,uid,author,status,tableid,inputtime,updatetime)VALUES(ENCODE('測試','xyz'),1,1,'admin',9,0,1626241767,1626241767); 前端開發(fā): select decode(title,'xyz') as title from dr_1_book;
插件開發(fā)需要數(shù)據(jù)庫函數(shù)提前處理
這個語句沒有問題,怎么在插件里面達(dá)到這個語句執(zhí)行的效果
\Phpcmf\Service::M()->db->query("你的查詢語句");這樣就行,執(zhí)行sql
參考文檔:《數(shù)據(jù)庫操作》
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
\dayrui\App\Book\Controllers\Admin\Home.php 怎么重寫此方法:
重寫就簡單了,你用phpstorm追蹤到Admin_Add函數(shù),然后把里面的內(nèi)容復(fù)制到 add()里面來,直接修改了
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
\dayrui\App\Book\Controllers\Show.php
怎么重寫此方法:
public function index() {方法一樣啊,追蹤到父級別的類,然后復(fù)制到你這個文件里面來修改,是典型的php繼承類的用法
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
這是php的特性,子繼承父,父不管子,子子獨(dú)立
\dayrui\Fcms\Core\Table.php
protected function _Post($id = 0, $draft = [], $is_data = 0, $is_post = 0) {protected function _Save($id = 0, $data = [], $old = [], $before = null, $after = null) {_Admin_Add類并不是在dayrui\Fcms\Core\Table.php,你走遠(yuǎn)了
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
\dayrui\Fcms\Extend\Admin\Module.php
protected function _Admin_Add() {是這里吧,如果不走這么遠(yuǎn),數(shù)據(jù)怎么按原先的流程提交呢?不可能直接插入一條數(shù)據(jù)就OK了吧
你那說說你的想法,你到底要實(shí)現(xiàn)什么樣子的功能,為什么找到admin_add這里,或許有其他更好的方法
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
還是用你們后臺添加數(shù)據(jù)的流程,但是只需要對title等字段進(jìn)行mysql函數(shù)(ENCODE('測試','xyz'))處理。
那你走遠(yuǎn)了, 可以這個方法
參考文檔:《重寫Content類:發(fā)布文章時隨機(jī)點(diǎn)擊次數(shù)》
// 內(nèi)容發(fā)布之前 public function _content_post_before($id, $data, $old) { if (!$id) { // 這個判斷表示新增內(nèi)容 $data[1]['title']; // 這個是title變量,用php函數(shù)進(jìn)行處理 } return $data; }開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
親,這個encode與decode是mysql函數(shù)哈。如果按你這樣加在后面,此兩函數(shù)根本不能mysql語句中執(zhí)行。
php雷芳芳里面只能眼紅php的函數(shù),用不了mysql的函數(shù),你可以在php里面找一找相關(guān)功能的函數(shù)
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
你這邊有該問題的解決方法么?
解決方法我已經(jīng)告訴你了,你只需要找一個類似功能的函數(shù)就行了啊、
// 內(nèi)容發(fā)布之前 public function _content_post_before($id, $data, $old) { if (!$id) { // 這個判斷表示新增內(nèi)容 $data[1]['title'] = urlencode($data[1]['title']); // 這個是title變量,用php函數(shù)進(jìn)行處理 } return $data; }PHP里面有一個urlencode,就套用上面公式就行了,不要只復(fù)制代碼,你需要研究每局代碼的含義,剩下的直接交給你自己完成了
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!