zend_barcode в MVC - PullRequest
       37

zend_barcode в MVC

0 голосов
/ 31 марта 2010

Я просто хочу, чтобы действие печатало изображение штрих-кода, но я не могу заставить это работать в MVC, я просто делаю следующее:

public function barcodeAction() {
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender();
    Zend_Barcode::render($_GET['barcodeType'], 'image', $_GET, $_GET);
}

но когда я звоню

/barcode?barcodeType=code39&text=ZEND-FRAMEWORK

Я просто получаю: Msgstr "Изображение не может быть отображено, потому что в нем есть ошибки" (или что-то подобное, зависящее от браузера). Спасибо!

Ответы [ 3 ]

0 голосов
/ 02 апреля 2010

У меня нет проблем с вашим кодом, я вызываю этот URL: http://localhost/index/barcode?barcodeType=code39&text=ZEND в своем браузере (ваш код находится в IndexController), и я получаю правильное изображение.

Если я поставлю <img src="http://localhost/index/barcode?barcodeType=code39&text=ZEND" /> в виде, у меня также будет изображение.

Микаэль

0 голосов
/ 11 января 2017

Я знаю, что это может быть устаревшим, но когда у меня возникла та же проблема, я просто добавил

ob_clean();

в моем контроллере, так что теперь мое действие выглядит следующим образом

public function generateBarcodeAction() {
    ob_clean();
    $number = $this->params()->fromRoute('number');
    $barcodeOptions = array('text' => $number);
    $rendererOptions = array('imageType'=>'png');
    Barcode::render(
            'ean13', 'image', $barcodeOptions, $rendererOptions
    );
}

и он работает как шарм

0 голосов
/ 31 марта 2010

Вероятно, вы получаете ошибку, которую не видите из-за заголовка Content-Type, отправленного Zend_Barcode. Убедитесь, что у вас включен log_errors и настроено допустимое / доступное для записи место назначения для журнала. Таким образом, вы можете проверить журнал ошибок на предмет того, что вы обычно читали бы через браузер.

http://us3.php.net/manual/en/errorfunc.configuration.php#ini.log-errors

...