Проблемы с тематизацией сетки


У меня возникли проблемы при попытке управлять макетом и полями вместе в стиле сетки представления.
В Интернете я видел несколько учебных пособий о том, как создавать тематические представления, и они предлагают использовать функции в template.php, или с помощью файлов шаблонов просмотра. Я не могу найти учебник, который мне поможет.

В частности, когда я использую файл шаблона, я не могу контролировать расположение полей (управление расположением каждого поля; управление полями в целом; добавление условных выражений; добавление классов; попытка использовать "представления-представление-", "представления-поле представления-", "представления-поля представления-" или "представления-сетка представления-"), и когда я использую функцию в template.php, Я не могу получить переменные/значения полей.

Я должен сказать, что я знаю, как включить пользовательский дизайн с помощью интерфейса модуля "Представления", чтобы управлять дизайном по полям (или управлять всеми полями каждого элемента, если я включу дизайн и поля в последнее поле). Но я хочу сделать это каким-то внешним способом для настраиваемого отображения централизованным способом (также, чтобы не позволять изменять дизайн из веб-интерфейса и иметь управление в файлах, а не в базе данных).

Когда я говорю централизованный способ , я имею в виду использование файла или файлов для управления расположением каждого поля, управления полями вместе, добавления условий, добавления классов, добавления функций (например, темы в Drupal).

Я использую Drupal 6 и просмотры 2.

Author: Rich, 2011-08-12

1 answers

В views-view-grid--viewname.tpl.php , с помощью print_r($variables) вы найдете все значения в массиве "просмотр" (это очень большой вывод, поэтому я рекомендую использовать только 1 элемент в этом тесте).

Здесь вы обнаружите, что 'result' содержит stdClass Object с полями зрения (не все, кажется, что изображений там нет), для печати этого вы можете использовать:

print_r($variables['view']->result);

С идентификатором значений вы можете использовать эти значения, например, показать заголовок узла:

echo $variables['view']->result[$i]->node_title;

Или вы можете использовать идентификатор узел, чтобы получить, например, изображения с узлов (кажется, что изображения не находятся в result).

$nIdItem = $variables['view']->result[$i]->nid;
$node = node_load($nIdItem);
echo "<img src='/".$node->field_image[0]['filepath']."'>";

Таким образом, с помощью этого способа можно управлять каждым полем, набором полей и/или добавлять условия, функции.

Я не знаю последствий использования этого способа для производительности или безопасности, это может быть новый вопрос.

 2
Author: cigotete, 2011-08-14 20:01:41