Magento PDF发票-如何将定制产品选项放在一行上?

问题描述

| 使用我的PDF发票/货件/贷项通知单,我浪费了大量纸张,其中逐行列出了自定义产品选项和可配置选项。我希望这些文件一个块内,这样每个完整配置的产品都不会占用半页。 有任何想法吗?     

解决方法

        在./Items/Invoice/Default.php中,我这样做:
    // custom options
    $options = $this->getItemOptions();
    if ($options) {
        foreach ($options as $option) {
            // draw options label
            // $lines[][] = array(
            //    \'text\' => Mage::helper(\'core/string\')->str_split(strip_tags($option[\'label\']),70,true,true),//    \'font\' => \'italic\',//    \'feed\' => 35
            //);

            if ($option[\'value\']) {
                $_printValue = isset($option[\'print_value\']) ? $option[\'print_value\'] : strip_tags($option[\'value\']);
                $values = explode(\',\',$_printValue);
                foreach ($values as $value) {
                    $Mac= Mage::helper(\'core/string\')->str_split(strip_tags($option[\'label\']),true);
                    $Guffin = Mage::helper(\'core/string\')->str_split($value,50,true);
                    $lines[][] = array(
                        \'text\' => htmlspecialchars_decode ($Mac[0].\" : \".$Guffin[0]),\'feed\' =>35 
                    );  
                }       
            }
        }
    }
这是作弊的,因为它不适用于多选,但适用于现有项目。 由于Magento弄错了一点,还必须放入htmlspecialchars_decode。     ,        这样的事情也应该起作用...
// custom options
$options = $this->getItemOptions();
if ($options) {
    foreach ($options as $key=>$option) {

        $_printValue = isset($option[\'print_value\']) ? $option[\'print_value\'] : strip_tags($option[\'value\']);

        // draw options label
        $lines[][] = array(
            \'text\' => Mage::helper(\'core/string\')->str_split(strip_tags($option[\'label\'] . \': \' . $_printValue),\'feed\' => 35
        );

        /*
        if ($option[\'value\']) {
            $_printValue = isset($option[\'print_value\']) ? $option[\'print_value\'] : strip_tags($option[\'value\']);
            $values = explode(\',$_printValue);
            foreach ($values as $value) {
                $lines[$lineNum][] = array(
                    \'text\' => Mage::helper(\'core/string\')->str_split($value,\'feed\' => 40
                );
            }
        }
        */
    }
}
它将在标签后输出逗号分隔的值。