站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Gallery:模块开发教程
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
====''MyPage.inc''==== 在G2中是无法直接访问模板的。你必须使用一个"视图(view)",它将会准备所有必须的数据然后载入模板。''MyPage.inc''就是这样一种视图。 现在开始粘贴一般的G2样板文件。 <pre> <?php /* * Gallery – 基于web的相片相册查看器和编辑器 * Copyright (C) 2000-2006 Bharat Mediratta * * 该程序为免费的,你可以对其做修改 * 受GNU General Public License条款约束 * 由Free Software Foundation发布;许可的第二版,或者说是 * 以后的版本。 * * 我们希望该应用程序能有用处,但 * 不打包票;也不能保证其 * 适销性或针对特殊目的的适用性。更多信息请参见GNU * General Public License。 * * 在获取此程序的同时,你应当也收到了 * GNU General Public License;如果没有的话,请联系Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ </pre> 填入其他标准数据。 <pre> /** * 该视图显示一个静态页面。 * * @package Tutorial2 * @subpackage UserInterface * @author Your Name <you@email.com> * @version $Revision$ $Date: 2006/01/05 07:00:00 $ */ </pre> 你应该对''module.inc''的结构不陌生吧,那你就应该知道接下来要做的了。我们希望使用你自己的类别对<tt>GalleryView</tt>类别进扩展。 <pre> class MyPageView extends GalleryView { </pre> 类别名称必须与你的''*.inc''文件名称相同,并以"View"结尾。现在,我们的模块还不需要做任何数据操作,我们只需要2个函数。其中主要的一个就是<tt>loadTemplate</tt>。 <pre> /** * @see GalleryView::loadTemplate */ function loadTemplate(&$template, &$form) { global $gallery; </pre> 在''loadTemplate''函数中,我们告知G2在载入模板前所需做的所有事情。 对于我们的页面,将载入Gallery顶层相册,所以我们就可以显示有关它的一些信息了。 <pre> list ($ret, $albumId) = GalleryCoreApi::getDefaultAlbumId(); if ($ret) { return array($ret, null); } list ($ret, $album) = GalleryCoreApi::loadEntitiesById($albumId); if ($ret) { return array($ret, null); } </pre> : '''注:''' 在Gallery 2.1.x中,<tt>return array($ret, null);</tt>应为<tt>return array($ret->wrap(__FILE__, __LINE__), null);</tt> 将这些呼叫的结构记录下来,这相当重要,因为在很多G2代码中都要重复使用它。另外注意我们已加载了根相册,但还没有对其做任何操作。现在将这些数据用于我们的模板。 <pre> $template->setVariable('MyPage', array('album' => (array)$album, 'showAlbum' => true)); </pre> 我们用以显示页面的数据应当被给予<tt>$template->setVariable</tt>。无论何时模板数据被添加一个"实体",它都应当被转换为上面所示的数组。 现在让我们继续,来加载模板。 <pre> return array(null, array('body' => 'modules/tutorial2/templates/MyPage.tpl')); } </pre> 如果我们能走到这一步,那么所作的这些都成功了。所以,我们告知G2成功了,并载入合适的模板文件。 你是否边栏上的注意到''back to ____''导航链接了?让我们将此特点整入我们的模块中吧。要达到此目的,我们要创建另一个函数。 <pre> /** * @see GalleryView::getViewDescription() */ function getViewDescription() { list ($ret, $module) = GalleryCoreApi::loadPlugin('module', 'tutorial2'); if ($ret) { return array($ret, null); } return array(null, $module->translate('My Page')); } </pre> 你可以将"My Page"改为你中意的明朝。最后,我们结束该类别以及PHP脚本。 <pre> } ?> </pre> 这么简单的一个任务看起来却用到了这么多代码,但这些代码可以在你今后的模块编写中反复使用的。你会发现,一旦掌握了基本模块的编码手段,就能轻松如意地编写更大更丰富的模块了。 现在是最后一个文件了,模板。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)