问题描述
|
使用我的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
);
}
}
*/
}
}
它将在标签后输出逗号分隔的值。