magento 创建block create structural blocks

Step 1: Name the structural block

Open the file layout/page.xml in your active theme folder. Inside you will find lines like:

<block type="core/text_list" name="left" as="left"/>
<block type="core/text_list" name="content" as="content"/>
<block type="core/text_list" name="right" as="right"/>
 

Let’s mimic this and add a new line somewhere inside the same block tag.

 <block type="core/text_list" name="myblock" as="myblock"/> 
  

Good. Now we told Magento that new structural block exists with the name “newreference”. Magento still doesn’t know what to do with it.

Step 2: Tell Magento where to place it

We now need to point Magento where it should output this new structural block. Let’s go to template/page folder in our active theme folder. You will notice different layouts there. Let’s assume we want the new structural block to appear only on pages that use 2-column layout with right sidebar. In that case we should open 2columns-right.phtml file.

Let’s assume we wish the “newreference” block to be placed below 2 columns, but above the footer. In this case, our updated file could look like this:

 <div id="myblock"><?php echo $this->getChildHtml('myblock') ?></div> 
  

Step 3: Populating structural block

We have the block properly placed, but unfortunately nothing is new on the frontsite. Let’s populate the new block with something. We will put new products block there as an example. Go to appropriate layout XML file and add this block to appropriate place.

 <reference name="myblock">
     <block type="core/template" name="myblock.search" as="myblockSearch" template="catalogsearch/myblock.search.phtml"/>
</reference> 
 

That’s it. I hope it will help someone

 

 

 

 

 

你可能感兴趣的:(create)