2013-02-12 3 views
1

У меня есть представление на странице блога в Drupal 7, что я переопределяю использование файла .tpl.php или шаблона, чтобы я мог использовать свой собственный HTML-код и добавить заголовок.

Как правило, название вида можно получить в файле шаблона, используя $title или $block->subject, но это не работает в моем файле шаблона просмотра.

Использование drupal_get_title() просто отображает «Блог», потому что сама страница является шаблоном страницы, но мне нужен заголовок блока, который динамически вставлен с PHP в файл шаблона страницы.

Странная часть состоит в том, что заголовок будет отображаться в представлении просмотра вместе с результатами запроса к базе данных (поля a.k.a.).

Итак, как вы получаете доступ к переменной, которая обычно называется $ title в файле шаблона PHP?

ответ

3

Во-первых, на странице настроек просмотра перейдите в раздел «Тема: информация» в разделе «Другие». Там вы найдете список имен файлов, которые можно использовать для переопределения вывода вашего представления.

Итак, если ваше представление называется «Test View», вы должны создать файл с именем views-view--test-view.tpl.php внутри вашей папки your_theme/templates/views/, чтобы переопределить параметры отображения в представлении.

В этом файле поместите следующее:

<?php if($view->human_name) print "<h2>" . $view->human_name . "</h2>"; ?> 

Затем в разделе «Тема: информация» нажмите на кнопку, которая говорит «Пересканировать файлы шаблонов», и название должно показать сейчас, где эта точка зрения показывается на Вашем сайте.

Если эта переменная приходит пустым, вы можете получить список догадок для того, что в переменную для отображения, поставив следующий код в этом файле:

<?php 
?> 
<div> 
    <?php $list = array_keys(get_defined_vars()); 
    foreach($list as $key => $value) 
     print "$" . $value . ", "; 
    die(); 

    ?> 
</div> 

Каждый из этих переменных может быть объектом или массив, поэтому вам может потребоваться распечатать их содержимое с помощью print_r($variable) или var_dump($variable), чтобы получить представление о том, что внутри них.

+0

Я действительно не уверен, что это на 100% верно. Если у вас несколько страниц в представлении и вы устанавливаете другое название для каждого из них, вы не получите этот заголовок с помощью этого кода. – Evans

Смежные вопросы