У меня такая проблема если есть решение буду благодарен.
У меня сайт на Drupal 7 стоит модуль Node Limit - это модуль который делает ограничения по нодам для определенных ролей.
Так вот я задал лимит авторизованным пользователям создавать не белее 3-х нод, пользователям vip до 100 нод, пользователям с ролями модератор неограниченное кол-во. И получается то, что ограничение создание до 3-х нод действует на все роли. Что можно сделать не кто не подскажет.
Комментарии
dev пробовал ?
решения нет, но можно самому написать если чуток кодить умеете
для количества создать у юзера поле
+ https://drupal.org/project/field_permissions
+ https://api.drupal.org/api/drupal/modules!node!node.api.php/function/hoo...
+ http://www.bywombats.com/blog/ryan/10-25-2007/checking-if-drupal-user-ha...
С кодом как разтоки туго. Немного.
Я на предыдущем сайте обходил это создав две совершенно одинаковые ноды
Но это не выход из положения конечно.
А модули то хоть те включил.? прикрепил снимок экрана где показано какие модули включены
И снимки с настройками
Просто мож быть какие то другие надо сделать настройки ???
А можно как то убрать все галочки в ролях пользователя и оставить только одну нужную. Просто я думаю мож быть в этом проблема. Ток как стоит две галочки. То есть две роли у одного пользователя.
если оч надо, могу написать, но это платно))
Спасибо но я все сделал. И работает на ура. Просто сделал для удобства один дополнительный модуль, который помогает модулю node limit. И происходит следующее то что я хотел:
1. Есть Анонимный пользователь, авторизованный пользователь, автосалон, модератор, админ
- Анонимный пользователь (добавляет объявление и автоматически регистрируется, и становится авторизованный пользователем автоматически, который может добавить до 3-х объявлений. После чего ему не e-mail приходит сообщение то что он превысил лимит. Но может он его поднять за отдельную плату)
- Если пользователь захотел стать автосалоном у которого есть ограничение до 100 объявлений он просто делает оплату, и автоматом авторизованный пользователь становится автосалоном с ограничение до 100 объявлений
- ну и у роли модератор могут туже ноду добавлять неограниченное кол-во раз. Но это право может им сделать только админ.
И сам смысл в том, что это все продлевается только с одной нодой, а не с несолькими, но с несколькими ролями. И все это на Drupal 7 ))))))))
Если кому то надо будет так то пишите помогу за отдельную плату ))))))
код модуля то выложите.
пи.эс. т.е. если у роли - зарегистрированый пользователь лимит в 3 ноды, то если даже у него вторая роль модератор - у него будет лимит в три ноды7
у каждой роли разный лимит.
У зарегистрированый пользователь лимит к примеру 3 ноды
У модератора к примеру неограниченно
У роль автосалон 100 нод лимит
У админа неограниченное
и можно создать сколько хочешь ролей и каждой роли назначить определенное количество создания ноды к примеру node Artical.
Я выложил модуль и расписал как им пользоватся на одном из моих сайтов .
Если что пишите всем приятного пользования.
это все понятно. но вы пишите вверху что какая то проблема была если у юзера 2 роли одна из которых на 3 лимита другая на неогр. А по итогу все равно 3 лимита.
у вас мильон сайтов в загашнике?
ну как бы я занимаюсь тем что разрабатываю сайты и сайт www.i-news.pro это мой личны так как хобби, а так есть еще.
А зачем было нужно писать модуль, когда можно все сделать rules (любую роль назаначить при любом действии на сайте), да и есть др модули которые добавляют в функционал ядра опцию назначения дополнительной роли (если к примеру модуля рулес нет в системе).
Расскажите смысл создания модуля ?
Роль зарег юзер вшит же в ядро и если правило, как вы говорите в лимит ноде создано для этой роли, то для всех зарег юзеров будет срабатывать это правило. А другие игнорироваться???
Собственно говоря не понятно что вы сделали такого что бы у юзера с двумя ролями был лимит создания нод по максимальному правилу модуля лимит ноде.
на то что бы сделать модуль у меня ушло 10 минут, и что бы он работал так как мне надо без всяких глюков + по миненуму грузил систему. А что бы разобраться в сторонних модулях надо врея терпение и т.п. Проще самому что то сделать чем искать и потом переделывать под себя. Можно было и в ядро друпал просто 5 строчек дописать и все. Но я решил упростить все для других людей. Которые только начинают работать с drupal
Логично.
Но все же объясните нубу как вы вышли из проблемы то с юзерами с двумя ролями.
Я юзер у меня роль - зарегистрированный (лимит 1 ноды) + роль модератор (лимит 100 нод)
Что придумано в вашем модуле (сайте) что бы работало правило для роли модератор-то.
(я последнюю фразу могу еще раз 10 написать в каждом посте, у меня терпения хватит... не понятно что вы не отвечаете на этот вопрос, на сайте ксти тоже нифига не объяснено)
Я хотел добиться результата затратив минимум времени и минимум кода и все по минимум и это получилось. И по мойму проще использовать мой модуль чем мучатся с этим rules. Так как настройки просты и понятны и результат 100% работает.
Это все понятно.
Но если у юзера 2 роли.
авторизированный юзер + моедератор
или зарегистрированный юзер + модератор (авторизированный не считаем уже, а то было бы три тогда роли).
как в этом случае, если по вашим словам в лимит ноде баг. и модуль решает только задачу для 1 роли юзера.
Что бы работало создаете роли к примеру
В настройках моего модуля выбираете ту роль которая будет присваивать зарегистрированному пользователя автоматом (Роль ту которую создали, одна из тех которую создали к примеру user)
Потом в настройках node limit делаете ограничения на конкретные роли которые создали не трогая стандартную роль "авторизованный пользователь"
И все.
А потом если кто то из пользователей попросит добавления ноды без ограничений. Просто снимите галочку у него с роли User и поставьте галочку на другую роль к примеру moderator у которой нет ограничений.
Что тут сложного ??
А если вы в node limit проставите ограничения для всех ролей то есть для
стандартную роли "авторизованный пользователь" максимум 3 ноды создать
для moderator нет ограничений
то для всех применится одно ограничение максимум три ноды.
Я же писал что за проблема была выше "на Drupal 7 стоит модуль Node Limit - это модуль который делает ограничения по нодам для определенных ролей.
Так вот я задал лимит авторизованным пользователям создавать не белее 3-х нод, пользователям vip до 100 нод, пользователям с ролями модератор неограниченное кол-во. И получается то, что ограничение создание до 3-х нод действует на все роли."
Вы все пишите для своего случая где 1 юзер - 1 роль
Я и думал что вы решили проблемы модуля что бы 1 юзер - 2 , 3 ,4 1000 ролей и лимитка по созданию нод бралась бы по факту с максимальным вариантом.
а то что вы придумали х.з. для чего - какой то не понятный костыль, который заюзаете только вы в конкретном вашем случае.
Да и есть уже модуль автоматического присвоение роли при регистрации (если уже правило для модуля рулеса лениво написать 2-3 клика). Для нубов это еще проще... Программить то ничего не нужно.