Hum
Hum

Reputation: 531

multiple templates in one module magento

I have two template files in design/frontend/default/template/lookbook/, lookbook.phtml and lookbookpage.phtml. I want to call lookbookpage.phtml template from lookbook.phtml, something like:

<h4><?php echo $this->__('Lookbook') ?></h4>
<?php
$lookbooks = Mage::getModel('manager/manager')->getCollection(); 
foreach ( $lookbooks as $lookbook ): ?>
    <a href=""><?php echo $lookbook->getTitle(); ?></a><br />
<?php endforeach; ?>

I don't know what to write in <a href="" /> to go to lookbookpage.phtml template. My design/frontend/default/layout/lookbook.xml looks like this:

<layout version="0.1.0">
    <default>
    </default>
    <manager_index_index>
        <reference name="content">
            <block type="manager/manager" name="manager" template="lookbook/lookbook.phtml" />
        </reference>        
    </manager_index_index>
</layout> 

I don't know what I need to do in my layout xml file. I just need a start.

Upvotes: 1

Views: 604

Answers (1)

benmarks
benmarks

Reputation: 23205

<?xml version="1.0"?>
<layout>
    <manager_index_index>
        <reference name="content">
            <block type="manager/manager" name="manager" template="lookbook/lookbook.phtml">
                <block type="manager/manager" name="manager_page" template="lookbook/lookbookpage.phtml">
            </block>
        </reference>        
    </manager_index_index>
</layout>

And in your lookbook.phtml use <?php echo $this->getChildHtml('manager_page') ?>.

I wonder about the block types you are using though; it would be highly unusual to use a block instance inside itself. If you simply need to render a template, just use Mage_Core_Block_Template i.e. type="core/template".

Upvotes: 4

Related Questions