小弟自从2002年来到中国Linux公社, 被公社使用的PHPNUKE所吸引,自己也开始用了它做为建站的程序. 后来因为觉得太过正规,对于个性散漫的我更喜欢另类风格, 所以最后还是只采用了PHPBB 2的论坛程序. 虽然有一阵子没有安装和使用PHPNUKE了,但当时为了建站找了些资料, 也有些自己的心得. 看到不断有朋友询问如何使用PHPNUKE建站的问题, 特抛砖引玉一下. 自知不是PHP高手, 有错误的地方希望其他人指正,同时公社里CONNER,黑企鹅,GUGONG等都是其中高手,公社的代码就是他们改写和维护的,有任何疑问请直接向他们请教. 恕小弟对提问概不回答. 另外, 当时小弟用的PHPNUKE的版本还没将PHPBB2加进去.PHPNUKE和PHPBB2是由两个不同的开发者开发维护的.当时PHPBB2的HACKER专门提供了将PHPNUKE自带的论坛模块去掉,将PHPBB2论坛加进去的HACK(在PHPBB2的网站可以下载). 为此PHPNUKE和PHPBB2之间还产生了一系列的纠纷,后来PHPNUKE的开发者一不做二不休, 将PHPBB2直接加了进来,也就成了现在的6.5版本. 若有朋友想转载这个帖子, 请保持帖子的完整性, 并注明引自中国Linux公社(www.linuxfans.org)的论坛. CNOOC & HOUSCOUS 5/6/2003 . 官方的安装指南 . 官方的版本升级指南 以下是个人经验 · 安装说明与常见问题 · 自制外挂 · PHP Nuke的档案与用途 · theme相关的函数与用途 · mainfile.php中的函数与用途 · How-To 基本需求 1.主机系统∶Freebsd.Linux.Windows.MacOS.OS/2 etc. 2.Web Server:Apache.IIS 支援PHP3或PHP4 3.SQL Server:MySQL . 官方的安装指南 Installing the Package (安装 PHP Nuke) Installing the Package ---------------------- Untar the package into the directory you want to use on you web server, if you're unsure where that is, ask you system administrator. (Windows users can use WinZip or WinRAR to uncompress .tar.gz files) 解压套件 tar -zxvf PHP-Nuke.tar.gz Change to the /sql/ directory and there is a file called "nuke.sql" this file contains the commands to build the database structure, tables and the default data. 1) Create a database called, for example, nuke: 新增一个资料库,例如名称 nuke mysqladmin create nuke 2) Now fill the databases with the tables in nuke.sql file: 导入资料库 mysql nuke < nuke.sql 3) In order to use the File Manager, please be sure to chmod 666 ALL files and 777 ALL directories. NOTE: know that doing this can have some security issues. 译注∶已经没有内建档案管理员了,所以并没有这项目录权限开放与安全顾虑 4) That's it!... now you need to edit the file "config.php" to set the database options. Please read carefully the instruction on that file! After that, point your browser to: 已完成了,接著以浏览器连结 http://yourdomain.com/admin.php Create your Super User following the on-screen instructions.跟随页面说明来建立站长帐号 Now click on "Preferences" and change whatever you want to fit your site info. All the options you need to change are in the Preferences menu. If you need help just click con the help icon at the right-top of the Administration Menu. This will open a new window with the help you need for each section in the administration system.再以站长帐号登入管理选单,先做偏好设定 NOTE: If you want to edit config.php file from web browser remember to chmod 666 the file config.php or your changes will not be saved! If can't execute chmod just edit the file by hand and re-upload it to your server.如果你要在线上编修偏好设定,那得先把 config.php 这档更改权限为 666 SECURITY TIP: It's a good choice to put your config.php file outside the Web Server path, then you can create a new config.php with the line: 一个加强安全性的建议是把 config.php 放在网站外 . 升级指南 Upgrading from previous versions (版本升级) Upgrading from previous versions -------------------------------- To upgrade a prevoius PHP-Nuke installation to this new version you need to edit the selected upgrade file from upgrades directory and launch your web browser to: 先编辑要升级的版本,做资料库参数设定,再以浏览器连结之 http://www.yourdomain.com/upgrade55-56.php all the new tables will be added and updated automagically without touch your old data. 新资料表会被加入或自动更新,原来的资料仍然都在 IMPORTANT: Remember to backup always your database before any upgrade, just in case. If something goes wrong don't come crying to me. 建议在任何升级前先备份资料库,只是为了以防万一,若有什麽出错了,请不要找我哭诉 |
代码: |
· 安装说明与常见问题 · 开始安装 1.解原始套件压缩档(一般在client端PC解压) 2.将解压後的html目录下的所有档案上传到你的网站。php档以ASCII模式上传,图档以BINARY模式上传。 3.建立资料库: telnet登入者,在console执行mysqladmin create nuke 使用phpMyAdmin者,在phpMyAdmin建立资料库nuke 4.以sql子目录下的nuke.sql导入资料库 telnet登入者∶在console执行mysql nuke < nuke.sql 使用phpMyAdmin者,以"浏览"选择nuke.sql,按"GO" 5.编辑config.php设定$dbhost="localhost";$dbuname="root";$dbpass="密码";$dbname="nuke"; (如果你不是以MySQL的管理者root来存取nuke资料库,请自行更改之) $nukeurl="http://www.y-channel.com"; $system设定FreeBSD/Linux用预设的0,Windows要设为1 上传config.php并更改档案属性为666 6.以浏览器连结nuke你的网站的admin.php,预设管理者为"God",密码"Password"(大小写有别);登入管理页面。 好了,你已经是一个PHP Nuke网站的站长了,记得先更改站长设定 (名称与密码) · 切换为中文语系,画面出现乱码 老问题了.nuke5.x每一版本都如此.与中文不相容,可自己修改,只是个极小的问题而已. 方法:进管理页面->版面区块->main menu 把<strong><big>./big></strong>都改成 <li>就好了. 还有一个地方也如此,那是Administration 区块. · 站长发布新闻,却看不到 刚开始升级到PHP Nuke 5.x的时候,真的最不习惯就是这里了。 它新增的多语系,我们未蒙其利、先受其害。 预设的偏好设定(设定在config.php中)是使用多语系的。那麽发布新闻时要小心∶把你的新闻选定中文或All,要不然,发布新闻却看不到了。 我的做法是一安装好,就去修改偏好设定,选择"不启用"多语系,预设语言选择"Chinese".然後,就可以不受这层干扰了。另外,我习惯上传前先将其他的语系的模块都删除掉,这样可以省下很多上传的时间和空间. · 不同版本在不同平台安装的差异 没有丝毫差异! 不管是PHP Nuke 4.x 或 5.x 各版本,在Linux/FreeBSD/Windows 2000 professional/Windows Me/Windows 98 等各不同OS上,采用Apache+PHP+MySQL或FoxServer或IIS 5安装方法完全一样。 · 找不到footmsg()的错误 解决方法为∶在footer.php中加入底下这个函数,便可通用无阻。 function footmsg() { include("config.php"); echo " <center><font class=tiny>n $foot1<br>n $foot2<br>n $foot3<br>n $foot4<br>n </font></center>n "; } · 新增报导图案上传的问题 1.上传图档的目录是nuke/images/articles,目录权限需为777 2.上传档案的大小限制受php.ini的预设值限制 3.上传图档仅供上传到images/articles下,要自己在报导中建超连结的.而非一上传就会自动连结显示 4.上传图档只在新增报导时才有作用,再次编辑旧报导时选择上传图档是无效的。 · 安装某些模组後出现undefined smile() 这个smile函数来自phpBB,虽然PHP Nuke 5.x起已无内附phpBB但这些函数都在functions.php也都还包装进来了,所以只要在出现错误的php档中,找到include("header.php");之前加入一行include("functions.php");即可解决。 · 首页的新闻图示出现大叉叉 在PHP Nuke 5.3以上版本,只要站长登入管理选单做过偏好设定,再回到首页,就会发现原来的topic images无法正确显示了。 原因是∶原来的config.php中最後面有个$tipath="images/topics"的参数指定路径,但admin/modules/settings.php在设定完偏好设定後写入config.php时给遗漏了。 所以应该去修改admin/modules/settings.php,找到一行 $content .= "$Version_Num = "$Version_Num";nn"; 在它之前插入一行 $content.="$tipath = "images/topics";"; 再重做一次偏好设定即可。 · 会员注册错误 检查config.php的$system设定 如果是$system=0 (Linux/FreeBSD),则会寄密码信给注册者,如果出错,应该检查php.ini的sendmail路径设定。 如果是$system=1 (Windows),则不会寄送密码给注册者 PHP-Nuke 5.3.1 之前的版本才有这个参数 · 如何让Windows系统也能使用mail()寄出信件 编辑c:windowsphp.ini找到一个sendmail区段 [mail function] ; For Win32 only. SMTP = localhost ; For Win32 only. sendmail_from = me@localhost.com 设定SMTP=你的email所在的mail server sendmail_from=你的email · 首页新闻的时间错误 当post一篇新闻後回到首页,发现有时间显示错误或new icon不能显示出来,则要修正mainfile.php的formattimestatmp()函数 另外,在Download、Web_Links这两个模组内,也都有同样情形,但他们却不呼叫formattimestatmp函数,而是hardcore,所以,你还得去修正modules/Downloads/index.php和modules/Web_Links/index.php把其中相同的问题一一修正,之後才能正确显示新进下载、网站连结的红色、绿色、蓝色icon · 首页新闻的张贴者未显示 如果在发布新闻後,回到首页,不能看到正确显示post by 什麽人,应该修正mainfile.php中的formatAidHeader()函数,修正法,看这里 · 加装module後的启用 PHP Nuke的模组可由站长决定启用与否。如果启用则会自动显示在模组区块;如果不启用则只会出现在站长登入後的模组区块下方的Inactive modules部份,只有站长可以连结。 而,启用与否则由站长登入後的「管理选单」中的「modules」来进行个别的设定。 · 重复要求输入ADMIN ID及PASSWORD 据网友tcleu的经验,(似乎也有他人遇到过类似情形),当config.php的$system设定无误,发现登入站长管理,也见到管理选单,可是只要点选任一个管理选项,就会跳回到登入画面。 这是由於主机的时间错误,造成cookie过期之故。只要把主机时间校正好即可。 · Nuke 5.5 的 Forum 模组无法寄通知信 Forum用来存放post topic的资料表叫 nuke_bbtopics,而modules/Forum/reply.php中检查要否寄通知信却向nuke_forumtopics资料表查询,所以出现无法寄信的现象。 所以应该修正reply.php第215行的部份。其实,用快速搜寻不难找到这个forumtopics 字串。 · Nuke 5.5 的 Forum 有很多倒斜线 修改functions.php的第1241行 $word = quotemeta(stripslashes($w[word])); $replacement = stripslashes($w[replacement]); 为 $word = quotemeta($w[word]); $replacement = $w[replacement]; 似乎可以改善一些。唯野诱晰|多一个倒斜线 · Nuke 5.5 的 Forum 的乱码问题字解决方法 修改functions.php把function own_stripslashes($string) 最後的 return preg_replace($find, $replace, $string); 改成 $string=preg_replace($find, $replace, $string); $string=stripslashes($string); return $string; 这能解决说,不妨试试~ · redeclare translate() 当出现类似下行的错误讯息 Fatal error: Cannot redeclare translate() in language/lang-chinese.php on line 141 应该编辑出错的那个php档案,把所有的include("mainfile.php");改成include_once("mainfile.php"); require("mainfile.php");也改成require_once("mainfile.php"); 事实上,PHP Nuke 5.5已全部改用require_once了,但有些旧版的外挂模组并未随著更新,所以要自己修正才行。 · 安装後无法成功登入站长 如果使用 PHP-4.20 架站,则要修改php.ini 的 register_globals = Off 为 register_globals = On · 忘了站长密码 直接以phpMyAdmin把nuke_authors中的管理员的密码清为空白,即可免输入密码登入 .再去设定密码. · 删除站长帐号 直接以phpMyAdmin把nuke_authors中的管理员的资料删除,再连结admin.php 可重新设定站长.(记得不要再产生同名的会员帐号) · PHP-Nuke-6.0 安装变简单了 PHP-Nuke-6.0 安装变简单了 在其它版本的架站机都早使用 install.php 之後, PHP-Nuke 6.0 终於也有了 install.php 而且还更进一步的, 不需去连结 install.php 只要连结首页 index.php 就在不声不响间自动执行完毕了. 真是太好用了. 朋友们,要记得(1)先建好给 nuke 用的空资料库, 然後(2)设定好 config.php 的资料库使用者名称和密码, (3)连结首页 index.php |
代码: |
. 自制外挂 . 如何加入一个自己的网页? 编辑一个新档,以.php为附档名,例如∶color.php,内容形式如下 <? if (!isset($mainfile)) include("mainfile.php"); include("header.php"); ?> ...... 这是你自己的网页,使用html语法,即一般网页的至之间的内容 ....... <? include("footer.php"); ?> 存档後,放在nuke网站的根目录,再从管理选单->版面区块 去建立超连结到这个自制网页,如上例的color.php · 有很多外挂,又要放在别的目录该如何做? 如果,你有不少外挂,而且不想放在Nuke根目录的话,不妨在Nuke根目录放一个doc.php,然後在Nuke根目录下开一个子目录,例如:2001 把你的自制档案放在2001之下,例如档名color.html的档案 doc.php的内容为: <? if (!isset($mainfile)) include("mainfile.php"); include("header.php"); if (isset($filename)) include("2001/$filename"); include("footer.php"); ?> 使用的方法为建一超连结到doc.php?filename=color.html · 如果要加入的是互动网页的话呢? 这时,可以运用 inline iframe,以网址连结的方式插入到PHP Nuke网站中 方法为∶编辑新档nb.php置於Nuke根目录,内容如下 <? require_once("mainfile.php"); include("header.php"); if (isset($url)) echo "<IFRAME SRC="$url" ALIGN ="center" HEIGHT="1000" WIDTH="100%">本网页使用 inline frame , 请使用 Internet Explorer 浏览 </IFRAME>"; include("footer.php"); ?> 使用的方法为建一超连结到nb.php?url=http://www.y-channel.com/ 此一方法可插入静态或动态网页,而且不限於在你原来主机上的网页。 但运用时,建议不要擅自连结别人的网站为佳。 · PHP Nuke内建的外挂网页方法 只要在连结Nuke站的index.php加上参数file即可自动外挂进来哦~ 不晓得从哪个版本起就有了,我看了一下,PHP Nuke 5.2以後的版本都有 使用方法,编辑你自己的网页,例如somedir/something.html置於Nuke网站相对映的位置 连结方法:index.php?file=somedir/something.html 这个方法在 PHP-Nuke 5.5 之前的 5.x 版本可以用, 以後版本因安全问题已去除这部份程式码了. |
代码: |
· PHP Nuke的档案与用途 · index.php 首页,但其实它是含括其他档案。 重点却在取得网站最新的10篇(篇数依config.php设定而定),以显示在首页中间。 · mainfile.php 整个Nuke站的重心所在,是网站的Engine。 把共用的函数都集合在此。这些函数中较少控制到页面显示,但却控制到整个网站的作业,主要在取得与修改资料库内容,而这些资料即动态地产生了版面区块的内容。 · header.php 取得theme设定,产生网站页面的上方及左区块的内容,而显示则交由预设theme的themeheader()函数来完成。 另外,它又含括counter.php来进行网站动态的收集与写进资料库的动作。 · footer.php 产生页面右侧区块及下方注脚的内容,而显示则交由预设theme的themefooter()函数来完成。 · modules.php 执行模组的入口,也是一个模组管制与环境准备的重点。别看这档案不大,却大大的减轻了模组程式的安全检核与维护工作。 看PHP Nuke及其分支PostNuke的发展不难发现,模组是一大要素,软体建构越形简单化、发展速度也倍增、网站更形多样丰富。 · admin.php 与 modules.php 有某种程度相类似,但它进行站长管理模式与安全检核及环境准备;越来越智慧了,它会自动取得管理程式超连结,以供站长简易地进行网站管理工作。 · .htaccess 在很多子目录内都有此档, 但其内容并不全相同. 在根目录它保护 config.php , 在其它子目录内,它确保 .php 档只能被入口程式含括而不能直接连结执行. 事实上,这是 Apache 的目录安全设定档. 但充份运用在保护 PHP-Nuke 网站上. · auth.php 提供站长认证的安全机制。 · backend.php 提供XML格式的网站新闻与他站做後端交流。不管是PHP Nuke 站或其他类型网站,只要连结这个档案即可取得backend.php所在站台的最新新闻(当然笔数是由所在站台所设定). · banners.php 这是网站的广告横幅管控程式,重点在随机秀出广告横幅,并且计数;对於商业广告而言,计数及点连率是很重要的。 · 子目录内空的 index.html 在众多子目录内的 index.html , 它的档案长度为 0, 是为了保护不让人直接连结该子目录. 当有网友直接连结子目录时只会看到一页空白而不会显示出档案列表. |
代码: |
· theme相关的函数与用途 · themeheader()函数 开启整个网页版面及网站上方logo、左侧区块等显示的函数。 由header.php取得预设theme,再叫用此themeheader(),延续要输出之内容以产生版面<body>开始的部份,再叫用mainfile.php中的blocks(left)函数来产生左侧区块。 · themesidebox()函数 既已提到区块,那麽在mainfile.php中的blocks()函数查询资料库取得左、右侧区块的内容时,就得叫用themesidebox()函数来产生显示。 blocks()传给themesidebox()的参数有两个$title(标题),$content(内容),都可以是一长串的HTML码。 这种做法,将资料库的动作与页面显示的动作分开来,才能随意变换theme而保持资料的正确与完整。 · OpenTable()和CloseTable()函数 这是小巧,但使用最多的函数了,作用为产生table及封闭table 原始码∶ function OpenTable() { global $bgcolor1, $bgcolor2; echo "<table width="100%" border="1" cellspacing="1" cellpadding="0" bgcolor="$bgcolor2"><tr><td>n"; echo "<table width="100%" border="1" cellspacing="1" cellpadding="8" bgcolor="$bgcolor1"><tr><td>n"; } function CloseTable() { echo "</td></tr></table></td></tr></table>n"; } 在这个函数中用到2个<table>标签,外层做为边框颜色用,内层才是背景色。 · themefooter()函数 在这个函数,以 IF 来判断是否为首页($index=1即为网站首页),交由blocks(right) 产生右区块;否则就不产生右区块。 最重要的就是产生两个</td></tr></table>以对称在themeheader()函数中的两个<table>标签。 最後的footmsg()函数,产生网站中每一页面下方的共通资讯。 footmsg()函数和blocks(right)函数都定义在mainfile.php中。 · themeindex()函数 这个函数是显示首页中间的新闻,包括标题、本文。其中又叫用其他函数以显示张贴者(formatAidHeader)和本文(FormatStory)。 · themeindex() 函数 themeindex() 函数是首页中间每一篇新闻显示的 TABLE. 它是由 modules/News/index.php 去读取新闻资料後, 以参数丢过来, 再由 themeindex() 去套用样版输出网页. 每叫用 themeindex() 一次,就是输出一篇新闻. themeindex() 中叫用 theme.php 中的另一个 FormatStory() 函数来排列新闻中的 $hometext, $note 二个参数内容.(即内文,站长注解) 如果要取消新闻之中的斜体字, 要修改的也就是 themeindex() 和 FormatStory() 中所出现的 · themearticle() 函数 themearticle() 函数定义网站新闻的详细全文页面, 来自於 modules/News/article.php 读取单篇新闻, 再叫用 themearticle() 排列秀出全篇新闻内容. 它同样地叫用 FormatStory() 函数来排列 $hometext, $bodytext, $note 内容 |
代码: |
· mainfile.php中的函数与用途 · is_admin()函数 站长安全检核函数,只要在其他程式中以is_admin($admin)叫用即可检查是否登入为站。 回传值∶真(1)、伪(0) 使用前,记得该程式已宣告global $admin; · is_user()函数 这个函数即为判别是否登入会员,使用前先宣告global $user; 常见的用法: global $user; if (is_user($user)) { do_something; } 可做为自制外挂php网页的存取权限管制.或者加上某些模组index.php前头,管制module区分使用者开放与否. · message_box()函数 产生首页上方正中间的 message, 翻译上有说"通知"、"公告",它的管理程式虽把资料写入到资料库中. 可是网页输出上并非交由theme 来负责,所以,如果,你必须修改以配合theme的色调或显示表格大小的话,必须直接到此函数中来修改. · selectlanguage()函数 产生语系选择区块,它会自动搜寻 languages目录中的语系档,建立语系资料以供选择. PHP-Nuke 6.0 起这个语系选择区块改成档案型区块, 置於 blocks/block-Language.php, 供不需支援多语系者可关闭或删除之. · get_lang($module) 函数 get_lang($module) 函数是每一个功能模组的共用函数, 它会根据选用语系, 依当时执行或传入参数的模组名称, 自动去含括 modules/......../language/lang-xxxx.php [ 回到顶端 ] · title($text) 函数 此函数仅供传入 $text 产生一行置中的标题之用, 做为每个功能模组呼叫使用. 如果改变这个函数内容,对全站的小标题都产生效果.(前提: 模组中都叫用这个函数来产生小标题, 有些旧模组还没有全部改用此函数, 就要自己改一下了) · is_active($module) 函数 is_active($module) 函数依参数检查 $module 这一个功能模组是否处於启用状态 很实用的函数,例如在会员首页要不要秀出 WebMail 和 Private Message 图示供会员使用, 就要使用 is_active() 函数检查这两个模组是否启用. is_active() 回传布林真伪值. · online() 函数 在网站根目录的 header.php 中叫用此 online() 函数, 用途在取得 30 分钟内的站上人数(会员与非会员) , 写入到 nuke_session 资料表中. 这项资料也是 Who's Online 区块所显示资料的来源. 如果要改变线上人数的计算时间由 30 分钟缩短为 5 分钟, 就可以修改此函数中的 $past = time()-1800; 为 $past = time()-300; · getusrinfo($user) 函数 会员登入之後会产生一个 cookie , 此一函数读取会员的 cookie 比对资料库中的会员帐号与密码, 正确後取出会员的帐号资料, 再以阵列传回会员资料. 这里的会员资料当然就包括 选用 theme , comment 显示与否, 首页新闻显示篇数 , 会员自订区块等等 · check_words($Message) 函数 脏话过滤, 依据 config.php 中的 $CensorList 阵列检查, 并过滤以其他字元替代. · check_html() 函数 过滤网友张贴文字内的 html 标签, 用於 Submit News 和 comment 时. 允许使用的 html 标签定义在 config.php 档中的 $AllowableHTML 阵列. · filter_text() 函数 叫用前述两个函数, 接连做脏话过滤与 html 标签过滤 · formatTimestamp($time) 函数 转换 unix timestamp 为日期字串, 传回型如 Mar, 09 2003 的格式, 格式来自於 language/lang-xxxx.php 中的设定. |
代码: |
· How-To · 如何做後端交流(backend)? 举例而言: 在你的nuke站台新增版面区块 标题∶Y-channel Technology RSS/RDF 档案网址:http://www.y-channel.com/backend.php 按"产生版面区块" 即可在你的nuke首页出现本站的後端交流新闻标题了。 此外可在"更新时间"处设定nuke站自动更新该backend资料的时间间隔。 · 如何快速找到新闻? 对一个PHP Nuke网站而言,新闻发布是一项最主要、也最能展现网站价值的了。 当我们拜访这样的网站时,要能节约时间、有效地找到我们所需的资料。就得使用"站内快速搜寻"弁遄C 在PHP Nuke的每一个theme都至少提供有首页右上角的Search form,输入关键字、按Enter,即可快速搜寻。 此外,如果该PHP Nuke网站开放有"站内搜寻区块",那是最方便不过了。 至於外挂的讨论区模组(phpBB、forum3、XBMforum、phorum等等)也都提供有各自的关键字搜寻弁遄A在众多的讨论中,有时翻页看完主题,还没法知道自己要的资料在哪,这时候,聪明的你,把无聊的翻页动作交给讨论区搜寻去做即可。 善用搜寻,你的效益将倍增。 体贴的站长,也应在架站後,检查搜寻功能是否正常运作。 · 注册会员如何取得密码? 如果是$system=0(Linux/FreeBSD)则寄送密码给注册者。 如果是$system=1(Windows)则不寄送密码,直接显示密码给网友,可立即登入更改密码。 · 忘记密码,怎麽办? 1.在查询密码的表单填入昵称 2.收信取得确认码 3.再回到查询密码表单,填入昵称和确认码,注意确认码後若有空白要去除(以复制过来的话,常会多一个空白字元) 4.再收信取得密码 现在你可以新密码正常登入了,记得登入後马上去变更个人资讯更改密码。 · 如何调整module选单内的顺序 如果你是PHP Nuke 5.4或5.5,可以修改blocks/block-Modules.php的第42行左右,有行 $result = sql_query("select title, custom_title from ".$prefix."_modules where active='1' ORDER BY title ASC", $dbi); 把最後的 ORDER BY title 改成 ORDER BY mid 再手动修改nuke_modules的资料表,调整mid,则会依mid由小而大排列,而非预设的依 title 的字元排序了 · 安装新模组 最好解压後有install.txt或readme.txt 先读一下安装说明. 通常是解压模组後会有完整的路径 html/admin html/images html/modules html/modules/Addon_Sample html/modules/Addon_Sample/index.php 类似这样的目录,以html对应你nuke网站的根目录,而 Addon_Sample这个模组就上传到网站modules目录下 解压後有多少个子目录就上传几个. 如果解压後没有上述的路径,可能就是这样 Addon_Sample Addon_Sample/index.php 那就是将Addon_Sample整个目录上传到网站modules之下 再找看看有没有 xxx.sql 将 sql 档导入 nuke 资料库. 再找modules/Addon_Sample/config.php 那就是设定档,看一下内容,做必要的设定. 再到管理选单->功能模组 ->显示 Addon_Sample |