ページタイトルに追加するカスタムノードフィールドがあります。これどうやってするの?
コンテンツタイプはプロパティのリストであり、領域のサイズと場所をタイトルの横に印刷したいと思います。
例えばラージマンション900平方フィート(シカゴ)
場所は、ドロップダウンリストの分類用語でもあります。
フィールドを抽出してpage.tpl.phpを使用するためにpreprocess_page関数が必要ですか?
hook_preprocess_page
template.phpファイルの関数は確かにそれを行う1つの方法です。
function MYTHEME_preprocess_page(&$vars) {
$node = menu_get_object();
if (isset($node->nid) && $node->type == 'article') {
$data = $node->field_custom_field[$node->language][0]['value'];
$vars['title'] = $vars['title'] . ' ' . $data;
}
}
Page.tpl.phpで$title
変数には、フィールドに基づいた新しい文字列を含める必要があります。
たとえば、ノードが正しいタイプであることを確認するなど、追加のチェックをいくつか実行することもできます。
[〜#〜]編集[〜#〜]
あなたのコメントに対処するには、次のようなことをしたいと思います:
$area_size = $node->field_area_size[$node->language][0]['value'];
$location = $node->field_location[$node->language][0]['value'];
$vars['title'] = "$vars[title] $area_size sq ft ($location)";
そのためのモジュールがあります: ページタイトル 。
このモジュールでは、ページタイトルを細かく制御できます。タイトルの構成方法のパターンを指定でき、コンテンツ作成ページでは、コンテンツのタイトルとは別にページタイトルを指定できます。