0

i have an entity reference (7.x-1.5) select-list within a checkout pane which is being used to allow the user to attach a child to a product during a checkout process.

The user can add multiple "child" under their account via field collections

The user adds a product to their cart, then checks out. During the checkout they can select a "Child" to be attached to the registrations.

My issue is when a user goes to checkout, the select list is constantly growing in values the user(from every user). The current user does not have access to these fields so the select list values simply say: -Restricted access-.

enter image description here

I assumed this would only show values from the logged in user, but apparently, the widget grabs ALL values from every user but hides the data the current user does not have access to. I simply need to hide all data which says -Restricted access- this data so if the user has not entered any "child" field collection data, there will be no option to select from.

Has anyone ever dealt with this issue, and what options are there to fix this? I can simply use an autocomplete widget to solve this issue, but this is poor UX in my opinion.

  • 2
    Can't you change the reference widget to use Views as a filter to provide the options? Then in Views, provide this users UID as a contextual argument to only get their own relationships instead of every user. – Kevin Oct 30 '18 at 20:21
  • 1
    (Provided by the Views reference filter module in case you don't already have it) – Clive Oct 30 '18 at 20:36
  • 1
    @Kevin It would be worth mentioning the module that functionality comes from, but otherwise that would make a good answer – Clive Oct 30 '18 at 20:36
  • Oh my god I had no idea this functionality was built in. It's working now thanks a bunch guys! I created an entity reference view of my field collection items and used the current logged in user UID to only show the values pertaining to their account. Kevin feel free to answer the question thanks again !! – DMAC Oct 30 '18 at 20:38
1

You change the reference widget to use Views as a filter to provide the options with Views Reference Filter. Then in Views, provide this users UID as a contextual argument to only get their own relationships instead of every user.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.