Генерация путей для Таксономии из синонимов

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

Аватар пользователя ex 2-425 ex 2-425 5 мая 2009 в 22:04

Можно ли сделать так, чтобы pathauto генерил пути из синонимов терминов, а не из их самих. Проблема акутальна, потому что термины вводятся обычно по русски, а пути хотелось бы иметь на английском (транслит тоже не вариант, выглядит ещё более уродливо, imho).

Если ли такой готовый модуль? Я так понимаю нужно создать токен [catpath-alias], как это реализовать?

Комментарии

Аватар пользователя ex 2-425 ex 2-425 6 мая 2009 в 13:35

Спасибо огромное! По образу и подобию написал то что мне надо. Если кому-то нужно, выкладываю код (лицензия GPL Smile )

<?php
/**
* Implementation of hook_token_values()
*/
function taxonomy_token_token_values($type, $object = NULL) {

if ($type='taxonomy'){
$category=$object;
$parents = taxonomy_get_parents_all($category->tid);
$synpath_raw = '';
foreach ($parents as $parent){
$synonyms=taxonomy_get_synonyms($parent->tid);
if (empty($synonyms)){
$synpath_raw =
pathauto_cleanstring(preg_replace('/\//', '', $parent->name)) .'/'. $synpath_raw;
}else{
$synpath_raw =
pathauto_cleanstring(preg_replace('/\//', '', $synonyms[0])) .'/'. $synpath_raw;
}
}
$tokens['cat_syn_path-raw']=$synpath_raw;
}
return $tokens;
}

/**
* Implementation of hook_token_list()
*/
function taxonomy_token_token_list($type = 'all') {
if ($type == 'taxonomy') {
$tokens['taxonomy']['cat_syn_path-raw'] = t("Category path using synonyms. Raw user input.");
return $tokens;
}
}

?>