Path не проверяет наличие синонима

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

Аватар пользователя AndreyL AndreyL 10 февраля 2010 в 7:08

Проблема в том, что при создании новой страницы, указывая в настройке адреса, например "news/one/two", синоним присваивается независимо от того назначен он какой-либо странице или нет. Т.е. даже если у меня уже есть страница www.mysite.ru/news/one/two, синоним "news/one/two" будет присвоен вновь создаваемой странице (я, например, могу не помнить, что данный синоним уже использован; или не знать об этом, т.к. его использовал другой пользователь сайта). После того, как я узнаю о подобной "накладке", удалении/испрвлении синонима на "новой" странице, синоним вновь начинает указывать на "старую".
Что сделать, чтобы друпал не давал мне повторно назначать уже существующие синонимы?

Комментарии

Аватар пользователя ws_admin ws_admin 10 февраля 2010 в 12:13

В моем случае помогло добавление в шаблоне синонима поля с ID ноды, которые уникальны, т.е. имя было типа
/content/моя-классная-статья-1345, т.е. title+id

Аватар пользователя AndreyL AndreyL 10 февраля 2010 в 13:52

Мне хотелось бы, чтобы данная "неприятность" не случалась со всеми статьями (у меня - node), а не с какой-то определенной.
Если Вы это и имели ввиду, то где этот шаблон синонима находится, т.е. где я могу его отредактировать?

Аватар пользователя AndreyL AndreyL 12 февраля 2010 в 20:22

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

Аватар пользователя Dan Dan 13 февраля 2010 в 9:06

"AndreyL" wrote:
check_plain($node->title+id)

Это "чистка" текста, к тому же с синтаксическими ошибками.

"AndreyL" wrote:
косяк этот потерей данных пахнет. буду делать откат до 5й версии. в ней, вроде, такого косяка не было.

Потеря данных в каком месте? Если два одинаковых синонима, то будет срабатывать только один, исходный материал никуда не денеться.
Сомневаюсь, что если в 5-ке выдавалось сообщение, то в 6-ке - не выдаётся.
Решение проблемы - [ru-api=hook_nodeapi] на $op==presave