關於phpcms中模組_tag.class.php中的pc_tag()方法的含義

來源:互聯網
上載者:User

標籤:style   blog   http   使用   os   io   檔案   資料   

       關於phpcms中模組_tag.class.php中的pc_tag()方法的含義:
       在phpcms系統中自己寫後台模組,要在前台模板中顯示出來需要在\phpcms\modules\自己定義的模組名\classes\目錄下寫一個“模組名_tag.class.php”檔案,此檔案中輸出前台模組板所使用的自訂的pc標籤,標籤定義類中的方法如何寫我在這裡就不贅述了,因為網上很多相關內容的資料,比如:(http://wenku.baidu.com/link?url=sesC6Zsic5BJi6lybI9ZP2ZMUpzoS8Zv-PC07seoWVdISWvjMwrn098PXNfo7xSAMKL94lMsYs-L3dc2eyr2siRA_vXUCI1HW4CraSV7CPe),在前台標籤中除了可以使用自己定義的一些標籤外還可以使用\phpcms\libs\functions\global.func.php這個檔案中定義的方法,有興趣的可以看一下(http://blog.csdn.net/qzmrock/article/details/7716772)很好尋找。我在這裡談一下這個標籤定義類檔案中的pc_tag()方法的作用。因為我發現這個方面介紹的資料很少,即便在phpcms官網上也有提問但沒有給出答案。我也是研究了2天才搞明白這個方法是幹什麼用的,寫出來給大家分享一下,希望能對你有些協助。
大家可以發現所有的“模組_tag.class.php”檔案中都有一個pc_tag()方法,上面寫著“標籤產生方法”字樣的注釋,這個方法到底是幹什麼的呢?其實這個方法就是提供一個數組,這個數組所定義的參數及參數值是為了給系統“範本管理員-> 標籤嚮導->添加標籤嚮導”提供資料的。點擊“添加標籤嚮導”會彈出嚮導對話方塊,在“選擇模型”的下拉框中有系統安裝的所有模組,這些模組是讀取\phpcms\caches\configs\modules.php檔案中的數組得到的資料,你如果在該數組中最後一行添加  ‘自己定義的模組’=>‘模組名‘,這麼行你就可以在剛才的下拉框中找到你自己定義的模組名,這時候選擇該模組,如果系統在\phpcms\phpcms\modules\自己定義的模組\classes目錄中找不到“自己定義的模組_tag.class.php”檔案,系統會報錯自動結束瀏覽器,如果定義了該檔案,系統就自動載入pc_tag()方法中所提供的數組資料,以下列部分資料為例分析:
return arrary(‘action‘=>array(‘type_list‘=>L(‘guestbook_list‘,‘‘,‘guestbook‘)),
                    ‘type_list‘=>array(
                                   ‘siteid‘=>array(‘name‘=>L(‘site_id‘,‘‘,‘comment‘),‘htmltype‘=>‘input_select‘,‘data‘=>$sitelist,)
........
                                      ),
);
           大家可以看到pc_tag()方法返回一個數組,在這個數組裡每變數數組在標籤嚮導對話方塊中代表一行內容。比如說‘action‘=>array(‘type_list‘=>L(‘guestbook_list‘,‘‘,‘guestbook‘)),在嚮導對話方塊“選擇模型”的下拉框下一行會顯示“選擇操作:”guestbook_list這麼一行內容,這裡的guestbook_list是一個radio單選框標籤如果在\phpcms\phpcms\languages\zh-cn\的guestbook.lang.php檔案中定義了guestbook_list的漢字標籤如“留言板列表”,那麼在剛才的“選擇操作:”後就是“留言板列表”字樣的標籤,這個數組中有幾項內容那麼操作後就會有幾個標籤顯示,如果選擇了該標籤那麼它接下來就會讀取這個陣列變數裡的參數,比如選擇了guestbook_list標籤,那麼它就會讀取type_list數組中的資料。
 ‘type_list‘=>array(
                                   ‘siteid‘=>array(‘name‘=>L(‘site_id‘,‘‘,‘comment‘),‘htmltype‘=>‘input_select‘,‘data‘=>$sitelist,)
在對話方塊中另起一行   (標籤:文字框  選擇下拉框)分別對應數組(L(‘site_id‘,‘‘,‘comment‘):input   select)這裡的site_id就是在comment.lang.php檔案中定義的site_id參數的值,下拉框的值就是data中的值。


        寫到這裡大家可以看出來了吧,pc_tag()方法就是系統在操作頁面中為前檯面板提供添加標籤的方法,如果不需要使用者自行添加自訂的新模組的標籤在_tag.class.php檔案中就不用定義pc_tag()方法,這對於前台模板的顯示沒有任何影響的。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.