Почему не работает "динамический" alias для ноды???

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

Аватар пользователя elia elia 30 ноября 2010 в 16:18

http://example.com/node/416 - работает.
http://example.com/node/416/1xx - работает. arg(3) передается.
добавляем alias для этой ноды: node/416 -> test_node
http://example.com/test_node - работает.
http://example.com/test_node/1xx - страница не найдена Sad

Почему так и как с этим бороться?

Комментарии

Аватар пользователя v1adimir@drupal.org v1adimir@drupal.org 30 ноября 2010 в 16:48

elia wrote:
...Почему так...?

Насколько я понимаю, "обычные" алиасы работают только при точном соответствии строки из url, т.е. "/test/xxx" это уже другой совсем алиас, нежели просто "/test". Так что нормально.

Что делать...? Ну может быть существует модуль к особыми динамическими алиасами. Увы, не знаю.

Аватар пользователя Tzota Tzota 30 ноября 2010 в 16:59

>>Почему так

Мнится мне, что тут должна быть куча теории по поводу "системы меню", она же система раутинга. Если не вдаваться в программистские подробности, то можно обойтись фразой "несколько теряется однозначность при определении маршрута".

>>как с этим бороться?

Ну вот v1adimir@drupal.org верно подметил насчет полного соответствия пути. И если я ничего не путаю, то для нод алиасы на лету генерит модуль pathauto. Единственное, что для существующих нод придется вызвать автогенерацию алиасов, там где-то в настройках это есть. Ну и, после включения модуля, при создании нод для них будет автоматически генериться алиас.

Если же конечный путь - это не адрес ноды, а какие-нибудь параметры, которые должны передаваться, например, во view... Хм, тогда даже не знаю, как обойтись без написания кода.