是否将标记部分移出Magento中的选项卡?

是否将标记部分移出Magento中的选项卡?,magento,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-&

在上,我试图将标签列表和标签表单从标签中移到评论部分前面的开放区域

我将/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?或者我怎样才能让它工作


非常感谢

如果将代码从模板tag/list.phtml复制到catalog/product/view.phtml,则无法工作,因为catalog/product/view.phtml后面的块不支持与tag/list.phtml后面的块相同的方法集

我建议将标签列表块移动到布局XML中产品视图块的内部。然后在catalog/product/view.phtml中可以使用

<?php echo $this->getChildHtml('tag_list'); ?>
<?php echo $this->getLayout()->getBlock('tag_list')->toHtml(); ?>
它将打印tag/list.phtml的内容

或者,如果不想在布局XML中移动块,则可以使用

<?php echo $this->getChildHtml('tag_list'); ?>
<?php echo $this->getLayout()->getBlock('tag_list')->toHtml(); ?>
但它不是那么干净漂亮:我建议选择第一种。Magento商务网站提供了一些关于如何使用布局的资源