Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP函数的变更顺序_Php_Magento - Fatal编程技术网

PHP函数的变更顺序

PHP函数的变更顺序,php,magento,Php,Magento,我希望改变列表在我们的Magento购物车中集合的顺序 我们有以下编码: public function getOptionList() { $options = false; if (Mage::getStoreConfig('SCP_options/cart/show_custom_options')) { $options = parent::getOptionList(); } if (Mage::getStoreConfig('SCP_

我希望改变列表在我们的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;
}
其中显示以下内容:

我们希望交换属性和选项,使属性显示在项目的顶部

在编码中,我们已经确定,顶部的if语句用于选项,底部的if语句用于属性,因此理论上,它应该只是一个交换它们的例子。。。不幸的是,它似乎没有那么简单

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


有没有人能推荐一些可以尝试的东西,因为我们在尝试排序时感到非常沮丧。

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

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

在最初的示例中,
$options[]=array(…
行)是一个完整的重新分配。我很惊讶第一个IF子句对
$output
的返回值有任何影响。这不是一个完整的重新分配。[]是向数组添加元素的快捷方式。