2012-06-01 3 views
1

В моем шаблоне magento я использовал следующий код "getChildHtml ('content')" на моей домашней странице. Где он загружает контент, используя getChildHtml() из файла шаблона?Magento Template design

ответ

2

Вы можете найти свою глобальную структуру своей страницы в файле page.xml. Например, если вы можете использовать 3 colums

<default translate="label" module="page"> 
    <label>All Pages</label> 
    <block type="page/html" name="root" output="toHtml" template="page/3columns.phtml"> 
.... 

затем в шаблон страницы/3columns.phtml вашей темы дизайна вы можете увидеть это PHTML и в нем вы можете увидеть это:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> 
<head> 
<?php echo $this->getChildHtml('head') ?> 
</head> 
<body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>> 
<?php echo $this->getChildHtml('after_body_start') ?> 
<div class="wrapper"> 
    <?php echo $this->getChildHtml('global_notices') ?> 
    <div class="page"> 
     <?php echo $this->getChildHtml('header') ?> 
     <div class="main-container col3-layout"> 
      <div class="main"> 
       <?php echo $this->getChildHtml('breadcrumbs') ?> 
       <div class="col-wrapper"> 
        <div class="col-main"> 
         <?php echo $this->getChildHtml('global_messages') ?> 
         <?php echo $this->getChildHtml('content') ?> 
        </div> 
        <div class="col-left sidebar"><?php echo $this->getChildHtml('left') ?></div> 
       </div> 
       <div class="col-right sidebar"><?php echo $this->getChildHtml('right') ?></div> 
      </div> 
     </div> 
     <?php echo $this->getChildHtml('footer') ?> 
     <?php echo $this->getChildHtml('before_body_end') ?> 
    </div> 
</div> 
<?php echo $this->getAbsoluteFooter() ?> 
</body> 
</html> 

с getChildHtml ('content')?>. Реально ли вы решаете свой вопрос?

+0

Да Моя проблема была исправлена ​​с помощью вашего кода. Спасибо – Maniprakash

+1

У меня есть еще один вопрос. Можете ли вы объяснить мне разницу между Mage :: getModel() и Mage :: getSingleton() в загрузке magento. – Maniprakash

+0

Это патерн дизайна, в Magento у вас есть много этого. Whit Mage :: getSingleton() вы уверены, что экземпляр ob объекта уникален, например: Mage :: getSingleton («клиент/сеанс»). вам нужен исходный объект, чтобы действительно получить активный сеанс, но Mage :: getModel() вы экземпляр нового объекта в вызове. Но вы можете задать новый вопрос. Я готов ответить на него: P – davidselo