站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Gallery:如何为子相册列表使用缩略图
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
==Gallery 2.1.1版本== === 修改classic外观主题以显示子相册缩略图 === 注2:可在外观主题选项页面启用此特点。 补丁针对gallery 2.1.1版本。 补丁文件可在[http://nixda.biz/code/ 此] 找到。 注:这些指导内容仅适用于Gallery 2 beta 4或更新版本,因为自beta4开始外观主题系统就与以往不同了。 每个父族相册都可以显示一个其下子相册的列表,而子相册还可以有子相册,深度由你决定。但这些相册只是以文本方式显示的。如果你想看到这些子相册以缩略图样式显示出来,而不是一列相册标题的话,就需要对外观主题做修改了。 === 对theme.inc的修改 === 我针对classic外观主题的2.1.1版本做了一个补丁,以应用这里提及的修改。[http://nixda.biz/code/g2-theme-classic-theme.inc.diff g2-theme-classic-theme.inc.diff] [[User:Mastalee|Mastalee]] 2006年7月14日,12:46 (PDT) ------ Theme.inc可在外观主题文件夹根目录下找到。你需要添加一些代码,这样才能让那个缩略图在模板中可用。 在showAlbumPage函数下,做此2处修改: <pre> if (!empty($treeIds)) { list ($ret, $treeItems) = GalleryCoreApi::loadEntitiesById($treeIds); if ($ret->isError()) { return array($ret->wrap(__FILE__, __LINE__), null); } /*新增代码开始*/ list ($ret, $thumbs) = GalleryCoreApi::fetchThumbnailsByItemIds($treeIds); if ($ret->isError()) { return array($ret->wrap(__FILE__, __LINE__), null); } /*新增代码结束*/ } $theme['tree'] = $treeList; $theme['treeItems'] = array(); foreach ($treeItems as $treeItem) { $theme['treeItems'][$treeItem->getId()] = $treeItem->getMemberData(); /*新增代码开始*/ if (isset($thumbs[$treeItem->getId()])) { $theme['treeItems'][$treeItem->getId()]['thumbnail'] = $thumbs[$treeItem->getId()]->getMemberData(); } /*新增代码结束*/ </pre> === 对album.tpl的修改 === album.tpl 2.1.1版的修改在此补丁文件中:[http://nixda.biz/code/g2-theme-classic-album.tpl.diff g2-theme-classic-album.tpl.diff] --[[User:Mastalee|Mastalee]] 2006年7月14日,12:48 (PDT) ---- Album.tpl可在外观主题的模板目录下找到。 子相册的显示是在此部分完成的: <pre> {if $theme.params.showSubalbums} /*middle part snipped*/ {/if} </pre> 源代码的关键部分是列表项目。如果你想保留tree building部分,将: <pre> <a href="{g->url arg1="view=core.ShowItem" arg2="itemId=`$node.id`"}"> {$theme.treeItems[$node.id].title|default:$theme.treeItems[$node.id].pathComponent|markup} </a> </pre> 替换为: <pre> {if !empty($theme.treeItems[$node.id].thumbnail)} <a href="{g->url arg1="view=core:ShowItem" arg2="itemId=`$node.id`"}"> {g->image item=$theme.treeItems[$node.id] image=$theme.treeItems[$node.id].thumbnail maxSize=60 title=$theme.treeItems[$node.id].title} </a> {/if} </pre> 这将进行检查以保证有缩略图(如果是空相册的情况),并在存在缩略图的情况下显示缩略图。如果你想显示空相册,就添加"else",这样就会显示源代码中的标题了。如果你希望缩略图尺寸能大点的话,修改maxSize设定即可。 如果你想联机显示所有缩略图的话,将整个部分替换为如下内容。如果只列出直接子相册(第一层子相册)的话,效果会最好。 <pre> {if $theme.params.showSubalbums} {if !empty($theme.tree[$child.id])} <p> Subalbums:<br /> <ul style="display:inline"> {foreach from=$theme.tree[$child.id] item=node} <li style="display:inline"> {if !empty($theme.treeItems[$node.id].thumbnail)} <a href="{g->url arg1="view=core:ShowItem" arg2="itemId=`$node.id`"}"> {g->image item=$theme.treeItems[$node.id] image=$theme.treeItems[$node.id].thumbnail maxSize=60 title=$theme.treeItems[$node.id].title} </a> {/if} </li> {/foreach} </ul> </p> {/if} </pre> ==Gallery 2.2.X版本== 你可能已经读过了Mastalee给的内容,尤其是album.tpl,他/她对该文件所作的修改对我来说可以用。我不会在此进行多余的复制了。 这是来自''classic''外观主题2.2.3版theme.inc的'''整个'''函数,经修改以支持子相册列表的缩略图显示样式。我包括进整合函数,这样就能明白所作的修改与其他代码的关系了。但在下个版本中可能会完全变貌,所以你需要''确切''地懂得旧代码的处理方法,这样在新代码出来后就能知道如何添加缩略图了。 你应该可以剪切并将此整个区块粘贴到原始的_buildTree函数之上。 ====theme.inc==== <pre> /** * 为子相册树建立模板数据 * @return object GalleryStatus a status code * @access private */ function _buildTree($childIds, &$treeList, &$treeItems, $maxDepth, $subalbumSort, $userId) { list ($ret, $items) = GalleryCoreApi::loadEntitiesById($childIds); if ($ret) { return $ret; } $treeIds = array(); foreach ($items as $item) { if (!GalleryUtilities::isA($item, 'GalleryAlbumItem')) { continue; } if ($subalbumSort) { /* Apply sort preference of each album */ $ret = $this->_doBuildTree($item, $item->getId(), $treeList, $treeItems, $maxDepth, $userId, 1); if ($ret) { return $ret; } } else { $id = $item->getId(); list ($ret, $tree) = GalleryCoreApi::fetchAlbumTree($id, $maxDepth, $userId); if ($ret) { return $ret; } $treeList[$id] = array(); $this->_parseTree($tree, $treeList[$id], $treeIds); } } if (!empty($treeIds)) { list ($ret, $items) = GalleryCoreApi::loadEntitiesById($treeIds); if ($ret) { return $ret; } /* 新代码 */ list ($ret, $thumbnail) = GalleryCoreApi::fetchThumbnailsByItemIds($treeIds); if ($ret) { return $ret; } /* 新代码结束*/ foreach ($items as $item) { $treeItems[$item->getId()] = (array)$item; /*新代码*/ if(isset($treeItems[$item->getId()])) { $treeItems[$item->getId()]['thumbnail'] = (array)$thumbnail[$item->getId()]; } /*新代码结束*/ } } return null; } </pre>
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)