I have been working on migrating a large Ubercart store to BD.  It's going well.  I have my "Catalog" page using Search API and Ajax Facets (Awesome, BTW).  But what I can't seem to do is to get my product page to look the way I want.

With DS, I could put things in different regions.  Like so:

product page

Note the region to the right with images, price, etc.  And note the region with the body on the left is wrapping around the one on the right.  Any thoughts on how to achieve this?

Most helpful answers

Nothing but field groups and css.  Thanks again.


bugfolder's picture

@samgreco, you can give all of your Ubercart product pages a unique layout, distinct from the rest of your site.

Go to Structure > Layouts > Add Layout, and create a layout with one of the multi-column templates (e.g., Moscone Flipped), and give it the path node/% (so it will be used for all node pages). Then add a visibility condition to restrict its use to your Ubercart product type(s).

Then on the "Manage blocks" tab of your layout, you can add blocks to the sidebar for the fields that you want to show there. (And you can hide those fields in the main display for your product types so they don't show up in the left block.)

There's lots of ways to play with what gets shown in the page regions, so that's not the only way, but I think it will work for you.

Thanks bugfolder.  Not sure I'm grasping this completely.

How do I add fields to the block for the sidebar?  I've created a different display mode for that, but don't see how to get that into a block.

Your layout needs to have a context which might be something like:




depending on how it is

And as @bugfolder says, limit the layout to that content type.

Then click on add block in the region you want and search for field - you'll then see all the fields that are available in that context. If there are a lot of fields, refine your search

Thanks.  That helps.  But I can't get the attribute select or add-to-cart as fields.

If I could add a display mode as a block, that would solve it.

I think that I'll need to dig deeper and look at alternative ways.

bugfolder's picture

Yes, I think you could create a display mode for just the bits you want in the sidebar, then create a block in the sidebar region that displays that node in that display mode.

Edit: well, maybe not; the "Existing content" block lets you enter content for a specific node, but not "this node". Hmmm...

I think I found a solution using field groups and CSS.  Very similar to the way I did it in D7 with DS. 

Using field groups seems to be virtually the same end result.  I was even able to use the original CSS with a bit of search and replace :)

Thanks for the help all.  Sometimes you just need ideas to trigger other ideas.

Nothing but field groups and css.  Thanks again.