| 插件名稱 | 建站系統(tǒng)大眾版 V3.26 |
| 插件作者 | 迅睿官方團(tuán)隊(duì) |
| 最近更新 | 2025-10-09 09:03:09 |
| 優(yōu)化url解析配置生成提示 [高級版]修復(fù)tag自動入庫開關(guān)失效問題 [高級版]修復(fù)欄目分表時無法生成內(nèi)容靜態(tài)問題 |
如圖,“全部項(xiàng)目”列表是創(chuàng)建項(xiàng)目模塊后用戶中心自動生成的列表,藍(lán)色劃圈的三個列表是準(zhǔn)備新創(chuàng)建的。

預(yù)想的效果是:
——競標(biāo)中:競標(biāo)中的項(xiàng)目,發(fā)布人仍然可以修改項(xiàng)目字段,接受競標(biāo),并且同意接受某個競標(biāo);
——進(jìn)行中:接受某個競標(biāo)并付款給平臺后,項(xiàng)目狀態(tài)自動或管理員手動更改為“進(jìn)行中”,同時將中標(biāo)人和中標(biāo)金額傳遞到項(xiàng)目字段中。進(jìn)行中的項(xiàng)目發(fā)布人和中標(biāo)人雙方均可以看到,項(xiàng)目字段發(fā)布人不得再編輯項(xiàng)目字段(或者僅可以更新項(xiàng)目狀態(tài)字段),進(jìn)行中的項(xiàng)目雙方可以在項(xiàng)目編輯頁面進(jìn)行對話溝通;
——已完成:管理員或項(xiàng)目發(fā)布人將項(xiàng)目狀態(tài)更改為“已完成”后,該條項(xiàng)目就轉(zhuǎn)變?yōu)椤耙淹瓿伞表?xiàng)目,之后雙方均不得再對項(xiàng)目進(jìn)行任何編輯。
目前已經(jīng)實(shí)現(xiàn)的:
我是通過在用戶中心創(chuàng)建了三個數(shù)據(jù)控制器,分別對應(yīng)“競標(biāo)中”“進(jìn)行中”和“已完成”,然后在where_list處用項(xiàng)目狀態(tài)字段對項(xiàng)目列表進(jìn)行了限定,這樣三個列表就能分別展現(xiàn)不同進(jìn)度的項(xiàng)目列表(如下圖)。同時,對生成的post頁面進(jìn)行了修改,基本實(shí)現(xiàn)了對三個狀態(tài)項(xiàng)目的編輯或查看詳情功能。

我的疑問:
——我的上述方法是否符合系統(tǒng)邏輯,能否基于模塊自動生成的Home控制器進(jìn)行加工,以達(dá)到上述效果?
——項(xiàng)目狀態(tài)如果自動變更的話,是通過鉤子還是控制器完成?在控制器里是不是也能用鉤子?
沒有問題,where_list就是用于組合條件的寫法
還可以參考支付插件的控制器文件寫法:app/Pay/Controllers/Member/Paylog.php
// index public function index() { $tid = (int)\Phpcmf\Service::L('input')->get('tid'); $where = ['`uid`='.$this->uid]; switch ($tid) { case 1: // 收入 $where[] = '`value` > 0'; break; case -1: // 消費(fèi) $where[] = '`value` < 0'; break; default : // 全部 break; } \Phpcmf\Service::M()->set_where_list(implode(' AND ', $where)); list($tpl, $data) = $this->_List(['tid' => $tid]); // 初始化 $data['param']['tid'] = $data['param']['total'] = 0; // 列出類別 $my = []; $type = ['0' => '全部', '1' => '收入', '-1' => '消費(fèi)']; foreach ($type as $i => $t) { $data['param']['tid'] = $i; $my[$i] = [ 'name' => dr_lang($t), 'url' => dr_member_url('pay/paylog/index', $data['param']) ]; } \Phpcmf\Service::V()->assign([ 'tid' => $tid, 'type' => $my, ]); \Phpcmf\Service::V()->display('paylog_index.html'); }開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
第二個問題,控制器或者鉤子都可以來操作的,都是判斷權(quán)限,變更相關(guān)參數(shù)。
控制器可以執(zhí)行鉤子,根據(jù)模塊內(nèi)容相關(guān)的那幾個鉤子來
回復(fù)@外聘專員-GOLANG工作室 好的,感謝解答。項(xiàng)目狀態(tài)如果自動變更的話,是通過鉤子還是控制器完成呢?
回復(fù)@芝麻通 好的,學(xué)習(xí)了,謝謝