Как блок на моей домашней странице я пытаюсь вывести:
<ul>
<li><a><img><p>Node 1</p></a></li>
<li><a>Node 2</a></li>
<li><a>Node 3</a></li>
<li><a>Node 4</a></li>
</ul>
где каждый <li> представляет узел, а изображение / текст, предоставляемый полями CCK, прикрепленными к каждому узлу.
В настоящее время я использую блочное представление для вывода узлов 2-4 и представление «Вложение» для представления первого узла, как описано здесь: http://www.agileapproach.com/blog-entry/the-views2-attachment-display
Проблема в том, что мой вывод заканчивается примерно так:
<div class="attachment attachment-before">
<div class="view view-homepage-news ..">
<div class="item-list">
<ul>
<li class="views-row ...">
<a><img><p>Node 1</p></a>
</li>
</ul>
</div>
</div> <!-- /.view -->
</div>
<div class="item-list">
<ul>
<li class="views-row ..."><a>Node 2</a></li>
<li class="views-row ..."><a>Node 3</a></li>
<li class="views-row ..."><a>Node 4</a></li>
</ul>
</div>
Я, вероятно, могу согнуть этот вывод в соответствии с моими целями, но это потребует большого количества шаблонов и конфигурации. Я также хотел бы избегать использования CSS и / или JavaScript для изменения вывода, если только это не единственный вариант.
Учитывая это, какой самый простой способ приблизить результат к тому, что мне нужно?
Редактировать: вот примерный код php, который я использую в поле кода php пользовательского поля (на основе предложения Джереми Френча: вот код, который я использую в моем пользовательском поле PHP Code):
<?php
++$static;
if ($static == 1) {
$nd=node_load($data->nid);
$img_path = imagecache_create_path('news_image_thumbnail', $nd->field_image[0]['filepath']);
print '<a><img src="' . $img_path . '"><p>Node 1</p></a>';
} else {
print "<a>Node $static</a>";
}
?>
Я лично использую функции предварительной обработки, чтобы сделать это, что-то вроде следующего:
источник
Я не уверен, правильно ли я понимаю ваш вопрос, но я считаю, что вы могли бы использовать модуль Semantic Views для этого. Если вы зададите для стиля в разделе «Основные настройки» значение «Семантические представления», в настройках «Семантические представления» у вас будет возможность установить «атрибут первого класса», который поможет вам настроить первый элемент списка в представлении в стиле вашей темы. CSS-файл
источник
Самое простое решение - с помощью пользовательского шаблона. Это не должно быть много работы, хотя. Благодаря информации о темах, доступной в интерфейсе представлений, вы можете увидеть, какой шаблон нужно изменить. Все, что вам нужно сделать, это добавить код для печати дополнительных элементов для первого узла. Представления будут проходить по каждой строке, поэтому должно быть легко.
источник