[Drupal 7] Вопрос по работе Pathauto

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

Аватар пользователя heap.ster heap.ster 31 января 2011 в 1:37

Добрый день,

Дано:
- словарь таксономии с терминами
- url-паттерн в pathauto для этих терминов

Процесс 1:
добавляю новый термин в словарь, создается синоним(url1) согласно паттерну. Все ОК.

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

Вопрос: как сделать так, чтобы url2 был или единственным синонимом или же использовался как "главный" вместо url1?

Комментарии

Аватар пользователя vitok vitok 31 января 2011 в 2:41

"heap.ster" wrote:
согласно паттерну

Согласно чему?)
"heap.ster" wrote:
Процесс 2:

заходим на admin/config/search/path/settings и настраиваем Pathauto как нужно. хотя судя по описанию это и есть результат настроек Pathauto на создание новых синонимов при обновлении, и оставлении существующих синонимов функциональными, вообще ИМХО единственно правильный вариант этой настройки это "Ничего не делать. Оставлять старый синоним нетронутым."

Аватар пользователя heap.ster heap.ster 31 января 2011 в 3:17

"vitok" wrote:
Согласно чему?)

Согласно шаблону Pathauto

"vitok" wrote:
заходим на admin/config/search/path/settings и настраиваем Pathauto как нужно. хотя судя по описанию это и есть результат настроек Pathauto на создание новых синонимов при обновлении, и оставлении существующих синонимов функциональными, вообще ИМХО единственно правильный вариант этой настройки это "Ничего не делать. Оставлять старый синоним нетронутым."

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

А может я просто неправильно работаю с Pathauto? Smile

Аватар пользователя YGerasimov YGerasimov 31 января 2011 в 9:17

Нужно смотреть таблицу url_alias. Скорее всего при создании и редактировании pathauto просто добавляет новую запись в эту таблицу и не удаляет старые алиасы для термина. Тогда можно в своем модуле на хуке update термина удалять не нужные алиасы.

см http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.api.php/fun...

Аватар пользователя AI AI 31 января 2011 в 9:29

"heap.ster" wrote:
А может я просто неправильно работаю с Pathauto? :)

Правильно.

Поймите одну простую вещь:
В друпале есть только один правильный адрес node/nid, где nid - номер ноды.
Все остальное - синонимы. Они имеют право на существование. Вы даже можете сделать стотыщмильонов синонимов для одной страницы.

Но вот перефразирую ваш вопрос: "Я хочу, чтобы из статыщмильонов для первой ноды сотый синоним был единственно верным, а для второй ноды - стопицотый." А теперь скажите пожалуйста, как тупой компьютер возьмет и выберет ваш "этот хочу"? Первый попавшийся в базе данных (вы его называете url1) всегда будет выведен системой. Ваш, который вы хотите url2, тоже существует и работает, но он не первый, который найдет система. Удалите url1. А если он нужен, то создайте его заново, чтобы он стал таким же, но уже url3 (он запишется в БД после url2, а url2 станет первым по счету) - и будет вам щасЬе.

Как это реализовать - домашнее задание. Подсказка - чуть выше. Smile