在类别视图中的静态块之前调用全局函数

时间:2016-01-04 14:54:28

标签: magento magento-1.9

我编写了一个简单的全局帮助函数,我计划在类别页面的开头调用它。这是相当直接的,只是回应当前类别中的产品数量以及最高和最低价格。丝毫没有什么复杂的。 我在我的catalog / product / list.phtml的开头用简单的行调用函数:

<?php  Mage::helper('module/getcatinfo')->getCatInfo();?>

我的方法的逻辑工作正常,一切都在按原样进行,有一个值得注意的烦人异常 - 如果在后端将类别设置为'static block and products',则调用该方法并回显它的输出 之后的静态阻止 - 我更希望它首先出现。

我可以选择在静态块之前将方法的输出放到页面上吗?在静态块中调用我的方法似乎没有丝毫工作,我正在努力找到一个解决方案,而不是采用'after'伪元素做一些令人讨厌的事情。

注意:我没有包含实际帮助方法的代码,因为它对我的问题完全是任意的 - 它也可能是一个'hello world'方法。

1 个答案:

答案 0 :(得分:2)

是的,如果你在catalog/product/list.phtml打印它,那么显然是在cms阻止启用两个static block & product类别之后。因为如果您导航到base/default/template/catalog/category/view.phtml文件(在第62-72号线附近)

<?php if($this->isContentMode()): ?>
  <?php echo $this->getCmsBlockHtml() ?>

<?php elseif($this->isMixedMode()): ?> <!--/ Your condition meets here both static block & product list -->
  <?php echo $this->getCmsBlockHtml() ?> <!--/ CMS Block prints here -->
  <?php echo $this->getProductListHtml() ?> <!--/ And list.phtml file to render products -->

<?php else: ?>
 <?php echo $this->getProductListHtml() ?>
<?php endif; ?>

所以,我想这可以帮助你重新组织东西。