2012-02-04 31 views
1

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

+0

您运行的是什么版本的Magento的? – 2012-02-05 01:28:53

+0

我正在使用CE ver 1.6 – billybjr 2012-02-05 21:27:17

+1

尝试reindex产品平面数据。 – Zyava 2012-02-05 21:39:10

回答

0

对不起,迟到的答案。在adminhtml模板文件中有一个错误(甚至高达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; ?> 
0

嗨,这适用于我在1.6.2.0。 CE值

  1. 打开此文件的应用程序/设计/ adminhtml /默认/缺省的/模板/销售/项目/列/ name.phtml

  2. 添加两个ENDIF的以下行;第53行和第55行的声明。

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

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; 
      } 
     } 
相关问题