1

1つのビューの表示オーバーライドに2を追加するにはどうすればよいですか?

これは私が持っているコードです:

function yourthemename_preprocess_html(&$vars) {
  if (arg(0) == 'qrule') {        
    $vars['theme_hook_suggestions'][] = 'html__qrule';        
  }
}

と呼ばれるHTMLテンプレートページ:html--qrule.tpl.php

これは問題なく動作します!(@ Ionut.Aに感謝)

page.tpl.phpしかし、私もこれをオーバーライドしたいのですpage--qrule.tpl.phpが、これを追加すると:

function mythemename_preprocess_html(&$vars) {
  if (arg(0) == 'qrule') {        
    $vars['theme_hook_suggestions'][] = 'html__qrule'; 
    $vars['theme_hook_suggestions'][] = 'page__qrule';    
  }
}

と呼ばれるPAGEテンプレートページ:page--qrule.tpl.php

このエラーが発生します:

Fatal error: Only variables can be passed by reference in /var/www/vhosts/xxx/public_html/sites/all/themes/themename/page--qrule.tpl.php on line 1

誰かが私がここで間違っていることを見ることができますか?

ありがとうC

4

1 に答える 1

3

page.tpl.phpファイルにテーマフックの提案を追加する場合は、次の場所に追加する必要がありますhook_preprocess_page()

function mythemename_preprocess_page(&$vars) {
  $vars['theme_hook_suggestions'][] = 'page__qrule';
}
于 2012-05-02T21:11:30.807 に答える