【问题标题】:Help with Content Type Display内容类型显示帮助
【发布时间】:2010-07-28 17:31:31
【问题描述】:

我是 Drupal 的新手,我正在尝试弄清楚如何为内容类型设置主题。我正在为客户建立一个房地产经纪人网站,我的主要内容类型将类似于“房产列表”。我已经安装了所有必要的模块来帮助我上传图像并且一切正常。我需要能够同时显示全尺寸和缩略图图像 - 以便为每个属性创建幻灯片(或画廊)。

例子:

// Fullsize Images
<ul class="gallery-output">
    <li><img src="example.png" /></li>
    <li><img src="example-two.png" /></li>
</ul>
// Thumbnail Images
<ul class="gallery-nav">
    <li><a href="#"><img src="example_thumb.png" /></a></li>
    <li><a href="#"><img src="example-two_thumb.png" /></a></li>
</ul>

我现在知道您必须创建一个 node-[content-type].tpl.php 文件才能进行更改。我不知道是在哪里。所以请帮助我。

在我复制的 node-whatever.tpl.php 文件中:

<div class="content clear-block">
    <?php print $content ?>
</div>

我是否要删除它并用我自己的自定义解决方案替换它?还是我在 template.php 文件中进行更改?如果两者都可能,哪个是首选解决方案? 我正在使用:cck、filefield、imageapi、imagecache 和 imagefield。如果更改预处理函数是解决方案,那么找到正确函数的最佳方法是什么??

请帮忙! (哦,如果有人说“使用视图”,我想我会发疯 - 所以请不要,这不是我正在寻找的解决方案):)

【问题讨论】:

    标签: drupal drupal-6 content-type cck


    【解决方案1】:

    您使用 node-whatever.tpl.php 的方法是绝对正确的。 $content 在处理时保存 COMPLETE 内容。如果您想设置 CCK 字段或类似字段的样式,则需要获取这些变量。页面上有,只是没有显示给你,因为所有内容都在$content 内。

    作为一个很好的帮助,请安装Devel 和(更重要的是)Theme Developer。主题开发者允许您检查站点上可用的ALL变量、调用了哪些块、使用了哪些函数来渲染哪些部分等等。这非常有帮助。您将看到所有所需的数据都可用,并且可以随意使用。

    如果你想根据 ImageCache 设置调整一些图像的大小,你可以在模板中使用它,类似于:

    theme('imagecache', 'your_preset', $field_fromcck[0]['filepath']);
    

    假设您有一个名称为 fromcck 的 CCK 字段。但是,在您熟悉了 Devel 和 Theme Developer 之后,您将可以使用此信息。

    【讨论】:

    • 感谢 DrColossos,您为我指明了正确的方向。我知道Devel,但发现它没有用——我不知道Theme Developer。再次感谢。查看我使用的解决方案的答案。
    【解决方案2】:

    在你的 node-[content-type].tpl.php 文件中,替换:

    <div class="content clear-block">
      <?php print $content ?>
    </div>
    

    与:

    <div class="content clear-block">
    <?php
    
        // Large and Thumbnail are my Imagecache Presets
    
    $cck_images = $node->field_image;
    if (count($cck_images) > 0) :
      // Fullsize
      foreach ($cck_images as $cck_image) :
        $image = theme('imagecache', 'large', $cck_image['filepath'], $cck_image['data']['alt'], $cck_image['data']['title']);
        print $image;
      endforeach;
      // Thumbnails
      foreach ($cck_images as $cck_image) :
        $image = theme('imagecache', 'thumbnail', $cck_image['filepath'], $cck_image['data']['alt'], $cck_image['data']['title']);
        print $image;
      endforeach;
    endif;
    
    ?>
    
    <?php // All Content except for images ?> 
    <?php print $content ?>
    </div>
    

    并从显示中排除图像(管理 -> 内容类型 -> 您的 [内容类型] -> 管理字段 -> 显示字段)。

    相应地为您的图像设置样式!

    【讨论】:

      猜你喜欢
      • 2021-09-14
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 2017-10-17
      相关资源
      最近更新 更多