心靈捕手 寫:
您實在是太謙虛了!
如果方便的話, 是否可以貼出來給大家分享呢?

我是真的隨便亂弄的,因為我根本不懂php
不知道會有什麼問題,不過至少現在還沒發現
以下的方法你就姑且試試,記得備份!
首先,先照原外掛的安裝指示安裝,裝完後再追加下面的修改:
一、擴充bbcode
1.把posting_body.tpl頁首的<script>到</script>這一整段javascript複製一份到profile_signature.tpl
2.把該段語法中的
post 全部改為
preview
message 全部改為
signature
3.把posting_body.tpl中bbcode的html語法(也就是input select這些標籤)複製過來
蓋掉原本在profile_signature.tpl中bbcode的html語法
同樣的,該段語法中的
message 也要改成
signature
(signature 就是 textarea 的 name 也就是 onclick 和 onchange 的目標)
4.在 usercp_signature.php 中加入所有bbcode需要用到的變數\r
這些變數可從posting.php複製過來,
就是在 "$template->assign_vars(array(" 後面像
'L_BBCODE_B_HELP' => $lang['bbcode_b_help'], 這樣的語法
原本的 usercp_signature.php 中已經有一些了,你可以把它蓋掉
二、加入表情符號(inline部份)
1.進到po文頁面按右鍵檢視原始檔,把表情符號那段複製到profile_signature.tpl裡即可\r
(就是\r
代碼: 選擇全部
<td><img src="images/smiles/m25.gif" border="0" onmouseover="this.style.cursor='hand';" onclick="emoticon('(m25)');" alt="" title="" /></a></td>
這些插入圖片的html標籤語法)
三、加入「更多表情符號」連結 (window)
(一)打開function_post.php
找到\r
代碼: 選擇全部
//
// Fill smiley templates (or just the variables) with smileys
// Either in a window or inline
//
function generate_smilies($mode, $page_id)
{
global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path;
global $user_ip, $session_length, $starttime;
global $userdata;
$inline_columns = 4;
$inline_rows = 9;
$window_columns = 9;
if ($mode == 'window')
{
$userdata = session_pagestart($user_ip, $page_id);
init_userprefs($userdata);
$gen_simple_header = TRUE;
$page_title = $lang['Emoticons'] . " - $topic_title";
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'smiliesbody' => 'posting_smilies.tpl')
);
}
$sql = "SELECT emoticon, code, smile_url
FROM " . SMILIES_TABLE . "
ORDER BY smilies_id";
if ($result = $db->sql_query($sql))
{
$num_smilies = 0;
$rowset = array();
while ($row = $db->sql_fetchrow($result))
{
if (empty($rowset[$row['smile_url']]))
{
$rowset[$row['smile_url']]['code'] = str_replace("'", "\\\'", str_replace('\\\', '\\\\\\\', $row['code']));
$rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
$num_smilies++;
}
}
if ($num_smilies)
{
$smilies_count = ($mode == 'inline') ? min(19, $num_smilies) : $num_smilies;
$smilies_split_row = ($mode == 'inline') ? $inline_columns - 1 : $window_columns - 1;
$s_colspan = 0;
$row = 0;
$col = 0;
while (list($smile_url, $data) = @each($rowset))
{
if (!$col)
{
$template->assign_block_vars('smilies_row', array());
}
$template->assign_block_vars('smilies_row.smilies_col', array(
'SMILEY_CODE' => $data['code'],
'SMILEY_IMG' => $board_config['smilies_path'] . '/' . $smile_url,
'SMILEY_DESC' => $data['emoticon'])
);
$s_colspan = max($s_colspan, $col + 1);
if ($col == $smilies_split_row)
{
if ($mode == 'inline' && $row == $inline_rows - 1)
{
break;
}
$col = 0;
$row++;
}
else
{
$col++;
}
}
if ($mode == 'inline' && $num_smilies > $inline_rows * $inline_columns)
{
$template->assign_block_vars('switch_smilies_extra', array());
$template->assign_vars(array(
'L_MORE_SMILIES' => $lang['More_emoticons'],
'U_MORE_SMILIES' => append_sid("posting.$phpEx?mode=smilies"))
);
}
$template->assign_vars(array(
'L_EMOTICONS' => $lang['Emoticons'],
'L_CLOSE_WINDOW' => $lang['Close_window'],
'S_SMILIES_COLSPAN' => $s_colspan)
);
}
}
if ($mode == 'window')
{
$template->pparse('smiliesbody');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
}
}
將這一整段複製並就貼在該段的後面,
然後把其中的 function generate_smilies
改成 function generate_smilies
2
其中的 posting_smilies.tpl
改成 posting_smilies
2.tpl
其中的 posting.$phpEx?mode=smilies
改成 posting.$phpEx?mode=smilies
2
(同理,以後若那個地方還需要整合表情符號就依樣畫葫蘆,
也就是再複製一份該段語法貼在後面,然後上述加上的數字 2 換成 3 就可以了)
(二)打開posting
找到\r
else if ( $mode == 'smilies' )
{
generate_smilies('window', PAGE_POSTING);
exit;
}
同樣的,將這一段語法複製一份並就貼在後面,
然後把 $mode == 'smilies'
改成 $mode == 'smilies
2'
把 generate_smilies
改成 generate_smilies
2
(同理,以後若那個地方還需要整合表情符號就依樣畫葫蘆,
也就是再複製一份該段語法貼在後面,然後把上述加上的數字 2 換成 3 就可以了)
(三)將posting_smilies.tpl這個檔案複製並取名為posting_smilies2.tpl放在原資料夾
接著,同樣的,把posting_smilies2.tpl裡前面那段javascript
中的
post 改為
preview
把
message 改為
signature
(同理,以後若那個地方還需要整合表情符號就依樣畫葫蘆,
也就是再複製一份posting_smilies.tpl,然後把檔名加上 3 就可以了)
(四)打開profile_signature.tpl
在那些inline表情符號的後面加上
<a href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_phpbbsmilies', 'HEIGHT=250,resizable=yes,scrollbars=yes,WIDTH=300');return false;" target="_phpbbsmilies">{L_MORE_SMILIES}</a>
(五)打開usercp_signature.php
在裡面加入\r
'L_MORE_SMILIES' => $lang['More_emoticons'],
'U_MORE_SMILIES' => append_sid("posting.$phpEx?mode=smilies
2"),
我的改法大概就是這樣,希望我沒漏掉什麼,因為我改了很多次才成功的(ro13)