凭借我的PDF发票/发货/贷记凭证,我有大量纸张浪费了自定义产品选项和逐行列出的可配置选项。我希望这些可以放在一个块中,这样每个完全配置的产品就不会占用半页。
有什么想法吗?
答案 0 :(得分:1)
在./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']), 70, true, true);
$Guffin = Mage::helper('core/string')->str_split($value, 50, true, true);
$lines[][] = array(
'text' => htmlspecialchars_decode ($Mac[0]." : ".$Guffin[0]),
'feed' =>35
);
}
}
}
}
这是作弊,因为它不适用于多选,但它适用于手中的项目。
还必须输入htmlspecialchars_decode,因为Magento有点不对。
答案 1 :(得分:0)
这样的事也应该有用......
// 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), 70, true, true),
'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, 50, true, true),
'feed' => 40
);
}
}
*/
}
}
它将在标签后输出逗号分隔值。