我正在根据基础Drupal7安装中提供的文章类型为自定义内容类型创建自定义布局(node - article.tpl.php)。我添加的所有内容都是PDF文件的文件附件字段。
我希望在呈现的页面中有一个类似(“PDF版本”)的链接。我已经为该内容类型创建了一个模板文件,它工作正常。我已使用print render($content['field_pdf']);
代码段显示文件链接。它显示为文件的名称,作为文件的链接,旁边有一个PDF图标。几乎完美!
我只需要将文件名更改为静态字符串“PDF Version”。
提前致谢!
答案 0 :(得分:2)
function yourmodule_node_view_alter(&$build)
{
$node = $build['#node'];
if($node->type == "article" && isset($build['field_pdf']['#items']))
{
$build['field_pdf']['#items'][0]['#file']->filename = t('PDF Version');
}
}
OR
function yourmodule_node_view_alter(&$build)
{
$node = $build['#node'];
if($node->type == "article" && isset($build['field_pdf']['#items']))
{
hide($build['field_pdf']);
$build['my_themed_link']['#markup'] = l(t('PDF Version'), file_build_uri($build['field_pdf']['#items'][0]['uri']));
$build['my_themed_link']['#weight'] = 10;
}
}
我还没有测试过,希望它适合你。
穆罕默德
答案 1 :(得分:0)
如果您为PDF上传字段启用了说明字段,则应该能够使用print_r语句访问该变量。
你可以这样写:
<a href="<?php print render($content['field_pdf']['path'])?>"><?php print render($content['field_pdf']['description']);?></a>
这段代码并不完全是drupal使用的,但您可以使用node.tpl.php文件中的以下代码获取正确的数组格式。
<pre><?php print_r($node); ?></pre>