1 頁 (共 1 頁)

[問題] 請問phpbb變數名稱

發表於 : 2005-05-30 17:56
pery
大家好 ...
小弟想請問一下phpbb的變數名稱( Ex : 在檔案中看見 L_WHO_IS_ONLINE 這種東西) 是在哪個檔案中設定的嗎 ? 因為有時候看見phpbb直接使用 <a href="{變數}" ... 的,卻不之從何改起那個變數,謝謝

發表於 : 2005-05-30 18:23
神川小羽
首先你要先大約的認識一下
在PHPBB的程式之中常常可以看到如下這樣的程式碼\r

代碼: 選擇全部

	$template->set_filenames(array(
		'body' => 'index_body.tpl')
	);
很明顯的,這段的用途是說明用來指定使用哪個樣版檔

在來還可以找到\r

代碼: 選擇全部

	$template->assign_vars(array(
		'FORUM_IMG' => $images['forum'],
		'FORUM_NEW_IMG' => $images['forum_new'],
		'FORUM_LOCKED_IMG' => $images['forum_locked'],

.....
...
這段的用途就是右邊的變數指派給樣版檔(右邊這些大寫字)
另外一種用於迴圈的是像這樣 舉例

代碼: 選擇全部

			$template->assign_block_vars('catrow', array(
				'CAT_ID' => $cat_id,
				'CAT_DESC' => $category_rows[$i]['cat_title'],
				'U_VIEWCAT' => append_sid("index.$phpEx?" . POST_CAT_URL . "=$cat_id"))
			);
注意看到了這串呼叫帶了一個字串 catrow
同樣的在樣版檔之中就可以找到\r
<!-- BEGIN catrow --> 以及 <!-- END catrow --> 便是指定迴圈內容的範圍

代碼: 選擇全部

		'L_FORUM' => $lang['Forum'],
L_開頭的就是指定語系文字 後面的變數通常可以在lang_main.php或是lang_admin.php等等的語系資料裡面找到\r

例如

代碼: 選擇全部

		'U_MARK_READ' => append_sid("index.$phpEx?mark=forums"))
U_開頭的就是超連結用途的
請記住左邊的東西(通常都是大寫)可以在樣版檔中找到\r

如何實作
舉例你希望在index.php的某處加入這樣的一個取代字串的步驟
\n打開index.php
找到\r

代碼: 選擇全部

	$template->assign_vars(array(
之下隨意中間插入一段例如

代碼: 選擇全部

		'MY_TEXT' => '這是我的文字',
然後打開index.php的樣版檔也就是index_body.tpl
找個你想要的位置加入\r

代碼: 選擇全部

{MY_TEXT}
當然你不一定要指派字串,你可以利用變數你想要的功能在指派給'MY_TEXT'

發表於 : 2005-06-09 09:20
pery
小羽兄,您好

感謝您的詳細回答,讓小弟了解蠻多的 , 謝謝 :-D