[РЕШЕНО] Нужно построить ссылку определенного вида во Views

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

Аватар пользователя molp molp 30 июня 2010 в 8:35

Требуется собрать представление Views со ссылкой "Добавить в корзину" которая реализуется модулем Node Basket. Модуль использует ссылку вида: /basket/№?destination=node/№. Видимо для этого нужно воспользоваться Views - Arguments, но я не очень умею пользоваться данным полем. Прошу помочь.

Комментарии

Аватар пользователя cr0ss@drupal.org cr0ss@drupal.org 30 июня 2010 в 10:41

Если нужно чтобы другое поле было как ссылка, делаешь для Node: Nid explode from display, ставишь это поле первым. А для другого поля точно так же выводишь как ссылку /basket/[nid]?destination=node/[nid]

Аватар пользователя molp molp 1 июля 2010 в 7:16

Да я пробовал Output this field as a link, поле Link path: /basket/[nid]?destination=node/[nid] но не получил никакого результата. Так же не понял где сам якорь указать.

Аватар пользователя molp molp 1 июля 2010 в 7:42

Моя проблема была изза невнимательности - Link this field to its node была не нужна.
Теперь ссылки приведены в порядок но сам якорь как изменить так и не понимаю. Предположим что нужно сделать ссылку с текстом "Добавить в корзину"

Аватар пользователя molp molp 1 июля 2010 в 8:02

Node: Nid не дает возможности изменить текст ссылки но такую возможность дает Node: Link в которой так же имеется поле Link path: однако заполнение его никак не сказалось на ссылку - нет поддержки поля [nid]

Аватар пользователя Dan Dan 2 июля 2010 в 6:00

"<a href="mailto:cr0ss@drupal.org">cr0ss@drupal.org</a>" wrote:
Если нужно чтобы другое поле было как ссылка, делаешь для Node: Nid explode from display, ставишь это поле первым. А для другого поля точно так же выводишь как ссылку /basket/[nid]?destination=node/[nid]

Чувствую себя КО…

Аватар пользователя penexe penexe 2 июля 2010 в 8:54

1) добавляешь поле Global: Custom text
2) в разделе Theme:Information находишь нужное имя шаблона для этого поля (что-то вроде views-view-field--board--page-1--nothing.tpl.php)
3) создаешь файл в папке с темой с таким именем, пишешь там
<?php print l(t('Add to cart'), 'basket/'. $row->nid, array('query' => 'destination=node/'. $row->nid)); ?>
4) возвращаешься в Theme:Information и жмешь кнопку Rescan template files, сохраняешь view.
5) радуешься

Аватар пользователя nBezborodov nBezborodov 10 ноября 2010 в 21:24

"penexe" wrote:

1) добавляешь поле Global: Custom text
2) в разделе Theme:Information находишь нужное имя шаблона для этого поля (что-то вроде views-view-field--board--page-1--nothing.tpl.php)
3) создаешь файл в папке с темой с таким именем, пишешь там
<?php print l(t('Add to cart'), 'basket/'. $row->nid, array('query' => 'destination=node/'. $row->nid)); ?>
4) возвращаешься в Theme:Information и жмешь кнопку Rescan template files, сохраняешь view.
5) радуешься

а можно ли это реализовать через Views Custom Field, что то не выходит

Аватар пользователя molp molp 2 июля 2010 в 9:08

2 Dan - Я это читал но извините я не понимаю что тут написано.

1. Создается поле Node: Nid
2. Отмечается галочка Exclude from display

3. Ставлю это поле первым

4. Создается поле Node: Link
5. Отмечается галочка Output this field as a link и формируем наш Link path: в котором благодаря шагу №2 теперь доступен паттерн [nid_1] == Материал: Nid. Итак Link path: /basket/[nid_1]?destination=node/[nid_1]

и

Но ссылка все ровно получается вида node/№

Аватар пользователя Dan Dan 2 июля 2010 в 10:06

"molp" wrote:
Но ссылка все ровно получается вида node/№

  1. «Материал: Link» уже выводиться как Link, используйте текстовое поле, тот же «Global: Custom text».
  2. путь должен быть без начального слэша, то есть “basket/[nid_1]?destination=node/[nid_1]“
  3. Если будете использовать «Global: Custom text», не забудьте вписать текст, который будет ссылкой.
  4. Вариант, предложенный [user=penexe] более “Drupal way“