Как я могу сделать PHP-файл для использования в качестве CSS в Zend? - PullRequest
0 голосов
/ 22 ноября 2011

Я ссылаюсь по следующей ссылке,

Как включить CSS в php?

Я использую Zend. В мой шаблонный файл phtml я включил как показано ниже,

<style type="text/css">
    input[type="button"] {
        background-image: url("<?php echo SITE_URL; ?>/images/sub_bg-green.jpg");
        background-repeat: repeat-x;
        border: 1px solid #4B8109;
        font-size: 11px;
        margin-right: 10px;
        padding: 3px 10px;
        color:#000;   
    }
</style>

код <?php echo SITE_URL; ?> даст базовый URL. Это работает, когда я включаю в шаблон страницы. Сейчас я работаю над проверкой w3c, которая выдает ошибку. поэтому я попытался поместить все стили в product_details.php и включить его в файл phtml, используя следующий код,

<?php $this->headLink()->appendStylesheet(BASE_URL . 'css/templates/product_details.php');  ?>

при просмотре исходного кода файла я не получил базовый URL, вместо этого я получил, как показано ниже,

<style type="text/css">
    input[type="button"] {
        background-image: url("SITE_URL/images/sub_bg-green.jpg");
        background-repeat: repeat-x;
        border: 1px solid #4B8109;
        font-size: 11px;
        margin-right: 10px;
        padding: 3px 10px;
        color:#000;   
    }
</style>

Как я могу включить php-код в css, и в то же время он должен быть внутри <HEAD>, чтобы мы могли достичь проверки w3c. Пожалуйста, советуйте по этому поводу.

1 Ответ

0 голосов
/ 22 ноября 2011

Почему бы просто не использовать относительные ссылки из файла CSS на изображения, например,

/* Assuming CSS file is css/templates/product_details.css */

background-image: url(../../images/sub_bg-green.jpg);

... или даже абсолютный URL, если ваши изображения всегда находятся в одном и том же месте

background-image: url(/images/sub_bg-green.jpg);

Затем вы просто связываете файл CSS с помощью HeadLink помощника вида

<?php $this->headLink()->appendStylesheet(
    $this->baseUrl('css/templates/product_detail.css')); ?>
...