改变PHP函数的顺序

时间:2011-06-23 18:23:06

标签: php magento

我希望更改列表在Magento购物车中汇总的顺序。

我们有以下编码:

public function getOptionList()
{
    $options = false;
    if (Mage::getStoreConfig('SCP_options/cart/show_custom_options')) {
        $options = parent::getOptionList();
    }

    if (Mage::getStoreConfig('SCP_options/cart/show_config_product_options')) {
        if ($this->getConfigurableProductParentId()) {
            $attributes = $this->getConfigurableProductParent()
                ->getTypeInstance()
                ->getUsedProductAttributes();
            foreach($attributes as $attribute) {
                $options[] = array(
                    'label' => $attribute->getFrontendLabel(),
                    'value' => $this->getProduct()->getAttributeText($attribute->getAttributeCode()),
                    'option_id' => $attribute->getId(),
                );
            }
        }
    }
    return $options;
}

显示以下内容:http://awesomescreenshot.com/053ffeie9

我们希望交换属性和选项,以便在项目顶部显示属性。

在编码中我们已经建立了top if语句用于选项而底部if语句用于属性,所以理论就是它应该只是交换它们的情况......不幸的是它似乎没有就这么简单。

如果我们交换它们,属性不会显示,但选项会显示。

有人能够推荐任何可以尝试的东西,因为我们在尝试对此进行排序时非常沮丧。

1 个答案:

答案 0 :(得分:2)

交换它们然后在下半部分使用array_merge。当你交换它们时,第二部分只是分配选项并消除属性部分。这将两者放在一起而不是覆盖:

if (Mage::getStoreConfig('SCP_options/cart/show_custom_options')) {
    $options = array_merge($options, parent::getOptionList();
}