2012-03-28 1 views
3

Мне нужно, чтобы темы были просмотрены в Drupal 7. Существует тип контента «Книга», и мне нужно перечислить 5 книг и тему их особым образом (изображение предварительного просмотра, название и автор) ,Как правильно просматривать поля тем в Drupal 7

Когда я переопределяю view-view-field.tpl.php и печатаю исходный результат SQL, я вижу, что отображаются все поля. Этот код

echo "<pre>"; 
print_r($row); 
echo "</pre>"; 

дает

[entity] => stdClass Object 
(
    [title] => ... 
    .... 
    [nid] => 34 
    ... 
    [body] => Array 
    ... 

Но я не хочу передать [тело] из базы данных на стороне PHP, потому что это может быть огромным и вызвать проблемы с производительностью. Я не выбрал [body] в настройках просмотра.

Есть ли способ передать только определенные поля в views-view-field.tpl.php?

Заранее спасибо.

+0

Вы пытаетесь тема к конкретным взглядам или в целом? – chadpeppers

+0

Мне нужно указать один вид, который работает с одним типом контента – mechmsk

ответ

3

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

Для этого вам нужно будет добавить поле в поля в поле зрения.

+0

Спасибо, это работает. Но я все еще беспокоюсь о производительности. print_r ($ row) выводит все поля заданного типа контента, даже если эти поля не были выбраны в представлении. И их структура огромна. Могу ли я отключить большинство из них? – mechmsk

+0

Интересный вопрос. Не уверен в этом ... Я постараюсь это выяснить. – lgomezma

+0

Обратите внимание, что вы можете получить возможные имена файлов шаблонов на странице редактирования View, в разделе «Дополнительно»> «Тема: информация». – jackocnr

0

Чтобы разобраться в вашей информации в теме используйте:

<?php dpm ($rows); ?> // View all the information in the view 

<?php foreach ($rows as $row_count => $row): ?> 
<?php print $row['title']; 
<?php print $row['nid']; 
<?php endforeach; ?> 
4

Переменные, доступными написано в документации внутри сайтов файлов/все/модулей/видов/папки темы.

Обычно переменная вам нужно посмотреть и изменить на вид-вид-fields.tpl.php шаблона $ поля

Я использую модуль Devel (http://drupal.org/project/ Devel) для просмотра переменных доступны:

<?php 
//after enabling the devel module... 
dpm($fields); 

// This will print a Kuomo display on the page with the array's vars 

?> 

в общем случае, на взгляд узлов,

<?php print $fields['title']->content; ?> 

будет печатать заголовок узла. Для полей, попробуйте

<?php print $fields['field_FIELDNAME']->content; ?> 

Если у вас есть память, вы можете захватить все вары доступны на шаблоне в Kuomo с

<?php dpm(get_defined_vars()); ?> 

Убедитесь, что вы очистили кеш, прежде чем пытаться просмотреть ВАР ,

0

Если вы хотите изменить на тему зрения, то изменение просмотров ракурс-fields.tpl.php так:

<div class="pagecontent"> 
    <div class="colleft"> 
     <?php if($fields['field_file']->content){ ?><div class="views-field-file"><?php print $fields['field_file']->content; ?></div><?php } ?> 
    </div> 
    <div class="colright"> 
     <div class="views-field-title"><?php print $fields['title']->content; ?></div> 
     <div class="views-field-body"><?php print $fields['body']->content; ?></div> 
     <div class="views-field-view-node"><?php print $fields['view_node']->content; ?></div> 
    </div> 
</div> 

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

  • Нет связанных вопросов^_^