Вопрос по OpenID и Pathauto для шестёрки

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

Аватар пользователя Strangr Strangr 11 марта 2008 в 18:51

Поставил Drupal 6.1 на свежекупленный хостинг. Опыта использования, как и веб-разработок вообще нет никакого, но пытаюсь разобраться. Из сторонних модулей поставил Token и Pathauto.

Первый вопрос OpenID: пытаюсь залогиниться с аккаунта на LJ, набираю mynick.livejournal.com, на странице подтверждения ЖЖ говорю: да, всегда, на своём сайте получаю ошибку:

Free Image Hosting at FunkyIMG.com

The username contains an illegal character.
You must enter an e-mail address.

Первая, вероятно, из-за того, что LJ передаёт ник с http и слешами, что не нравится друпалу — как его заставить принимать такой адрес?

Вторая ошибка — не получив e-mail от LJ, друпал требует ввести его самому — что, по моему перечёркивает все достоинства этой технологии. Соответственно вопрос: как сделать требование ввода адреса опцинальным, чтобы залогинившийся по опенайди пользователь мог потом ввести его в своём профиле, и возможно ли это вообще? Поискав в интернете решения этой проблемы нашёл только способ автогенерации e-mail для новых пользователей, чего хотелось бы избежать.

Второй вопрос по Pathauto: на сайте я завёл на сайте словарь Разделы, где добавил термины Новости, Статьи, Переводы. Теперь хочется, чтобы при создании новых материалов вместо node/123 автоматически генерировались адреса по типу материала: site.ru/news/123; site.ru/articles/123; site.ru/translations/123. Ну и чтобы списки статей выводились по адресам site.ru/news/ и т.д. вместо site.ru/taxonomy/term/1, /2, /3, (и можно ли, чтобы ссылки на второй вариант редиректились на первый?).

Вероятно, сделать это несложно, но человеку без опыта довольно затруднительно.
Заранее спасибо за все ответы.

Комментарии

Аватар пользователя Onza Onza 12 марта 2008 в 0:05

я завёл на сайте словарь Разделы, где добавил термины Новости, Статьи, Переводы

Это наверное зря Smile Лучше делать при такой структуре основные разделы словарями типа:
Новости
---Политические новости
---Экономические новости
---Новости проекта
и т.п. Хотя если новости/статьи без рубрикации вообще - тогда да. В том примере который я привел (если словарь Новости, т.е. news), настройки Pathauto можно выставить так:
news/[termpath-raw]/[yyyy]/[mm]/[dd]/[nid]
Это для новостей, включая год/месяц/день в урле. Адрес новости будет выглядеть примерно так:
http://www.вашсайт.ru/news/political-news/2008/02/10/123
Для статей аналогично, но [yyyy]/[mm]/[dd] можно исключить.
В Pathauto включите транслитерацию. До этого файл i18n-ascii.example.txt переименуйте i18n-ascii.txt и переведите там названия рубрик по шаблону (там все понятно), например так:
Политические новости = "political-news"
Статьи о рыбалке = "fish-articles"
и т.п.
Если хотите генерировать адреса не по словарям/терминам, а по типу материалов - ставьте в Pathauto по типам и все, принцип тот же.

Аватар пользователя Strangr Strangr 12 марта 2008 в 9:48

Не, мне так сложно не надо. Весь сайт я пока задумываю не сложнее обычного блога. Можно было и вордпресс взять, но так как ни с одним, ни с другим я не знаком, выбрал друпал из-за большей гибкости в настройках, если вдруг понадобится.

Даты мне тоже не надо, просто номер. Проверьте, правильно ли всё делаю:

Файл переименовал в i18n-ascii.txt, в конце добавил:
Новости = "News"
Статьи = "Articles"
Переводы = "Translations"

В настройках Pathauto в разделе Node path settings / Default path pattern пишу:
[termpath-raw]/[nid]

Пробую опубликовать материал, получаю: адрес site.ru/новости/1

И как ещё можно ссылку site.ru/taxonomy/term/1 на линке "новости" преревратить в site.ru/news?

Аватар пользователя Onza Onza 12 марта 2008 в 13:52

Пробую опубликовать материал, получаю: адрес site.ru/новости/1

1. Честно говоря, не понял Smile У вас получается ссылка site.ru/новости/1 , т.е. "новости" в урле на русском языке??

2. Если у Вас термин taxonomy/term/1 имеет название "Новости" (news), то это должно быть автоматом. Вообще, проверьте на странице http://вашсайт.ru/admin/build/path какие термины имеют синонимы, а какие нет. Например, термин taxonomy/term/1 должен иметь синоним news (если это новости).

Аватар пользователя Strangr Strangr 12 марта 2008 в 17:56

Да, адрес на русском. На http://вашсайт.ru/admin/build/path у меня два алиаса:

новости/1 — node/1
новости/1/feed — node/1/feed

Если у Вас термин taxonomy/term/1 имеет название "Новости" (news)

taxonomy/term/1 у меня называется «Новости» («news» у меня в друпале нигде не прописано, только в файле i18n-ascii.txt).
Я так понимаю, pathauto не видит строки Новости = "News" в i18n-ascii.txt?

Аватар пользователя Onza Onza 12 марта 2008 в 18:21

Должен видеть. В настройках pathauto флажок стоит у Transliterate prior to creating alias? Посмотрите внимательнее настройки и поменяйте алиасы taxonomy/term/1 на news и другие тоже. Вообще, если все настройки верные, новые термины будут создаваться сразу с нужными алиасами. Поставьте также в pathauto в настройках - Create a new alias. Delete the old alias.

Аватар пользователя Strangr Strangr 12 марта 2008 в 19:42

О, отлично. Не стояла галка у Transliterate prior to creating alias. Включил, у новых материалов стал прописываться нормальный адрес.

Только taxonomy/term/1 остаётся почему-то. Может его в URL Aliases /admin/build/path прописать? Прописал, теперь это тоже нормально.

Спасибо!

Только вот получается, что модуль OpenID с ЖЖ нельзя работать заставить, да?

Аватар пользователя Onza Onza 12 марта 2008 в 20:18

Только вот получается, что модуль OpenID с ЖЖ нельзя работать заставить, да?

OpenID в друпале вообще глючный какой-то, у кого-то работает, у кого-то нет. У меня вот не работает (модулем на пятерке).

Аватар пользователя Strangr Strangr 13 марта 2008 в 1:57

буду благодарен если кто-то протестирует от ЖЖ

Работает, только требует пароль.
Что-ж они там в шестёрке сделали, что теперь оттуда логиниться нельзя...

P.S. На drupal.org ещё 30 января баг-репорт этот написали, но подвижек не видно.