ОК. Я нашел лучший (супер простой) способ извлечения URL-адреса профиля, а также преодолел несколько проблем со всем решением блочной ссылки (приписанным espais), которые, как я думал, стоило документировать. Итак, вот полное решение моей первоначальной проблемы:
1) Добавьте пользовательский файл шаблона для переопределения views-view-fields.tpl.php (см. http://views -help.doc.logrus.com / help / views / using-theme - спасибо на баррапонто за полезную ссылку). В этом пользовательском файле вы должны обернуть весь код в ссылку и добавить div с четкими исправлениями непосредственно перед концом, чтобы растянуть ссылку на всю высоту контейнера.
<a class="td-link" href="user/<?php print $row->uid; ?>">
...
<div class="clear-fix"></div>
</a>
2) Теперь вам нужно избавиться от любых других ссылок внутри каждого элемента сетки, поскольку вам не разрешено вложить HTML-ссылки (это приводит к действительно странному поведению). Первое, что нужно сделать, это отредактировать View и убедиться, что ни в одном из полей не помечено «связать это поле с его пользователем». Затем, если вы хотите включить поле изображения профиля, вам нужно добавить небольшой модуль исправления, потому что по умолчанию нет способа остановить это поле как ссылку! Вы можете получить модуль из этого комментария: http://drupal.org/node/720772#comment-2757536
3) Наконец, CSS. Добавьте следующее в style.css вашей темы:
a.td-link {
display: block;
color: #000;
text-decoration: none;
border: 1px solid #E9EFF3;
}
a.td-link:HOVER {border-color: #85b3d4;}
a.td-link label {cursor: pointer;}
div.clear-fix {clear: both;}
Это удаляет форматирование ссылки из текста (поскольку мы хотим, чтобы весь блок выглядел как ссылка, а не только текст) и растягивает ссылку, чтобы заполнить контейнер. Это также делает изображение курсора непротиворечивым и добавляет приятный эффект границы, когда вы наводите курсор мыши на блок. Помните, что вы также можете добавить собственный класс CSS в свой View, что значительно упрощает выбор элементов для стилизации в вашем коде CSS.