[РЕШЕНО]Свой token для pathauto

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

Аватар пользователя Xermit Xermit 19 февраля 2011 в 18:25

Взял за основу два файла tokenSTARTER, переименовал, сделал отдельный модуль, разместил в modules

собрал в массив values свое значение для своего токена

настроил использование своего токена в насройках pathauto для пути к ноде

по логу видно что путь собирается кладется в массив, но при создании самого пути в pathauto
произошло что то странное, значение моего токена начисто исчезло.

сижу размышляю

в функцию _pathauto_set_alias
алиса передан без значения моего токена
в чем дело не понимаю

при этом в функции
pathauto_create_alias
строка с моим значением токена создается но потом чудесным образом исчезает в недрах pathauto

Что я не так делаю?

Комментарии

Аватар пользователя Xermit Xermit 19 февраля 2011 в 19:50

Сам разобрался.
В $object функции hook_token_values($type, $object = NULL) передается структура описания node.
Но в одних случаях структура узла для $type=='node' определена полностью, а при других вызовах не полностью.
Другим словами в одних случаях $object->taxonomy содержит полное описание, а в других укороченное когда только tid есть но нет полей name и description термина.

Приходится снова делать вызов node_load, чтобы структура содержала полное описание.

Аватар пользователя Xermit Xermit 19 февраля 2011 в 20:31

С этим тоже разобрался, чтобы слэши не вырезались надо чтобы token-ы заканчивались на path, path-raw или alias, тогда pathauto оставить разделитель не тронутым.

Аватар пользователя Обухов Никита Обухов Никита 19 февраля 2011 в 22:07

"Xermit" wrote:
Приходится снова делать вызов node_load, чтобы структура содержала полное описание.

node_load нужно использовать только тогда, когда это действительно нужно Smile

Аватар пользователя mixmedvedeff mixmedvedeff 21 февраля 2011 в 9:20

Вы прекрасно сами разобрались:)
а вообще используйте вызов node_load, если что, даже повторно и проблем не возникнет.

Аватар пользователя Xermit Xermit 25 февраля 2011 в 1:07

Пока при создании или обновлении мои токены используются не страшно, но если откуда-то из другого места начнут дергать, то придется оптимизировать и грузить только термины.
Закрываю.