2012-06-02 52 views
0

this page上,我試圖將標籤(標籤和標籤表格列表)從標籤中移出到評論部分之前的開放區域。將標籤部分移出Magento中的標籤?

我複製一切從/template/tag/list.phtml到/template/catalog/product/view.phtml:

<div class="box-collateral box-tags"> 
    <h2><?php echo $this->__('Product Tags') ?></h2> 
    <?php echo $this->getChildHtml('list_before')?> 
    <?php if($this->getCount()): ?> 
    <h3><?php echo $this->__('Other people marked this product with these tags:') ?></h3> 
    <ul id="<?php echo $this->getUniqueHtmlId('product-tags_'); ?>" class="product-tags"> 
     <?php echo $this->renderTags('<li><a href="%1$s">%2$s</a> (%3$s)</li>') ?> 
    </ul> 
    <script type="text/javascript"> 
     decorateGeneric($("<?php echo $this->getUniqueHtmlId('product-tags_'); ?>").select('li'), ['first', 'last']); 
    </script> 
    <?php endif; ?> 
    <form id="addTagForm" action="<?php echo $this->getFormAction(); ?>" method="get"> 
     <div class="form-add"> 
      <label for="productTagName"><?php echo $this->__('Add Your Tags:') ?></label> 
      <div class="input-box"> 
       <input type="text" class="input-text required-entry" name="productTagName" id="productTagName" /> 
      </div> 
      <button type="button" title="<?php echo $this->__('Add Tags') ?>" class="button" onclick="submitTagForm()"> 
       <span> 
        <span><?php echo $this->__('Add Tags') ?></span> 
       </span> 
      </button> 
     </div> 
    </form> 
    <p class="note"><?php echo $this->__("Use spaces to separate tags. Use single quotes (') for phrases.") ?></p> 
    <script type="text/javascript"> 
    //<![CDATA[ 
     var addTagFormJs = new VarienForm('addTagForm'); 
     function submitTagForm(){ 
      if(addTagFormJs.validator.validate()) { 
       addTagFormJs.form.submit(); 
      } 
     } 
    //]]> 
    </script> 
</div> 

雖然形式顯示正確,標籤都沒有。

我想這與「$ this-> getCount()」有關。那麼我怎麼能在view.phtml中獲得$ this這個標籤呢?或者我該如何做這項工作?

非常感謝!

回答

0

如果您將模板tag/list.phtml中的代碼複製到catalog/product/view.phtml中,那麼它無法工作,因爲catalog/product/view.phtml的後面是一個塊,它不支持與塊後面的方法相同的一組方法/list.phtml。

我建議在佈局XML中的product_view塊內移動tag_list塊。然後在catalog/product/view.phtml中,你可以使用類似於

<?php echo $this->getChildHtml('tag_list'); ?> 

這將打印tag/list.phtml的內容。

或者,如果你不想在佈局移動個XML塊,那麼你可以使用像

<?php echo $this->getLayout()->getBlock('tag_list')->toHtml(); ?> 

,但它不是那麼漂亮和乾淨:)我建議去與選項之一。 Magento Commerce網站提供了一些資源如何使用佈局。