Опубликовано пользователем dm
-
<?php
-
// Будем добалять синоним перед сохранением ноды
-
function mymodule_preprocess_page() {
-
-
//Будем добавлять синоним для типа ноды "page"
-
switch ($node->type) {
-
case "page":
-
-
//Наш синоним
-
$alias = "my/aliase";
-
-
//Ищем есть ли уже созданные синонимы для этой ноды
-
$source = path_load(array('source' => 'node/'.$node->nid));
-
-
//Проверяем, есть ли такие же синонимы
-
$exist = path_load(array('alias' => $alias));
-
-
//Если есть синоним аналогичный создаваемому и он не принадлежит создаваемой ноде, то делаем синоним уникальным путем добавления _0
-
if ($exist['source'] && $exist['source'] != $source['source']) {
-
$i = 0;
-
do {
-
$alias .= '_'.$i;
-
$i++;
-
} while (path_load(array('alias' => $alias)));
-
};
-
-
$node->path = array(
-
'alias' => $alias,
-
'pid' => $source['pid'],
-
'language' => 'und'
-
);
-
-
break;
-
};
-
};
-
?>
Так же можно посмотреть тут http://xandeadx.ru/blog/drupal/441
Примеры использования api pathauto (eng)