0

晚上好,

我正在使用 Drupal 6、CCK 模块和链接字段类型。全部安装并激活。

我创建了一个名为 Slider 的自定义内容类型。用户可以上传图像、标题和预告片。我为该滑块内容类型创建了一个自定义字段,以及一个名为 Link 的字段名称为:“field_link_test”。

我创建了一个条目,填写了所有数据,包括该链接字段类型的 URL,然后单击“保存”。在views-view-table--slider.tpl.php中,我添加了:

 <a href="<?php print $node->field_link_test[0]['url'] ?>">Learn More</a>

但在前端,除了那个链接,一切都显示出来了。我还尝试清空 Drupal 缓存。

有任何想法吗?

更新下面的模板代码,一切正常,除了新的链接值什么都不输出。

<div id="slider">
<div class="slider-holder">
    <?php foreach($rows as $row): ?>
    <div class="slide">
        <?php print $row['field_image_fid'] ?>
        <div class="info-slide">
            <h2><?php print $row['title'] ?></h2> 
            <p><?php print strip_tags($row['teaser']) ?></p>
            <a href="<?php print $node->field_link_test[0]['url'] ?>">Learn More</a>
        </div><!--INFO-SLIDE-->
    </div><!--SLIDE--> 
    <?php endforeach ?>
</div><!--SLIDER-HOLDER-->
<div id="control">

</div>
</div><!--SLIDER-->
4

3 回答 3

1

简单的可能性(您可能已经检查过,但只是为了让它们不碍事):

  • 您需要在用户管理 - 权限中允许匿名/经过身份验证的用户查看该字段

否则,如果没有一些代码进行分析,就很难判断。你能发布你的整个views-view-table--slide.tpl.php,如果可能的话,你的导出视图或导出视图的链接?

编辑

既然我有机会查看您的观点,我已经进行了一些应该有所帮助的更改。

您的链接 URL 未显示的原因是您在视图中包含“节点:链接”字段而不是“内容:链接(field_link_test)”字段。第一个只会链接回原始节点,而不是您的自定义链接。另外,我认为您不能$node从 views-view-table 调用该变量(至少,当我打印它时我什么也没有得到。相反,您可以使用该$row变量。

我有一个版本的模板,它在“link_test”字段中打印出带有“了解更多”标签的 URL。我将“了解更多”文本放在视图本身中,因为这样更容易编辑,并且与 Link CCK 类型配合使用效果更好(默认情况下,它希望添加您在节点编辑屏幕中添加的标题)。

视图导出在这里: http: //pastebin.me/0ed2942f6953cb00cab1bd5386058a13。您可以将其导入回您的站点,但您可能需要先克隆原始视图以进行备份,这样如果这不是您想要的,您可以使用旧版本。

更新后的 tpl 是:

<div id="slider">
<div class="slider-holder">
    <?php foreach($rows as $row): ?>
    <div class="slide">
        <?php print $row['field_image_fid'] ?>
        <div class="info-slide">
            <h2><?php print $row['title'] ?></h2> 
            <p><?php print strip_tags($row['teaser']) ?></p>
            <?php print $row['field_link_test_url'] ?>
            <?php //print_r($row); ?>

        </div><!--INFO-SLIDE-->
    </div><!--SLIDE--> 
    <?php endforeach ?>
</div><!--SLIDER-HOLDER-->
<div id="control">

</div>
</div><!--SLIDER-->

如果您有任何问题/疑问,请告诉我。

于 2011-06-06T08:23:26.997 回答
0

您确定模板正在被拾取(<p>heavymark</p>在href上方添加......它是否出现?)?

如果出现上述情况,请在锚标记上方添加一个 var_dump($node) 并发布输出,以便我们更好地了解其中的内容(您可能希望启用XDebug以便获得更好的格式化输出,如果它尚未打开) .

于 2011-06-06T12:27:54.353 回答
0

确保将链接字段添加到字段部分的视图中。这应该允许它在您的模板文件中进行主题化。如果您仍然没有看到它,请尝试使用

print_r($rows,1);

或 print_r 的某个变量来查看所有可用于主题的行。

于 2011-06-06T19:01:43.040 回答