ограничение количества нод с определенным полем

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

Аватар пользователя ArtiusArt ArtiusArt 10 марта 2014 в 16:35

Всем, доброго времени суток.
Вопрос такой: как ограничить количество создаваемых нод с определенным полем?
Про node limit читал, но в нем нельзя выбирать количество нод по определенным полям.
Буду благодарен за помощь.

Комментарии

Аватар пользователя ArtiusArt ArtiusArt 11 марта 2014 в 10:19

"webpavilion" wrote:
в hook_node_validate делайте запрос с count и выставляйте ошибку если что не так.
строк 50 если логика не сложная

Спасибо, попробую. А готовых модулей нет?

Аватар пользователя ArtiusArt ArtiusArt 11 марта 2014 в 11:18

"webpavilion" wrote:

в hook_node_validate делайте запрос с count и выставляйте ошибку если что не так.
строк 50 если логика не сложная

Я так понимаю, что этот хук будет выполняться уже при добавлении узла, а можно ли сделать так, чтоб узел было добавить невозможно (чтобы ссылка на добавление стала неактивной)?

Аватар пользователя alextdk alextdk 11 марта 2014 в 13:25

Два варианта, какой правильный неуверен:

* С помощью hook_menu_alter переопределить access callback для нужной ссылки, в ней добавить требуемое условие, в случае если проходит запускать родительский callback.
* С помощью hook_node_access, проверять $op = create в случае если проходит делать return NODE_ACCESS_IGNORE; если нет return NODE_ACCESS_DENY;

Второй выглядит более правильным Smile

Аватар пользователя ArtiusArt ArtiusArt 11 марта 2014 в 14:53

"lamer" wrote:

Два варианта, какой правильный неуверен:
* С помощью hook_menu_alter переопределить access callback для нужной ссылки, в ней добавить требуемое условие, в случае если проходит запускать родительский callback.
* С помощью hook_node_access, проверять $op = create в случае если проходит делать return NODE_ACCESS_IGNORE; если нет return NODE_ACCESS_DENY;

Спасибо, буду пробовать.