pbootcms通過欄位名稱獲得欄位描述
阿新 • • 發佈:2022-01-28
剛接觸這個系統,對二次開發還有所不瞭解,特別是如何從資料庫裡呼叫資料。
還好這個系統不是很新,在網上查看了相關程式碼和自己的研究,知道了如何像sql語句一般得到資料。
該效果運用在篩選效果比較合適。
1,在ExtLabelController.php新增方法。
路徑:/apps/home/controller/ExtLabelController.php
作用:該檔案的作用之一,是新增新的方法,擴充套件單個標籤。
修改:大約在35行,在“private function test()”的方法下面新增新的方法。
//獲得欄位描述 private function getfieldsdescription() { $pattern = '/\{getfieldsdescription\s?\(([^\}]+)\)\}/'; if (preg_match($pattern, $this->content, $matches)) { $this->content = preg_replace_callback( $pattern, function($matches){ $extfield = $matches[1]; $result = \core\basic\Db::table('ay_extfield')->field('description')->where("name='". $extfield ."'")->find(); $value = $result->description; return $value; }, $this->content); } }
然後在run()方法裡面執行該方法
/* 必備啟動函式 */ public function run($content) { // 接收資料 $this->content = $content; // 執行個人自定義標籤函式 $this->test(); $this->getFieldsDescription(); // 返回資料 return $this->content; }
最後在模板上新增程式碼。
{getfieldsdescription(*)} 即為該標籤,*處填寫欄位名稱。
標籤的程式碼使用,參考如下程式碼:
<div class="xmf-c z2 cssulv"> <div class="xmf-d s16">{getfieldsdescription(ext_cssulv)}</div> <div class="xmf-select s14"> <input type="text" class="cur" data-id="90" placeholder="請選擇"> <div class="xmf-list"> <label class="xmf-label">{pboot:selectall field=ext_cssulv}</label> {pboot:select field='ext_cssulv'} <label class="xmf-label"><a title="[select:value]" href="[select:link]"> <input type="checkbox" {pboot:if('[select:value]'=='[select:current]')} checked="" {/pboot:if} class="xmf-checkbox"> <span class="xmf-name s14">[select:value]</span> </a></label> {/pboot:select} </div> </div> </div>