Как правильно просматривать темы полей в Drupal 7 - PullRequest
3 голосов
/ 28 марта 2012

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

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

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

дает

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

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

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

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

Ответы [ 4 ]

4 голосов
/ 22 октября 2012

Доступные переменные записаны в документации в файлах папки sites / all / modules / views / theme.

Как правило, переменная, которую необходимо просмотреть и изменить в шаблоне views-view-fields.tpl.php, равна $ fields

Я использую модуль 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()); ?>

Убедитесь, что вы очистили свой кеш, прежде чем пытаться просматривать переменные.

3 голосов
/ 29 марта 2012

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

Чтобы это работало, вам нужно добавить поле в поля в представлении.

0 голосов
/ 05 мая 2014

Если вы хотите изменить тему представления, измените views-view-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>
0 голосов
/ 30 марта 2012

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

<?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; ?>
...