Как правильно реализовать каталог фирм на MODX?
        Здравствуйте.
Я делаю каталог фирм.
Как сделать так, чтобы после регистрации 1 пользователь мог добавить только 1 фирму в каталог (контейнер Каталог), а также 5 товаров в раздел Товары (тоже контейнер)?
Сейчас сделано следующее: сделал регистрацию пользователя, если залогинен, то показать Добавить фирму. Там FormIt, с помощью хука добавленный ресурс попадает в раздел На модерации.
Но сейчас пользователь может добавлять неограниченное количество ресурсов.
Как лучше построить такой проект каталог фирм?
1. FormIt + formit2resource + ограничение количества документов на пользователя.
2. UserProfile
3. Tickets
4. Office (платное дополнение)
5. Еще что-то?
    
    
                                                                                
            Я делаю каталог фирм.
Как сделать так, чтобы после регистрации 1 пользователь мог добавить только 1 фирму в каталог (контейнер Каталог), а также 5 товаров в раздел Товары (тоже контейнер)?
Сейчас сделано следующее: сделал регистрацию пользователя, если залогинен, то показать Добавить фирму. Там FormIt, с помощью хука добавленный ресурс попадает в раздел На модерации.
Но сейчас пользователь может добавлять неограниченное количество ресурсов.
Как лучше построить такой проект каталог фирм?
1. FormIt + formit2resource + ограничение количества документов на пользователя.
2. UserProfile
3. Tickets
4. Office (платное дополнение)
5. Еще что-то?
Комментарии: 7
                Проверять поле createdby у ресурса — туда пишется ID создателя.
Соответственно, пробежаться по созданным ресурсам, получить их ID, если будет созданный текущим юзером, то форму не выводить.
То же и с товарами. Если их больше 5, вывести сообщение вместо формы.
                    Соответственно, пробежаться по созданным ресурсам, получить их ID, если будет созданный текущим юзером, то форму не выводить.
То же и с товарами. Если их больше 5, вывести сообщение вместо формы.
                Ограничить достаточно просто. Один из вариантов — у пользователя есть поле extended. В него писать id фирмы, которую он добавил. И проверять, если есть уже id, то не выводить форму.            
                    
                Проверять с помощью IF?            
                    
                Можно и без него обойтись. Например, сниппетом. Тут важное условие, записать id фирмы пользователю. 
Павел предложил вариант проще — проверять по полю createdby ресурса. Главное отличить фирмы от товаров. В этом могут помочь разные шаблоны, т.е. отличать по ним.
Так что вариантов несколько. Они все правильные. Что проще, то и делайте.
            
                    Павел предложил вариант проще — проверять по полю createdby ресурса. Главное отличить фирмы от товаров. В этом могут помочь разные шаблоны, т.е. отличать по ним.
Так что вариантов несколько. Они все правильные. Что проще, то и делайте.
                То есть выбор «FormIt + formit2resource + ограничение количества документов на пользователя» правильное решение?            
                    
                Да, верное. Если Вы используете formit2resource отсюда, то у Вас все эти компании в ресурсах. 
Соответственно, Вы можете проверять существование созданного пользователем ресурса хоть через getResources:
                    Соответственно, Вы можете проверять существование созданного пользователем ресурса хоть через getResources:
[[getResources?
....
&where=`{"ctreatedby":"[[!+modx.user.id]]"}`
&toPlaceholder=`list`
&totalVar=`count`
&showUnpublished=`1`
]]
[[+count:gt=`0`:then=`вывод формы`:else=`Текст про невозможность создания`]]            
                Вот спасибо Вам!
Вопрос, думаю, закрыт.
                    Вопрос, думаю, закрыт.
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.