Создаю на странице /admin/config/search/path/patterns аргументы для определённого типа содержимого. На странице /admin/config/search/path/settings разрешил ?, =, &. Аргументы мне необходимы для взаимодействия с формой.
Проблема в следующем. Если навести курсор на ссылку, ведущую на страницу, содержащую в пути аргументы, то Firefox отображает в нижнем левом углу путь с символами ?, =, &. А если перейти по этой ссылке, то в адресной строке вместо ?, =, & отображаются знак процентов и прочие символы. Например, вместо ? отображается %3F.
В чём проблема?
Комментарии
Думаю что применяется вот это http://php.net/manual/ru/function.urlencode.php;
Это как путь напрямую через стенку..
Иногда проще пробить дыру в стене,чем открыть дверь ключом.
Господа я задаю вопрос с целью получить ответ, а не ради того чтобы разнообразить свою жизнь загадками.
Прошу прощения с терминологией мог ошибиться, но Вы меня правильно поняли.
Как сделать, чтобы спецсимволы не экранировались?
то есть ты хочешь прописать в алиасы шаблоны с гет параметрами и ждешь, что это будет работать?
в алиасы не нужно "искусственно" добавлять параметры, параметры добавляй потом к уже существующему урлу-алиасу
Шаблон у меня выглядит так:
[node:content-type:machine-name]/[node:title]/[node:field-price]
Хочу, чтобы было так:
[node:content-type:machine-name]/[node:title]?price=[node:field-price]
С первым вариантом всё отлично работает. Хочется оформить соответствующим образом, чтобы правильно настроить robots.txt.
Попробуйте такое.
Делайте модуль и редактируйте под свои данные
На свой страх и риск
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 );
}
Да, думаю не стоит.. можно все переломать.
ХулиGUN заканчивайте лечить. Я же знаю, что Вы знаете решение. А что я должен прочитать о передаче get параметров я не знаю.
Всем спасибо.
Буду пробовать эти модули:
Actions REST
Context Query Parameters
Tokenize Request Parameters
Context Get
GetResponse Integration
Тогда делай паттерн таким [node:content-type:machine-name]/[node:title] , а потом в хуке уже смотри на гет(точнее его отсутствие) и редиректь.
С формой могут взаимодействовать как аргументы, так и гетовские переменные. Разницы никакой.
Я понимаю, что можно сделать через hook. Но если бы я знал, как это сделать, то не делал бы через шаблон пути.
Если можете, дайте примеры решений.
http://php-include.ru/stati/sozdanie-modulya-drupal