【问题标题】:Customizing gallery layout in Drupal with Views and CCK使用 Views 和 CCK 在 Drupal 中自定义画廊布局
【发布时间】:2009-06-22 17:17:50
【问题描述】:

我正在 Drupal 6 中创建一个画廊/相册站点。 也许描述会有点详细,但由于某种原因,在 Drupal 中以简单的方式创建画廊仍然是个问题。

目前我使用的是 CCK + Views + FileField + ImageCache + Lightbox2 组合。

这让我能够 - 创建可以容纳多个图像的相册 CCK 节点类型 - 创建一个以 9x9 方式显示相册的视图(使用分页器和每行项目)

但这里有一个问题。虽然带有相册的主 9x9 视图显示良好,但当我通过单击特定相册节点的图片深入查看特定相册节点时,它在垂直行中显示上传的节点图像,我无法控制它的格式。

显然,我有 2 个选择 a) 以某种方式控制我的 CCK 字段的 html 输出及其文件(分成行) b) 或创建另一个视图来显示一个相册中的图片

就目前而言,我不确定这两种方法中哪一种最好,我具体需要做什么。

a) 我可以创建 node-album.tpl 文件 - 但它的所有内容都已经在一个 $content 变量中,我无法连续分成 3 个项目。我错了吗?

b) 如果我决定创建一个视图来显示单个相册节点中的项目,我不确定如何从父相册视图中引用它。问题是,在视图的字段部分中,我可以覆盖链接,但它只提供了 2 个替换模式来传递给潜在的“子”视图,即 [title] 和 [field_images_fid] - 这足以创建一个孩子查看以显示特定相册中的图像?

【问题讨论】:

    标签: drupal-6 drupal-views cck


    【解决方案1】:

    我只是recorded a screencast outlining one approach。关于替代方法的评论线程中有很多讨论;如果您想更好地控制画廊本身的展示,我绝对建议您使用Views Attach

    【讨论】:

      【解决方案2】:

      我可以创建 node-album.tpl 文件 - 但它的所有内容都已经在一个 $content 变量中,我无法连续分成 3 个项目。我错了吗?

      你是对的,也是错的。

      在您的 template.php 文件中,您可以将其他变量传递给您的 node-album.tpl,您可以传递 $node 变量并以非常自定义的方式显示,尽管这会在以后消除灵活性,就像您使用另一个向 $content 添加内容的模块,您必须编辑 tpl 文件才能访问新变量。

      为此,您可以使用 template.php 文件中的 preprocess_page 挂钩。您可以将变量添加到 $vars 数组并在 node-album.tpl 文件中使用这些变量。我认为 $node 已经在 tpl 文件中定义了,这可能会让你的生活更轻松。您可以完全忽略内容。

      如果这对您不起作用,您还可以创建一个自定义模块并使用 hook_nodeapi 和 hook_theme 以任何您喜欢的方式主题化,同时仍然使用 $content。但是,这可能对您的需要来说有点过多(如果您想这样做,请回复,我会单独写一个答案)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-17
        • 1970-01-01
        • 2011-11-02
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多