Magento PDF Invoices - как мне настроить индивидуальные параметры продукта на одной строке? - PullRequest
0 голосов
/ 18 июня 2011

С моими PDF-счетами / отгрузками / кредитовыми авизо у меня расходуется много бумаги с настраиваемыми опциями продукта и настраиваемыми опциями, перечисленными построчно. Я бы предпочел, чтобы они были в одном блоке, чтобы они не занимали половину страницы на полностью настроенный продукт.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 19 июня 2011

In ./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 ошибается.

0 голосов
/ 17 апреля 2012

Примерно так же должно работать ...

// 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
                );
            }
        }
        */
    }
}

Выводит запятую после метки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...