Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Customising the CMS /

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Asigning member from one group to a page (has_one)


Go to End


2 Posts   1480 Views

Avatar
BP

Community Member, 25 Posts

10 March 2012 at 7:59am

Hi all,

I have a product page which has "has_one" => 'member' .

What i would like to create - is a Tab in CMS where i could list has_one list (radiobuttons) but ONLY WITH MEMBERS from certain group (for example group id =4) .

Basically as I've got around 500 users (and growing) as buyers and only 4-5 as sellers. I knwo how I can show ALL members , however not sure how to strict the list to buyers only.

Any help would be appreciated

Avatar
BP

Community Member, 25 Posts

10 March 2012 at 9:25am

Thanks to IRC - adding some query WHERE and JOIN clauses helped :

jus in case someone will be looking for same solution heres my code:

 $tablefield = new HasOneComplexTableField(
                    $this, //controller
                    'Seller', //name
                    'Member', //source
                    array( //fields
                        'FirstName' => 'First Name',
                        'Email' => 'Email'
                    ),
                    'getCMSFields_forPopup', //detail form fields
                    '"Group_Members"."GroupID" = 4', 
                     '',
                    'JOIN "Group_Members" ON "Member"."ID" = "Group_Members"."MemberID"'
                 );
                 $tablefield->setParentClass('Member');
         
                $fields->addFieldToTab( 'Root.Content.Pardavejas', $tablefield );