帮助内容类型显示

时间:2010-07-28 17:31:32

标签: drupal drupal-6 content-type cck

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

示例:

// 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。如果改变预处理函数是解决方案,那么追踪正确函数的最佳方法是什么?

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

2 个答案:

答案 0 :(得分:2)

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

作为一个很好的帮助,请安装Devel和(更重要的)Theme Developer。主题开发人员允许您检查站点上可用的所有变量,调用哪个块,哪些函数用于呈现哪个部分等等。这非常有帮助。您将看到所有可用的数据都可用,您可以根据需要使用它。

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

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

假设您有一个名为fromcck的CCK字段。但是在您熟悉Devel和Theme Developer之后,这些信息将会提供给您。

答案 1 :(得分:0)

在您的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>

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

相应地设置图像样式!