Проблема с PathAuto?

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

Аватар пользователя grumbler1 grumbler1 28 мая 2012 в 13:52

На 7.14 друпале стоит PathAuto. Чистые ссылки включены. Ссылки на ноды в меню автоматически преобразовываются в названия страниц, типа "my-site.com/content/about" и тут проблем нет. Но вот на самих страницах ссылки на ноды НЕ ПРЕОБРАЗОВЫВАЮТСЯ в их алиасы (my-site.com/node/2), в результате получаем 2 разные ссылкы из меню и с контента страницы на одну и ту же физическую страницу. понятное дело, что и поисковик не связывает их между собой...
подскажите, что сделать, чтобы линки в контенте страниц тоже переводился в "нормальные" алиасы? не переписывать же вручную все ссылки на ноды в их алиасы?

Комментарии

Аватар пользователя divined divined 28 мая 2012 в 14:22

...чтобы линки в контенте страниц...

Что это означает? Вы вручную создаете эти линки? По умолчанию в контенте нету ликов на ноды.
Если вы создаете вручную эти линки, то нужно использовать php и функцию l().

Аватар пользователя grumbler1 grumbler1 30 мая 2012 в 13:37

divined wrote:
...чтобы линки в контенте страниц...

Что это означает? Вы вручную создаете эти линки? По умолчанию в контенте нету ликов на ноды.
Если вы создаете вручную эти линки, то нужно использовать php и функцию l().

Есть страница Контакты = "/node/2", pathauto выдает мне ссылку типа "/content/kontakty".
я создаю страницу, в которой написано, например, "Обращайтесь к нам!", это "Обращайтесь к нам" - есть гиперссылка на страницу "Контакты", которую я описал как "/node/2".

<p>Если вам нужны сертификаты на продукцию - <a href="/node/2">обращайтесь к нам</a>!</p>
В результате в меню "контакты" = "/kontakty", а моя ссылка на новой странице ведет на "/node/2". Получается, что это уже две разные страницы, полученные из одной. Вот я и спрашиваю, как ПРАВИЛЬНО создавать ссылки на ноды (не на алиасы), чтобы они подменялись алиасами при отображении?
чтобы стало так:
<p>Если вам нужны сертификаты на продукцию - <a href="/content/kontakty">обращайтесь к нам</a>!</p>

ПС почему не хочу пользоваться редиректами: потому что парсеры поисковиков (яндекс) находят две страницы контактов и в статистике мне отображают 2 страницы, не связывая их между собой. На отображение результатов запросов это тоже влияет не лучшим образом...

Аватар пользователя multpix multpix 28 мая 2012 в 15:26

"divined" wrote:
Вы вручную создаете эти линки

99% вероятности, что так и есть,
к этому 75%, что линк абсолютный.
и это ппц))

проблема не в pathauto - с ним все ок) делает что должен, автоматически создает синонимы путей согласно шаблонов.

ТС, такой подход возможен, но не самый лучший, вы в этом убедились сами.

"grumbler1" wrote:
не переписывать же вручную все ссылки на ноды в их алиасы?

принцип простой - где не работает голова, работают руки.

вот Global Redirect, при переходе по не кошерному линку приведет на синоним,
но статичная ссылка в контенте как была так и останется.
варианта два:
1 править руками
2 ваять скриптик который перелопатит регулярочкой соответствующие значения из таблицы field_data_вашеполе, равняясь на url_alias и произведет замену.

Аватар пользователя divined divined 30 мая 2012 в 13:53

В контенте я всегда делаю линки с учетом пасавто т.е.:

<?php
<p>Если вам нужны сертификаты на продукцию - <a href="/content/kontakty">обращайтесь к нам</a>!</p>
?>

По поводу второй части есть модуль pathredirect, он таки как раз и предотвращает двойной контент, при использовании пасавто.

ПС почему не хочу пользоваться редиректами: потому что парсеры поисковиков...

Как раз таки я хочу пользоваться редиректами чтобы этого не произошло, а именно 301 редирект.
...
Если вас не смущает использование PHP в контенте то можно сделать так:

<?php
<p>Если вам нужны сертификаты на продукцию 
   <?
php print l('обращайтесь к нам!',drupal_lookup_path('alias','node/2'));?>
</p>
?>
Аватар пользователя divined divined 30 мая 2012 в 13:54

Да и похоже указанный выше модуль позволит вам создавать свои линки без пхп и он будет их менять на алиасы.

Аватар пользователя natbampo natbampo 30 мая 2012 в 13:56

grumbler1, ты не смотрел модуль что я показывал?
У него написано что он преобразует.
Только надо писать не href="/node/2", а href="node/2"

Аватар пользователя grumbler1 grumbler1 30 мая 2012 в 14:34

natbampo модуль смотрел, вероятно его и буду использовать. Думал что есть более "цивилизованное" решение такой пустяковины.

divined - php меня не смущает, но сайт буду наполнять не только я, а вот "обычных" людей php обычно вводит в ступор Smile Мне pathredirect не подходит, у меня 7.14

спасибо всем, буду пробовать pathologic

Аватар пользователя grumbler1 grumbler1 30 мая 2012 в 14:49

pathologic - то что надо, теперь только осталось повырезать слеша. И не сразу допетрал, что в форматах текста его надо дополнительно включить, чтобы переместить в конец... а то на "node/2" выдавало такое безобразие "content/node/2"

Аватар пользователя grumbler1 grumbler1 30 мая 2012 в 15:42

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

Аватар пользователя divined divined 30 мая 2012 в 15:49

Я думаю что фильтр срабатывает 1 раз, а именно когда вы сохраняете ноду.

Как вариант найти, где тут была, инструкция как пересохранить все ноды.

Аватар пользователя grumbler1 grumbler1 1 июня 2012 в 17:11

natbampo wrote:
"grumbler1" wrote:
нифига не меняется

кеш не пробовал очищать?

не чистил. я понимаю, что это надо делать, чтобы проверить. только как это сделать?