Отображение в пути страницы с аргументами символов ?, =, &.

21 июля 2014 в 15:27
Аватар пользователя DD 85 DD 85 0 13

Создаю на странице /admin/config/search/path/patterns аргументы для определённого типа содержимого. На странице /admin/config/search/path/settings разрешил ?, =, &. Аргументы мне необходимы для взаимодействия с формой.
Проблема в следующем. Если навести курсор на ссылку, ведущую на страницу, содержащую в пути аргументы, то Firefox отображает в нижнем левом углу путь с символами ?, =, &. А если перейти по этой ссылке, то в адресной строке вместо ?, =, & отображаются знак процентов и прочие символы. Например, вместо ? отображается %3F.
В чём проблема?

Комментарии

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

21 июля 2014 в 16:45

"ХулиGUN" wrote:
Вы по ходу путаете аргументы с параметрами.

Прошу прощения с терминологией мог ошибиться, но Вы меня правильно поняли.

"ХулиGUN" wrote:
Друпал экранирует ваши спец.символы

Как сделать, чтобы спецсимволы не экранировались?

21 июля 2014 в 20:40

то есть ты хочешь прописать в алиасы шаблоны с гет параметрами и ждешь, что это будет работать?
в алиасы не нужно "искусственно" добавлять параметры, параметры добавляй потом к уже существующему урлу-алиасу

21 июля 2014 в 20:48

Шаблон у меня выглядит так:
[node:content-type:machine-name]/[node:title]/[node:field-price]
Хочу, чтобы было так:
[node:content-type:machine-name]/[node:title]?price=[node:field-price]

С первым вариантом всё отлично работает. Хочется оформить соответствующим образом, чтобы правильно настроить robots.txt.

21 июля 2014 в 21:15

Попробуйте такое.
Делайте модуль и редактируйте под свои данные
На свой страх и риск Smile

<?php

function path_fix_pathauto_alias_alter(&$alias, array &$context) {
// replace alias to add ampersand
  $alias =  str_replace("%26","and", $alias );
  $alias =  str_replace("&","and", $alias );
 
}

21 июля 2014 в 21:34

ХулиGUN заканчивайте лечить. Я же знаю, что Вы знаете решение. А что я должен прочитать о передаче get параметров я не знаю.

21 июля 2014 в 21:52

"DD 85" wrote:
Шаблон у меня выглядит так:
[node:content-type:machine-name]/[node:title]/[node:field-price]
Хочу, чтобы было так:
[node:content-type:machine-name]/[node:title]?price=[node:field-price]

Тогда делай паттерн таким [node:content-type:machine-name]/[node:title] , а потом в хуке уже смотри на гет(точнее его отсутствие) и редиректь.
"DD 85" wrote:
Аргументы мне необходимы для взаимодействия с формой.

С формой могут взаимодействовать как аргументы, так и гетовские переменные. Разницы никакой.

22 июля 2014 в 9:40

"Chyvakoff" wrote:
Тогда делай паттерн таким [node:content-type:machine-name]/[node:title] , а потом в хуке уже смотри на гет(точнее его отсутствие) и редиректь.

Я понимаю, что можно сделать через hook. Но если бы я знал, как это сделать, то не делал бы через шаблон пути.
Если можете, дайте примеры решений.

23 июля 2014 в 13:00