Распечатать против макета экрана в Zend Framework - PullRequest
0 голосов
/ 05 января 2012

Я использую подход 'skins' для загрузки CSS на мой сайт Zend Framework.

Из layout.phtml:

  <head>
  <?php 
    print $this->headTitle();
    print $this->headScript();
    $this->loadSkin($this->skin);
    print $this->headLink();
    print $this->jQuery();
    print $this->layout()->customJS;
  ?>
</head>

где loadSkin () - это помощник вида, который выглядит следующим образом:

class Zend_View_Helper_LoadSkin extends Zend_View_Helper_Abstract {
  public function loadSkin ($skin) {
    $skinData = new Zend_Config_Xml('./skins/' . $skin . '/skin.xml');
    $stylesheets = $skinData->stylesheets->stylesheet->toArray();
    if (is_array($stylesheets)) {
      foreach ($stylesheets as $stylesheet) {
        $this->view->headLink()->appendStylesheet('$skin.'/css/'.$stylesheet);
      } 
    } 
  } 
}

В браузере (в любом графическом браузере) все хорошо отображается, включая элементы jQueryUI, как здесь: http://i.stack.imgur.com/70PVl.png.

Но когда я печатаю, CSS полностью игнорируется, как здесь: http://i.stack.imgur.com/NGC25.png.

Я полностью в замешательстве - и не могу найти здесь или на форумах ZF ничего о предоставлении отдельных параметров CSS для печати. Любые указатели будут с благодарностью!

Спасибо заранее, * 1021-римская *

Ответы [ 2 ]

5 голосов
/ 05 января 2012

Я не уверен, но я думаю, что вы должны установить MediaType для файла CSS:

//Display + Print
->appendStylesheet($skin.'/css/'.$stylesheet, 'screen,print');

//Only for Printers
->appendStylesheet($skin.'/css/'.$stylesheet, 'print');

Для получения дополнительной информации о View-Helper для таблиц стилей просмотрите следующую ссылку http://framework.zend.com/manual/de/zend.view.helpers.html#zend.view.helpers.initial.headlink

0 голосов
/ 05 января 2012

Попробуйте setStylesheet() метод для добавления таблицы стилей.

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