Настройка УРЛов

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

Аватар пользователя lsass lsass 21 февраля 2007 в 20:23

Возможно ли заменить термин node в урлах на другой подходящий и понятный?
Как сформировать УРЛы вида категория/номер, а не node/номер?

Комментарии

Аватар пользователя RISK RISK 27 февраля 2007 в 6:14

>Возможно ли заменить термин node в урлах на другой подходящий и понятный?

Вот по этому адресу оригинальная статья: Mass URL aliasing

Краткое содержание. В папке:
/sites/default/
есть файл — settings.php, сними с него атрибут только для чтения, вставь код:



<?php
// Example for Drupal 4.7.x and up
function custom_url_rewrite($type, $path, $original) {
// This path was already aliased, skip rewriting it
if ($path != $original) {
return $path;
}
if ($type == 'source') { // URL coming from a client
return preg_replace('!^display/(\d+)$!', 'node/\1', $path);
}
elseif ($type == 'alias') { // URL going out to a client
return preg_replace('!^node/(\d+)$!', 'display/\1', $path);
}
}
?>

Убери из этого примера первую и последнюю строчки (которые со знаком вопроса). Сохрани файл и верни атрибут только для чтения. В создаваемых документах слово node будет заменено на слово — display. Это слово использовано в примере. Хочешь другое, замени на то которое тебе нравится.
В Drupal 5.1 работает.

Аватар пользователя Natalie Natalie 27 февраля 2007 в 7:53

Ну во-первых можно создать path alias вручную.
А если хочется атоматизации, то да, pathauto Smile
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя B.X B.X 28 февраля 2007 в 18:49

интересно, а кто знает такое же хорошее короткое слово, как и node, которое его может заменить?

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 28 февраля 2007 в 19:30

Давняя дискуссия. Пока вот общепонятного перевода не нашли. "Нода", "материал", "документ"...
Я пока знаю в русском языке только одно короткое и универсальное слово. Smile


Я ставлю строчку "php_value error_reporting 7" в файл .htaccess, а вы? Smile Полный русский перевод Drupal 5.x и еще некоторых модулей.

Аватар пользователя Beshly Beshly 29 марта 2007 в 23:47

А как в этот код

// Example for Drupal 4.7.x and up
function custom_url_rewrite($type, $path, $original) {
// This path was already aliased, skip rewriting it
if ($path != $original) {
return $path;
}
if ($type == 'source') { // URL coming from a client
return preg_replace('!^display/(\d+)$!', 'node/\1', $path);
}
elseif ($type == 'alias') { // URL going out to a client
return preg_replace('!^node/(\d+)$!', 'display/\1', $path);
}
}

можно подставить ".html", т.е. чтобы ссылки были вида node/15.html?

Аватар пользователя clubwave.ru clubwave.ru 30 марта 2007 в 13:19

RISK, интересный код, а может подскажешь, можно ли сделать так, чтобы урл менялся в зависимости от типы ноды... например если тип ноды "тема форума", то вместо node бы писалось - topic

а если статья - то - article

может в node-мой тип.tpl.php можно что-то написать для подмены или в твой код добавить условие?