另一种方法是使用PHP。您可以在您的主题文件夹中创建一个文件node.tpl.php,从花环主题复制此文件。在它的顶部,但是,添加以下调用:
require_once('node_hooks.php');
现在建立在你的主题文件夹中的文件node_hooks.php。这给你一个给定节点的巨大力量。您应该开始通过在您的node_hooks中执行此操作来了解$ node变量。PHP文件:
<?php
print_r($node);
刷新页面节点,然后在其浏览器中做了查看源文件。这将向您显示$ node内的对象和每个数组元素。
在我的情况下,我有一个'职员'类型的节点,因为这就是我创建它时所调用的。我还有一个名为CCK Email的特殊CCK字段,并用它创建一个名为field_staff_email的字段。这存储了像[email protected]这样的值。所以,正因为如此,我可以添加到这个我node_hooks.php文件做搜索和内容替换,使我得到“联系乔纳森”,而不是电子邮件地址:
<?php
if ($node->type == 'staff') {
adjustStaffContactField($node, $content);
}
function adjustStaffContactField(&$node,&$content) {
$asWords = explode(' ',$node->title);
$sContact = htmlentities(strip_tags($asWords[0]));
$sContact = trim($sContact);
$sContact = "Contact $sContact";
$sLink = $node->field_staff_email[0]['email'];
$sContact = "<a href='mailto:$sLink'>$sContact</a>";
$sLookingFor = "<a href=\"mailto:$sLink\">$sLink</a>";
$content = str_replace($sLookingFor, $sContact, $content);
}