これを行うさらに別の方法は、PHP を使用することです。ガーランドテーマからこれをコピーして、テーマ フォルダにファイルnode.tpl.phpを作成できます。ただし、その先頭に次の呼び出しを追加します。
require_once('node_hooks.php');
次に、themes フォルダーにファイルnode_hooks.phpを作成します。これにより、特定のノードに対して非常に大きな力が得られます。node_hooks.phpファイルでこれを行うことにより、 $node変数の学習を開始する必要があります。
<?php
print_r($node);
ノード ページを更新してから、ブラウザで [View Source] を実行します。これにより、$node 内のオブジェクトと各配列要素が表示されます。
私の場合、「スタッフ」タイプのノードがありました。これは、作成時にそれを呼んだためです。また、CCK Email という特別な CCK フィールドがあり、それを使用してfield_staff_emailという名前のフィールドを作成しました。これは、jonathan@test.com のような値を格納していました。このため、これをnode_hooks.phpファイルに追加してコンテンツを検索および置換し、電子メール アドレスの代わりに「Jonathan に連絡」を取得することができます。
<?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);
}