简单产品的自定义选项无法按订单显示

时间:2012-02-04 20:47:21

标签: magento

我有简单的产品,有几个自定义选项。选项过程似乎在前端工作正常。所选的选项显示在购物车中,价格是正确的。我下了订单,当我在管理员中将其提起时,会显示选项标题,但实际选择不是。选项显示在发送给我和客户的订单确认电子邮件中。所以他们必须进入管理员。关于为什么他们不在订单或发票上的任何想法?

3 个答案:

答案 0 :(得分:1)

我通过修改文件

在1.6.1.0中解决了这个问题
  

/app/code/core/Mage/Adminhtml/Block/Sales/Items/Column/Name.php

我从1.7.0复制了这个没有这个问题的文件。 以下是解释:

在类声明中根本没有方法,我们需要的是getFormattedOption 如果您在此文件中找到此功能,请跳过此答案。

如果没有,只需在类中插入此函数,因此整个文件必须如下:

class Mage_Adminhtml_Block_Sales_Items_Column_Name extends Mage_Adminhtml_Block_Sales_Items_Column_Default
        {
            /**
             * Add line breaks and truncate value
             *
             * @param string $value
             * @return array
             */
            public function getFormattedOption($value)
            {
                $_remainder = '';
                $value = Mage::helper('core/string')->truncate($value, 55, '', $_remainder);
                $result = array(
                    'value' => nl2br($value),
                    'remainder' => nl2br($_remainder)
                );

                return $result;
            }
        }

答案 1 :(得分:0)

对不起,迟到了。管理员模板文件中存在一个错误(甚至高达1.6.2)。这是修复。

diff --git a/app/design/adminhtml/default/default/template/sales/items/column/name.phtml b/app/design/adminhtml/default/default/template/sales/items/column/name.phtml
index 7b36ee1..9e1f603 100644
--- a/app/design/adminhtml/default/default/template/sales/items/column/name.phtml
+++ b/app/design/adminhtml/default/default/template/sales/items/column/name.phtml
@@ -41,16 +41,7 @@
             <?php if (isset($_option['custom_view']) && $_option['custom_view']): ?>
                 <?php echo $this->getCustomizedOptionValue($_option); ?>
             <?php else: ?>
-                <?php $_option = $this->getFormattedOption($_option['value']); ?>
-                <?php echo $_option['value']; ?><?php if (isset($_option['remainder']) && $_option['remainder']): ?><span id="<?php echo $_dots = 'dots' . uniqid()?>"> ...</span><span id="<?php echo $_id = 'id' . uniqid()?>"><?php echo $_option['remainder'] ?></span>
-                    <script type="text/javascript">
-                    $('<?php echo $_id ?>').hide();
-                    $('<?php echo $_id ?>').up().observe('mouseover', function(){$('<?php echo $_id ?>').show();});
-                    $('<?php echo $_id ?>').up().observe('mouseover', function(){$('<?php echo $_dots?>').hide();});
-                    $('<?php echo $_id ?>').up().observe('mouseout',  function(){$('<?php echo $_id ?>').hide();});
-                    $('<?php echo $_id ?>').up().observe('mouseout',  function(){$('<?php echo $_dots ?>').show();});
-                    </script>
-                <?php endif; ?>
+                <?php echo $_option['value']; ?>
             <?php endif; ?>
             </dd>
         <?php endforeach; ?>

答案 2 :(得分:0)

嗨,这适用于1.6.2.0。 C.E。

  1. 打开此文件app / design / adminhtml / default / default / template / sales / items / column / name.phtml

  2. 在两个endif之间添加以下行;分别在第53和55行的陈述。

    <?php echo $_option['option_value']; ?>
    
  3. 刷新缓存类型并重新加载页面。您可以在magento后端/管理面板上的订单产品详细信息中查看自定义选项。