1

クライアントのニーズに対応するためにページタイトルをノードに移動する必要がありましたが、ビューリストのページビューに表示するタイトルを取得できません。編集、管理、トラックのページにタイトルを表示する必要があるという議論は次のとおりです。

<?php if ($title && ((arg(2) == 'track') || (arg(2) == 'edit') || 
  (arg(0) == 'admin'))): ?>
    <h1 class="title"><?php echo $title; ?></h1>
<?php endif; ?>

そして、すべてのビューリストページを含めるか、逆に、すべてのノードページを除外するという一般的な議論があるのだろうか(注:私はCCKを使用しているので、多くのコンテンツタイプがあります)?


他の可能性を嗅ぎ分ける...

コンテンツタイプごとに異なるページテンプレートを作成できることは知っていますが、すべてのCCKコンテンツタイプ用に1つの異なるページテンプレートを作成できますか?

個々のコンテンツタイプのテンプレートを追加する機能を取得するためにtemplate.phpに挿入したコードは次のとおりです。

function _phptemplate_variables($hook, $vars) {
  switch ($hook) {
    case 'page':  
      if ($vars['node'] && arg(2) != 'edit') {
        $vars['template_files'][] = 'page-'. $vars['node']->type;
      }
      break;
  }
  return $vars;
}

乾杯
スティーブ

4

2 に答える 2

3

OK - 20 以上のページ テンプレートを作成する必要のない独自のソリューションを見つけました。上記の例では!node->type、ビューはノード タイプを提供しないため、クエリに条件を追加し、サイトを調べて、必要に応じてページ ビュー レベルでタイトルが無効になっていることを確認しました。

<?php if ($title && ((arg(2) == 'track') || (arg(2) == 'edit') 
  || (arg(0) == 'admin') || !$node->type)): ?>
    <h1 class="title"><?php echo $title; ?></h1>
<?php endif; ?>

聞いてくれてありがとう :-)
スティーブ

于 2008-12-17T17:43:18.527 に答える
0

他の誰かが同様の質問を調査している場合、ビュー (モジュール) を介してノードが表示されるときに適用される node.tpl ファイルで引数を提供する別の方法は、次を使用することです。

もし ($ページ == 0)

単一ノードの「通常の」表示では、その後に続くものはすべて無視されます。これは page.tpl では機能しないため、ビューを介して生成されたすべてのページにタイトルを戻す必要がある場合は、views-view.tpl.php ファイルに追加してテーマに追加することができます。または、特定のタイプのビューに対して、他のより具体的なビュー tpl ファイルを追加することもできます。

于 2009-10-17T08:12:58.707 に答える