phpBB安装插件MODs的一般方法
之前用过Discuz,感觉Discuz太花哨,并没有我想要的那种简约,于是改到了phpBB下。可能是刚开始用吧,感觉phpBB安装插件相对于Discuz要困难许多。不过官方是有文档的,英文的,写的很好,很容易看懂,但是为了更方便中国人看,我就翻译了一下。下面进入正题:
在开始前,你要首先下载好你想要的插件,在phpBB中就叫MOD,然后按照MOD自带的文档(一般是一个.txt或者.mod文件)来安装,我们要说的就是怎么来使用这个文档。
1、“COPY“行为
如果你在文档中看到了下面这样的内容
# #-----[ COPY ]------------------------------------------ # copy file.php to file.php copy file.tpl to templates/subSilver/file.tpl
这意思就是让你把文件file.php上传到你phpBB的根目录,把file.tpl上传到使用的模板目录,完全不需要编辑它们
2、“OPEN”行为
当你看到下面的内容时
# #-----[ OPEN ]------------------------------------------ # common.php
你的任务就是用一个编辑器打开common.php这个文件
3、“FIND“行为
在“OPEN“行为后,你最可能看到的就是”FIND“行为了,因为在你做其他事情之前一般都要找到一个开始的地方
# #-----[ FIND ]------------------------------------------ # around line 184 // // Show 'Board is disabled' message if needed. //
这里要做的就是在大约184行找到下面的内容,然后等待后面的“命令”
// // Show 'Board is disabled' message if needed. //
4、“BEFORE ADD“行为
在文档中,你可能会看到类似下面的东西
# #-----[ BEFORE, ADD]-------------------------------------- # include($phpbb_root_path . 'attach_mod/attachment_mod.'.$phpEx);
当你在“FIND”行为中找到内容后,你就按照上面说的在你找到内容的前面添加内容,在我们现在的例子中会得到下面的結果
include($phpbb_root_path . 'attach_mod/attachment_mod.'.$phpEx); // // Show 'Board is disabled' message if needed. //
5、“AFTER ADD”行为
# #-----[ AFTER ADD]------------------------------------------ # include($phpbb_root_path . 'attach_mod/attachment_mod.'.$phpEx);
就跟“BEFORE ADD“行为类似,不过这一次不是要把内容加在前面,面是放在后面,效果如下
// // Show 'Board is disabled' message if needed. // include($phpbb_root_path . 'attach_mod/attachment_mod.'.$phpEx);
6、“REPLACE WITH“行为
# #-----[ REPLACE WITH ]------------------------------------------ # <form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)" {S_FORM_ENCTYPE}>
这个行为通常要和“FIND”行为一起来使用,你必须要找到内容,然后才能替换它。但是当你的phpBB安装了其他MOD时,你一定要小心的使用这个行为。我们建议你最好使用我们后面就要讲到的“IN-LINE”行为来代替。下面举例说明“REPLACE WITH“行为的使用
# #-----[ FIND ]--------------------------------------------- # around line 225 <form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)"> # #-----[ REPLACE WITH ]--------------------------------------- # <form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)" {S_FORM_ENCTYPE}>
在这个例子中,我要寻找
<form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)">
然后,用下面的内容替代
<form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)" {S_FORM_ENCTYPE}>
于是,最后的結果是
<form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)" {S_FORM_ENCTYPE}>
7、“IN-LINE FIND“行为
这个行为是与“IN-LINE AFTER, ADD”,“IN-LINE BEFORE, ADD”, “IN-LINE REPLACE WITH”有关的,我们将在后面介绍。这些行为是MOD作者最好应该使用的行为。
“IN-LINE“行为也是要与”FIND“行为一起来使用
# #-----[ IN LINE FIND ]------------------------------------------ # t.topic_title
这样看似乎很难理解,我将给出一个例子
# #-----[ FIND ]------------------------------------------ # $select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : ''; # #-----[ IN-LINE FIND ]------------------------------------------ # t.topic_title,
这是要求你在“FIND”下面的内容中寻找“IN-LINE FIND“下面的内容”t.topic_title,“
8、“IN-LINE AFTER, ADD”行为
这个行为就像下面这样
# #-----[ IN-LINE AFTER, ADD ]------------------------------------------ # t.topic_desc,
该行为要与“FIND”和“IN-LINE FIND“行为一起使用,例如
# #-----[ FIND ]------------------------------------------ # $select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : ''; # #-----[ IN-LINE FIND ]------------------------------------------ # t.topic_title, # #-----[ IN-LINE AFTER, ADD ]------------------------------------------ # t.topic_desc,
这时你要寻找完整的一行(原始的一行)
$select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : '';
然后在找到的那一行中寻找下面的代码
t.topic_title,
接下来,直接在它后面添加
t.topic_desc,
最后,我们得到下面的結果
$select_sql = ( !$submit ) ? ", t.topic_title, t.topic_desc, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : '';
9、“IN-LINE BEFORE, ADD“行为
这个与“IN-LINE AFTER, ADD“类似,不过你要把代码加到前面而不是后面
# #-----[ IN-LINE BEFORE, ADD ]------------------------------------------ # , $topic_desc
例如
# #-----[ FIND ]------------------------------------------ # prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_title, $poll_options, $poll_length); # #-----[ IN-LINE FIND ]------------------------------------------ # $poll_length) # #-----[ IN-LINE BEFORE, ADD ]------------------------------------------ # $topic_desc,
这时你要寻找完整的一行(原始的一行)
prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_title, $poll_options, $poll_length);
然后在找到的那一行中寻找下面的代码
$poll_length)
然后直接在它前面添加
$topic_desc,
最后,我们得到下面的結果
prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_title, $poll_options, $topic_desc, $poll_length);
10、“INCREMENT”行为
# #-----[ FIND ]------------------------------------------ # Powered by <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB</a> © 2001, {%:1} phpBB Group<br /> {TRANSLATION_INFO}</span></div> # #-----[ INCREMENT ]------------------------------------- # %:1 +10
”INCREMENT“行为用来增加或者减小一数字,这对于调节模板的行跨度和列跨度非常有用。
要进行“INCREMENT“行为,首先要执行”FIND“或者”IN-LINE FIND“,你需要用{%:1}来代替你想要增加或减小的数字,如果你想要增加或减小多个数字,就用{%:2},{%:3},以此类推。。。
在“INCREMENT“行为中,你首先要声明要增加或减小哪个数字,然后说明增加或减小多少。增加用+,减小用-。如果你什么都不用,就表示增加1。下面是一些示例
# #-----[ INCREMENT ]------------------------------------- # %:1 # #-----[ INCREMENT ]------------------------------------- # %:2 -3 # #-----[ INCREMENT ]------------------------------------- # %:3 +5
你还可以使用“IN-LINE INCREMENT“,方法与上面说的是一样的。
11、“SQL“行为
这个行为是要更改数据库(增加域、增加表、改变表等)
# #-----[ SQL ]------------------------------------------ # ALTER TABLE phpbb_topics ADD topic_desc varchar(255) DEFAULT '' AFTER topic_title
现在的意思就是让你执行这个SQL語句,最简单的方法就是使用类似phpMyAdmin的工具
12、“SAVE/CLOSE ALL FILES“行为
这是最后一步,当你把所有的东西都做完后,就可以保存关闭文件了。然后把它上传到你的服务器上,在你的phpBB中查看是否漂亮的完成了任务。如果出现了什么错误,就再次好好检查下你的安装文档。
注意:在进行这些工作前,备份你所有的东西!
13、“DIY INSTRUCTIONS“行为
# #-----[ DIY INSTRUCTIONS ]------------------------------------------ # CHMOD foo.php and bar.php to 777 Open in your web browser and follow the instructions in db_install.php
这里面包含了一些指示你完成安装的指令,比如执行SQL,CHMOD等。。。
14、MODx
这是一个基于XML的新式的MOD安装指导文件,通常你可以用你的浏览器打开这个文件,文件名字类似于“name_of_the_mod.xml“。
翻译了1个半小时,总算完成了,要睡了。如果您觉得ABitNo翻译的不够好,欢迎给出批评意见。
可以查看英文原文http://www.phpbb.com/kb/article/how-to-install-mods/
本文基于 署名-非商业性使用-禁止演绎 2.5 中国大陆 发布
3 COMMENTS >>LEAVE<<
-
我也是刚开始用phpBB,感觉phpBB的中文资料太少,ABitNo翻译的不错,比看E文省事多了!以后我会继续关注的。
-
@AiSiphpbb
phpBB界面清爽,功能不是那么花哨,很好。不过用起来就是不怎么方便,安装个插件都是有点麻烦。不过这就像用Linux,刚开始或许你会觉得不好学,过段时间你就会得心应手,然后就再也放不下了。。
-
This look interesting,so far.
If there's anyone else here, let me know.
Oh, and yes I'm a real person LOL.Bye,