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
Magento获取选项标签或标题_Magento_Magento 1.9 - Fatal编程技术网

Magento获取选项标签或标题

Magento获取选项标签或标题,magento,magento-1.9,Magento,Magento 1.9,我正在使用Magento函数,getCustomOptions,它似乎返回了除选项标签或标题之外的所有我需要的值。以下是我的测试代码: foreach($product->getCustomOptions() as $o) { echo '<br /><strong>[Item ID]</strong> ' . $o->getItemId() . '<br /><strong>[Value ID]&l

我正在使用Magento函数,
getCustomOptions
,它似乎返回了除选项标签标题之外的所有我需要的值。以下是我的测试代码:

    foreach($product->getCustomOptions() as $o) {
        echo '<br /><strong>[Item ID]</strong> ' . $o->getItemId() . '<br /><strong>[Value ID]</strong> ' . $o->getId() . '<br /><strong>[Value]</strong> ' . $o->getValue() . '<br /><strong>[Code]</strong> ' . $o->getCode() . '<br />';
    }

现在我需要知道如何使用项目ID代码来获取选项标签(或标题)。

使用此希望对您有所帮助

<?php
    $product = Mage::getModel("catalog/product")->load($_product->getId()); //product id
    foreach ($product->getOptions() as $_option) {
        $values = $_option->getValues();
        echo $values_t = $_option->getTitle().'<br>';
        echo $values_t = $_option->getType().'<br>';
        foreach ($values as $v) {
            echo $v->getTitle().'<br>';
        }
    }
?>

在产品页面上的标题和选项id前尝试下面的代码

<?php 
   $product_options = array();
   foreach ($_product->getOptions() as $_option) {
     $product_options[] = $_option->getTitle();
     if($_option->getTitle() == 'Sweatshirt Color')
        {   
            $values = $_option->getValues();
            foreach ($values as $value) {
                echo $value['option_id'];
                echo $value->getTitle();
            }
        }
    }
?>

以下是我如何从购物车页面获取特定自定义选项的值和标签(假设您的自定义选项都在前端使用相同的标签)

<?php 
   $product_options = array();
   foreach ($_product->getOptions() as $_option) {
     $product_options[] = $_option->getTitle();
     if($_option->getTitle() == 'Sweatshirt Color')
        {   
            $values = $_option->getValues();
            foreach ($values as $value) {
                echo $value['option_id'];
                echo $value->getTitle();
            }
        }
    }
?>
$params = Mage::app()->getRequest()->getParams();
/** @var Mage_Catalog_Model_Product $product */
$info = new Varien_Object($params);

// Don't throw an exception if required options are missing
$processMode = Mage_Catalog_Model_Product_Type_Abstract::PROCESS_MODE_LITE;

$options = array();
foreach ($product->getOptions() as $option) {
    /* @var $option Mage_Catalog_Model_Product_Option */
    $group = $option->groupFactory($option->getType())
        ->setOption($option)
        ->setProduct($product)
        ->setRequest($info)
        ->setProcessMode($processMode)
        ->validateUserValue($info->getOptions());

    $optionValue = $info->getData('options/' . $option->getId());
    $options[] = array(
        'label' => $option->getTitle(),
        'option_id' => $option->getId(),
        'option_type' => $option->getType()
    );
    if($options[0]['label'] == 'Your Option Label') {
        $thecode = 'option_' . $options[0]['option_id'];    //Append the Option ID to "option_" resulting in "option_XX" which you'll need in the next step
        foreach($product->getCustomOptions() as $o) {
            if($o->getCode() == $thecode) {             //if Custom Option code = $thecode
                $opt_val = $o->getValue();
            }
        }
    }
}