Модуль path использует hook_nodeapi с операцией load, соответственно, если модуль включен, то при загрузке каждого материала происходит дополнительный запрос алиаса, что является совершенно бесполезным действием.
Исключением является страница редактирования материала, где эта операция необходима, чтобы построить форму правки. Чтобы отключить сие придется хакать ядро - добавить провеку на тип страницы на которой находится пользователь, чтобы выполнять подгрузку алиса только для страниц формата node/*/edit
Варианты решения:
<?php
case 'load':
if (arg(0) == node && arg(2) == 'edit') {
$path = 'node/'. $node->nid;
$alias = drupal_get_path_alias($path, $language);
if ($path != $alias) {
$node->path = $alias;
}
}
break;
?>Если используется языковой префикс пути
<?php
case 'load':
if (drupal_match_path($_GET['q'], 'node/*/edit')) {
$path = 'node/'. $node->nid;
$alias = drupal_get_path_alias($path, $language);
if ($path != $alias) {
$node->path = $alias;
}
}
break;
?>
Comments
Demimurych (not verified)
Sat, 2010/01/16 - 15:30
Permalink
Ну во первых не всегда
Ну во первых не всегда бесполезным.
Или вы хотите сказать, что если пользователю понадобиться аиас он при темизации ноды сам его получит?
Да и вообще, мне я никак не могу выработать однозначного мнения по поводу ТАКИХ оптимизаций.
Очевидно что такой запрос будет выполнять не более миллисекунды. А следовательно ЗАЧЕМ?
Defjammer (not verified)
Sat, 2011/02/26 - 21:03
Permalink
DefJam
Довольно интересный ресурс... нашел вас через гугл ;)
cheap ebooks (not verified)
Sun, 2011/07/03 - 18:03
Permalink
In my opinion you are
In my opinion you are mistaken. Write to me in PM, we will talk.
cheap ebooks (not verified)
Sun, 2011/07/03 - 22:38
Permalink
I think, that you are not
I think, that you are not right. I am assured. Let's discuss it. Write to me in PM, we will talk.
cheap ebooks (not verified)
Mon, 2011/07/04 - 00:56
Permalink
Between us speaking, I would
Between us speaking, I would go another by.
cheap ebooks (not verified)
Mon, 2011/07/04 - 01:50
Permalink
I am afraid, that I do not
I am afraid, that I do not know.