Доброй ночи.
Поставил сайт. Создал тип материала. При помощи модуля pathauto указал маску my для этого типа материала. Создал 50 нод при помощи созданного типа материала. Все хорошо. Ссылки имею вид site.ru/my/1 - алиасы сработали.
Теперь через views создал отдельную страницу на которой в виде таблицы представил некоторые части созданных нод. одно из полей сделал ссылкой на саму ноду. НО!!!! алиаса нет. появились ссылки типа site.ru/node/1.
как сделать и на странице views представления ссылки типа site.ru/my/1?
Комментарии
каким образом?
нажал на это поле в блоке поля и отметил чек бокс: Link this field to its node
аргументы представления пустыми оставил. они ведь мне не нужны? от
того ведь не зависит?
Попробовать те же самые токены использовать при выводе урла, они наверное итак заменяются если будут.
Или программно
Возможно стоит вывести это поле через вызов php кода, а в коде дернуть функцию
http://api.lullabot.com/_pathauto_existing_alias_data
и вывести тот алиас, который нужен.
Но лучше использовать стандартную функцию http://api.drupal.org/api/function/drupal_lookup_path
или
http://api.drupal.org/api/function/drupal_get_path_alias/6
так как она кэширует результаты по сути того же самого запроса к базе данных. Я бы даже рекомендовал использовать именно ее.
вообще все ссылки из views проходят через l(), поэтому синонимы должны подставляться автоматически, что-то у вас не так, почистите кэш, переустановите views
Xermit. спасибо за ответ.
xxandeadxx. вы прямо доктор айболит сначала по вашей статье на блоге я через ноде импорт эти ноды загнал на сайт. а теперь пытаюсь норм вывести.
по идее я и сам смекнул что тут какой-то косяк. хз. буду побывать. спасибо вам
решил проблему. совершенно случайно и немного в растерянности. поменял язык с английского на русский и все заработала как надо. думаю потом. может не из-за этого? поменял обратно на английский - опять не работает.
кто может объяснить связь между этим?
вопрос назрел: у меня отдельная страница с представлением. там 20 записей на странице. всего страниц 30. внизу есть ссылки на другие страницы. но они имею некрасивый вид. как их поправить?
по поводу первого вопроса:
оказалось что часть контента имела язык русский. часть английский. когда я переходил на английский язык то русская часть переставала работать (то есть в представлении выдавать алиасы). причем весь контент на саом деле русский. но автоматом раздаются такие значения. где убрать это? вымысле разделение контента на языки. или где хотя бы выбирать при создании нод.
Все верно,функция l вызывает функцию url, та в свою очередь вызывает http://api.drupal.org/api/function/language_url_rewrite/6, а последняя проверяет переменную http://api.drupal.org/api/search/6/language_negotiation,
которая отвечает за переключение языка в зависимости от домена, настроек пользователя или просто отключить переключение языка. А алиас в друпал зависит от языка, соответственно, если алиас был создан при русском языке, то переключившись в английский их не будет.
В настройках где то есть, на крайняк в php коде переменную установите в которую надо language_negotiation