Строки таблиц в представлении сделать ссылками на материал

Главные вкладки

Аватар пользователя wolfphantom wolfphantom 25 ноября 2010 в 10:56

Помогите разобраться.

Задача такая: есть таблица построенная на vievs, в каждой новой строке данные из новой ноды.
Так вот надо повесить ссылку на каждую строку таблицы которая вела бы на материал.
Тоесть клик в любом месте строки должен вести в данную ноду.

У меня есть кое какие соображения но знаний все же не хватает что бы решить эту проблему.

Моя задумка: прописать ссылку в файле views-view-table.tpl.php

  <tbody>
    <?php foreach ($rows as $count => $row): ?>
<a href="ЧТО ЗДЕСЬ НАПИСАТЬ?">
      <tr class="<?php print implode(' ', $row_classes[$count]); ?>">
        <?php foreach ($row as $field => $content): ?>
          <td class="views-field views-field-<?php print $fields[$field]; ?>">
            <?php print $content; ?>
          </td>
        <?php endforeach; ?>
      </tr>
</a>
    <?php endforeach; ?>
  </tbody>

Загвоздка в том что я незнаю как получить ссылку на материал.

Или может подскажете другое решение?

Комментарии

Аватар пользователя wolfphantom wolfphantom 25 ноября 2010 в 14:31

"xxandeadxx" wrote:
в views - настройки у поля - "Создать ссылку на материал, к которому относится текущее поле"

в этом случае просто текст этого поля будет в виде ссылки, а нужно чтобы свя строка таблицы была ссылкой.

Аватар пользователя wolfphantom wolfphantom 25 ноября 2010 в 16:22

"Alangasar" wrote:
http://drupal.ru/node/36894 тут писал как делал я

спасибо я посмотрел, сделал все как написанно,
вписал это
<?php [user=preg_match]preg_match[/user] ("<a href=\"(.*)\">", $rows[$count]['title'], $complet);?>
добавил это
onclick="document.location = '<?php print ($complet[1])?>'"
но неполучилось.

Открываю исходный код страницы и вижу:
<tr onclick="document.location = ''" class="odd views-row-first">
тоесть ссылка почему-то получилась пустая Sad

Аватар пользователя wolfphantom wolfphantom 26 ноября 2010 в 11:01

"Alangasar" wrote:
url передаете в $rows?

если честно то я не догнал что Вы имеете в виду.

Вот файл views-view-table--kvartiry.tpl.php

<table class="<?php print $class; ?>">
  <?php if (!empty($title)) : ?>
    <caption><?php print $title; ?></caption>
  <?php endif; ?>
  <thead>
    <tr>
      <?php foreach ($header as $field => $label): ?>
        <th class="views-field views-field-<?php print $fields[$field]; ?>">
          <?php print $label; ?>
        </th>
      <?php endforeach; ?>
    </tr>
  </thead>
  <tbody>
    <?php foreach ($rows as $count => $row): ?>
<?php [user=preg_match]preg_match[/user] ("<a href=\"(.*)\">", $rows[$count]['title'], $complet);?>
      <tr onclick="document.location = '<?php print ($complet[1])?>'" class="<?php print implode(' ', $row_classes[$count]); ?>">
        <?php foreach ($row as $field => $content): ?>
          <td class="views-field views-field-<?php print $fields[$field]; ?>">
            <?php print $content; ?>  123
          </td>
        <?php endforeach; ?>
      </tr>
    <?php endforeach; ?>
  </tbody>
</table>

урл страницы сайта отправил вличку.
Посмотрите если не сложно.

Аватар пользователя wolfphantom wolfphantom 26 ноября 2010 в 11:13

Все разобрался что вы имеете в виду.

У меня просто в представлении поле заголовок не фигурировало и на нем не стоила галочка связать с материалом.

Аватар пользователя wolfphantom wolfphantom 26 ноября 2010 в 11:17

Спасибо большое за помощь, вроде догнал алгоритм работы.

Теперь буду дотачивать доконца. А именно, что бы все это открывалось через Lightbox2.