Создаешь модуль
Создаешь в нём свой токен. В формировании токена склеиваешь значения нужных тебе полей через знак подчеркивания.
Далее в hook_node_view можешь брать данные с урла, функцией arg(). Расклеиваешь свой токен. Формируешь из него GET строку.
Делаешь drupal_goto
Профит.
Всё это друпалвейно.
Есть тип материала Товар, на нём с помощью Block reference выводится блок Webform. С передачей названия из ноды Товар в скрытое поле Webform проблем нет, потому что есть токен [current-page:title]. А с передачей значений полей, например, поля Цена, всё несколько сложней. Поэтому решил использовать токен [current-page:url:args:last] в ещё одном скрытом поле Webform. А шаблон пути для типа материала Товар сделать таким [node:content-type:machine-name]/[node:title]/[node:field-price]. В этом случае всё работает значения поля Цена и название ноды типа материала Товар передаются в скрытые поля Webform блока и затем успешно отправляются на e-mail. Недостаток такого решения только один адреса нод типа материала Товар получаются такими /product/title-node/1000. Если цену поменять, то поменяется и ссылка на ноду, страничке придётся переиндексироваться, чего не хотелось бы. Вот поэтому и хочу сделать так, чтобы ссылка была такой /product/title-node?price=1000
Если цену поменять, то поменяется и ссылка на ноду, страничке придётся переиндексироваться, чего не хотелось бы. Вот поэтому и хочу сделать так, чтобы ссылка была такой /product/title-node?price=1000
Кто вам сказал, что /product/title-node?price=1000 и /product/title-node?price=2000 - это одна и та же страница для поисковиков? Для поисковика что /product/title-node?price=1000 и /product/title-node?price=2000, что /product/title-node/1000 и /product/title-node/2000 - разницы никакой. и там, и там 2 разных урла.
Ваша ошибка в том, что в урле вообще присутствует стоимость товара. её никогда туда не ставят, ведь стоимость может измениться.
"DD 85" wrote:
потому что есть токен [current-page:title]
А нет токена типа [node:field-price] ? Нельзя его в вебформу подставить?
Комментарии
Снова вы за своё...
Передайте все свои поля одним аргументом, а потом парсите его и редиректь хоть с get, хоть с шмет...
Можно конкретнее приведите примеры кода.
Это требуется для одного типа содержимого.
Неужели нет модульного решения этой задачи?
Или подскажите, как отключить экранирование спецсимволов.
Создаешь модуль
Создаешь в нём свой токен. В формировании токена склеиваешь значения нужных тебе полей через знак подчеркивания.
Далее в hook_node_view можешь брать данные с урла, функцией arg().
Расклеиваешь свой токен. Формируешь из него GET строку.
Делаешь drupal_goto
Профит.
Всё это друпалвейно.
Хотя похоже это не решит твою задачу. А может и решит. Будет лучше, если ты объяснишь зачем тебе всё это надо.
Есть тип материала Товар, на нём с помощью Block reference выводится блок Webform. С передачей названия из ноды Товар в скрытое поле Webform проблем нет, потому что есть токен [current-page:title]. А с передачей значений полей, например, поля Цена, всё несколько сложней. Поэтому решил использовать токен [current-page:url:args:last] в ещё одном скрытом поле Webform. А шаблон пути для типа материала Товар сделать таким [node:content-type:machine-name]/[node:title]/[node:field-price]. В этом случае всё работает значения поля Цена и название ноды типа материала Товар передаются в скрытые поля Webform блока и затем успешно отправляются на e-mail. Недостаток такого решения только один адреса нод типа материала Товар получаются такими /product/title-node/1000. Если цену поменять, то поменяется и ссылка на ноду, страничке придётся переиндексироваться, чего не хотелось бы. Вот поэтому и хочу сделать так, чтобы ссылка была такой /product/title-node?price=1000
Кто вам сказал, что /product/title-node?price=1000 и /product/title-node?price=2000 - это одна и та же страница для поисковиков? Для поисковика что /product/title-node?price=1000 и /product/title-node?price=2000, что /product/title-node/1000 и /product/title-node/2000 - разницы никакой. и там, и там 2 разных урла.
Ваша ошибка в том, что в урле вообще присутствует стоимость товара. её никогда туда не ставят, ведь стоимость может измениться.
А нет токена типа [node:field-price] ? Нельзя его в вебформу подставить?
http://help.yandex.ru/webmaster/controlling-robot/robots-txt.xml#clean-param
Нет, нельзя, работать не будет.