Question

So I'm trying to add a block to the product page. The block will simply output an attribute if it exists for that particular product. In this case it is outputting the bottle size.

Now I've got the content block working. My problem is I'm not sure how to get it positioned and set up right. So first I'll explain how I have it working. I've added the following code to catalog_product_view.xml

<referenceBlock name="content">
  <block class="Magento\Catalog\Block\Product\View" 
        name="product.bottlesize" 
        template="Magento_Theme::html/products/bottlesize.phtml" 
        before="-"/>
</referenceBlock>

So this works fine, but it outputs this block first before any other product information, so it appears over the image on the left. I'd really like this to be above the Qty and Add to Cart. So I tried to do the following but it fails:

<referenceBlock name="product.info.options.wrapper.bottom">
  <block class="Magento\Catalog\Block\Product\View" 
         name="product.info.addtocart.bottlesize" 
         template="Magento_Theme::html/products/bottlesize.phtml" 
         before="-"/>
</referenceBlock>

But this causes it not to display at all. I've tried finding various examples and replicating the examples in various ways but it never shows up. The block works because my first example displays it, just in the wrong area.

I'd really like to know the fix but also a bit of understanding around this since I can't seem to grasp the protocol.

Was it helpful?

Solution

Okay so I got something to work out. I used the following:

<referenceBlock name="product.info.main">
  <block class="Magento\Catalog\Block\Product\View" 
    name="product.info.bottlesize" 
    template="Magento_Theme::html/products/bottlesize.phtml" 
    before="-"/>
</referenceBlock>

So the difference here is that I just changed the referenceBlock to be the product.info.main I also simplified the "name" but I don't think that means much. So I guess the main issue I had here was just using the wrong referenceBlock. Now it appears right where I want it to. Anyone with more information on the details of this or some documentation to point to would be much appreciated.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top