Передача аргументов во View (блок)
Прислано: botan
чт, 06/12/2007 - 09:24
Доброго времени суток.
Возможно ли передача аргументов в блок созданный средствами Видов?
На страницу передаётся заданием адреса, типа "page/$arg", каким либо аналогичным образом это возможно?
- botan's blog
- Для комментирования войдите или зарегистрируйтесь
Нашёл это http://www.drupal.ru/node/2387, но тут нужно ковыряться в шаблоне напрямую .. через админку невозможно?
- Для комментирования войдите или зарегистрируйтесь
Я бы попробовал через Argument Handling Code. Например так:
<?php
//для адреса http://example.com/node/123/arg1/arg2
$args[0] = arg(2); //arg1
$args[1] = arg(3); //arg2
return $args;
?>- Для комментирования войдите или зарегистрируйтесь
руки бы оторавать тому параноику который придумал зачищать $_GET, возможно все косяки в безопасности его рук дело.
короче в последнем посте все правильно, но ответ не полный, это чтобы задать значения по умолчанию, последовательность на самом деле такова
1. сначала определяешь аргументы вида (в том порядке, в каком они в урле) и ставьим "показывать все" (diplay all values) - на случай урла по умолчанию
2. дописываешь значения по умолчанию в "Argument Handling Code" по типу того что в предудыщем посте только в этом поле нельзя использовать теги "<?php" и "?>" - пиши без них
и... и все.
- Для комментирования войдите или зарегистрируйтесь
elmigo, :-D
Уже год прошёл .. но все равно спасибо =)
- Для комментирования войдите или зарегистрируйтесь
нда время летит... :)
вам хорошо, а у меня (12ти часового друпалдэнсера) этот год впереди...
- Для комментирования войдите или зарегистрируйтесь
А как присвоить к аргументу термин определенного словаря таксономии
- Для комментирования войдите или зарегистрируйтесь
А как присвоить к аргументу термин определенного словаря таксономии
- Для комментирования войдите или зарегистрируйтесь
путь из 3-х аргументов не передается
все работает при передачи пути типа "example.com/arg(0)/arg(1)"
но при передаче третьего аргумента "example.com/arg(0)/arg(1)/arg(2)" ни одного аргумента нету...
помогите победить!
- Для комментирования войдите или зарегистрируйтесь
фсе разобрался,
функция $args возвращает куски реального адреса а не синонима.
вот и у моего "example.com/arg(0)/arg(1)/arg(2)" реальный адрес "example.com/node/123" потому возвращает 123 а не arg(1)
Победить сие можно передав второй аргумент в функцию arg() со строкой адреса.
<?php
$args = arg(2,$_SERVER['REQUEST_URI']);
return $args;
?>- Для комментирования войдите или зарегистрируйтесь
<?php
$adg_url = explode('?=date-browser%2F', request_uri());
$adg_url = explode('%2F', $adg_url[1]);
print $adg_url[0];
print views_embed_view('date_browser',$display_id='default', $adg_url[0]);
?>http://drupal.ru/node/52517
- Для комментирования войдите или зарегистрируйтесь




Комментарии