Drupal: node/page/1 вместо node?page=1

12
[Удален]
2205

Добрый вечер!

node/page-1 вместо node?page=1

Настроил ЧПУ везде где возможно, а с этим никак справится не могу.

Drupal 5

Нашёл много рассуждений - пока не помогли.

Понятно, что работать нужно с ModRewrite и pager.inc , но ничего придумать не могу.

Нашел http://drupal.org/project/cleanpager , но как работает так и не понял.

Подскажите, пожалуйста. Заранее огромное спасибо.

embo
На сайте с 05.12.2008
Offline
24
#1

управление - настройка сайта - чистые ссылки - включить

Плавно двигаемся от сапы к статьям (http://miralinks.ru/users/registration/from:4223)
Кирпич
На сайте с 23.06.2007
Offline
44
#2

И включить mod_rewrite для апача

Вечное лето - вечным врагам (с) Сантим
Pike
На сайте с 13.07.2004
Offline
79
#3

Вот и подросло поколение молодежи, которая не видела пятого друпала :D

Чистые урлы на это не повлияют, это не шестерка.

P.S. А если подумать, то и на шестерке тоже не поможет

free hosting (http://rahost.com)
Pike
На сайте с 13.07.2004
Offline
79
#4

покурите еще http://drupal.org/project/cleanpager

Не знаю уж дозрел он или нет, но это именно оно.

Pike добавил 12.05.2009 в 06:52

Птица,

клинпэйджер работает

Идите на admin/settings/cleanpage, воткните в текстовое поле node/*

Сохраните и наслаждайтесь 🚬

[Удален]
#5
Pike:
покурите еще http://drupal.org/project/cleanpager

Не знаю уж дозрел он или нет, но это именно оно.

Pike добавил 12.05.2009 в 06:52
Птица,

клинпэйджер работает

Идите на admin/settings/cleanpage, воткните в текстовое поле node/*
Сохраните и наслаждайтесь 🚬

Огромное спасибо за помощь! В универ смотаюсь и обязательно попробую.

FreeBird добавил 12.05.2009 в 16:29

Если node/* , то цифры начинаю вести на ноды с соответсвующими номерами.

Если sinonim/* , то вообще ничего не меняется.

Помогите, пожалуйста, сам не справлюсь.

FreeBird добавил 12.05.2009 в 16:54

Так же в модуле http://drupal.org/project/globalredirect есть похожая функция по описанию, но он тоже не даёт результата.

Pike
На сайте с 13.07.2004
Offline
79
#6
FreeBird:

Если node/* , то цифры начинаю вести на ноды с соответсвующими номерами.
.

Да, в Вашем конкретном случае cleanpager.module подточить надо.

Найдите в районе 61 строки

 $_GET['page'] = $page;

После добавьте строчки

array_pop($url_array);

$_GET['q'] = implode('/',$url_array);

Около сто пятой строки найдите

$pre_page_q = implode('/',$arguments); 

Перед ней добавьте


if(!empty($new_page)) {
if(!in_array('node',$arguments) ) $arguments[] = 'node';
$arguments[]='page/';
}

Расскажите как получилось;)

[Удален]
#7

Спасибо большое, что мне помогаете.

Получилось

http://site.ru/node/page/%252F7 и т.п.

При переходе страница не найдена.

FreeBird добавил 12.05.2009 в 21:59

А вот для синонимов не работает совсем

Pike
На сайте с 13.07.2004
Offline
79
#8
FreeBird:
Спасибо большое, что мне помогаете.

Получилось
http://site.ru/node/page/%252F7 и т.п.
При переходе страница не найдена.

Мой ляп. Поменяйте в модуле

$arguments[]='page/';

на

$arguments[]='page';

и в конфигурации node/* на node

Pike добавил 13.05.2009 в 03:11

FreeBird:

А вот для синонимов не работает совсем

sinonim- это view?

Попробуйте убрать /* в конфигурации клинпейджера, то есть оставить просто sinonim.

И в модуле уберите

if(!in_array('node',$arguments) ) $arguments[] = 'node';

Я не помню зачем я его туда воткнул. Посмотрите работают ли после этого node/page/#

P.S. К стати правильно пишется synonym, по крайней мере в правильных языках.

[Удален]
#9

Спасибо. Приду домой - попробую.

Synonym - это синоним с помощью path.

FreeBird добавил 13.05.2009 в 16:34

На главной странице появились правильные ссылки (node/page/2), при переходе открывает нужную страницу, только ссылки на ней не рабочие (page/2).

С синонимом ничего не происходит.

Pike
На сайте с 13.07.2004
Offline
79
#10
FreeBird:

На главной странице появились правильные ссылки (node/page/2), при переходе открывает нужную страницу, только ссылки на ней не рабочие (page/2).
С синонимом ничего не происходит.

Поставьте назад

if(!in_array('node',$arguments) ) $arguments[] = 'node';

Это починит ссылки на страницах.

Что делать с синонимами посмотрю когда будет время и возможность.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий