| Август 2008 | ||||||
| ПН | ВТ | СР | ЧТ | ПТ | СБ | ВС |
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
До чего же утомляет глючность "шестерки" Друпала...
Запостил новость на поддерживаемом мной сайте, работающем под Drupal 6.2. В summary дал относительную ссылку вида ru/staff/popov. В коде "морды" находится правильная ссылка, в RSS тоже попала правильная ссылка, а на полной версии новости она превратилась в что-то типа news/2008/06/17/ru/staff/popov
Если бы не нативная "шестеркой" (которая, впрочем, пока не понадобилась), пользовал бы "пятерку"...
Upd. Кажется, причина была в том, что относительную ссылку нужно начинать со слэша: /ru/staff/popov
Комментарии
Да, Саш, ты
Да, Саш, ты верно разобрался в ситуации :) Дело не в Друпале, а в том, что относительная ссылка обрабатывается следующим образом:
<a href="mycategory/document">Anchor Text</a>, то браузер, встретив подобный HTML-код на странице, скажем,http://ani.cs.msu.su/, сформирует ссылку вида<a href="http://ani.cs.msu.su/mycategory/document">Anchor Text</a>. Если же он этот же HTML-код встретит на странице, скажем,http://ani.cs.msu.su/news/2008/06/17/, то он сформирует ссылку<a href="http://ani.cs.msu.su/news/2008/06/17/mycategory/document">Anchor Text</a>.<a href="/mycategory/document">Anchor Text</a>, то браузер, встретив подобный HTML-код на странице, скажем,http://ani.cs.msu.su/, сформирует ссылку вида<a href="http://ani.cs.msu.su/mycategory/document">Anchor Text</a>. И если же он этот же HTML-код встретит на странице,http://ani.cs.msu.su/news/2008/06/17/, то он сформирует нужную, правильную ссылку вида<a href="http://ani.cs.msu.su/mycategory/document">Anchor Text</a>.Т.е. относительные ссылки без предваряющего слеша браузером формируются относительно текущего URI, а относительные ссылки с предваряющем слешем формируются браузером относительно домена URI. Учите матчасть, дорогой товарищ, стандарт HTML - тег a (anchors)! Ну и соответственно, к глюкам друпала это не имеет никакого отношения, он вывел тот HTML-код, который ты написал, а относительные ссылки до нормального вида формируются браузером на основе стандарта HTML.
Тут следует кое-что добавить... Ты знаком с функцией API друпала
l()? Для того, чтобы эта функция сформировала правильный относительный URL, этот самый URL в неё нужно пихать как раз БЕЗ предваряющего слеша, т.к. урлы с предваряющим она принимает за внешний урл. Т.е. в эту функцию, чтобы сформировать правильный относительный урл, его надо добавлять в той же форме, в которой принято добавлять его в админке - БЕЗ предваряющего слеша. Меня первое время это тоже страшно запутывало.Все как в *nix!
А! теперь все с ссылками понятно и логично для меня!
Слэш - это, типа, корень Linux-подобной файловой системы :-)
Конечно
Причем не типа, и не подобной.
Слэш - это то, что в настройках апача называется document_root, а по-русски "корень сайта", а все url (или uri, вечно их путаю) основаны на *nix соглашениях по ФС. В частности, там можно использовать и './', и '../' например, да и симлинки никто не запрещает в ФС делать. Это уже позже пошли всякие rewrite и прочие alias, а сначала url'ы тупо проецировались на ФС
Не замечал глючности
Другое дело, что мало модулей портировано, буквально только вчера вышел патч (а не модуль еще) к ImageField
Глюки все же есть
Глюки есть. Какие-то из них связаны с ядром самого Drupal'а, какие-то со сторонними модулями, другие - с различными браузерами.
Например, если при создании нового меню указать слишком длинное внутренее имя, то Друпал это переварит, но потом при попытке удаления всего меню он будет ругаться на это длинное имя, и ничего с ним дальше будет не сделать.
В топе ненайденных страниц у меня был файл /favicon.ico до тех пор, пока я его руками в корень домашней директории не переписал.
Модуль node privacy byrole для зарегистрированных пользователей нарушает правильный порядок отображения новостей на <front>-странице.
В Opera у меня периодически перестают работать DHTML Menus.
Согласен, но...
... реально сталкивался только с favicon (так же "вылечил"), а в пятерке и не пробовал.
А вот глюки модулей, а тем более браузеров (если код валидный генерится), имхо, к самому друпалу отношения не имеют :) Тем более, что большинство модулей идут, в лучшем случае, с beta статусом, а многие я и dev юзаю