I'd like to retrieve the contents of the text field (custom option) that the customer entered at the product page. I have tried functions such as: getValue, getPost, getMyCustomValue, getAttributeText and a few others.

$_options = Mage::getModel('catalog/product_option')->getProductOptionCollection($product);
foreach ($_options as $option) {
    $title = $option->getDefaultTitle();
    //foreach ($option->getValues() as $value) {
    //  print_r($value->getData());
    $value = $option->getOptionText();
    echo "<br />".$title." - ".$value."<br />";

I am working within /app/code/core/Mage/Catalog/Model/Product/Type/Configurable/Price.php in Magento 1.9.1. Any idea which function is used to "get" the text field of a custom option?

  • Why are you working in this file? You shouldn't edit the core! That being said, $product->getCustomOption($code)['value'] should work, but only if this product instance has already been prepared with the user data. Commented Jul 15, 2015 at 14:43
  • Just trying to adjust pricing on a product. I will be reverting and moving to the appropriate location. What is $code? Does that need to be changed?
    – NotJay
    Commented Jul 15, 2015 at 14:48
  • $code is the code of the custom option. If you want to access all custom options, use $product->getCustomOptions() instead to get an array. But do yourself a favor and do it right from the beginning: what you need is an observer for catalog_product_get_final_price (as explained here: magento.stackexchange.com/a/74463/243) Commented Jul 15, 2015 at 14:52


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.