CSS не работает - PullRequest
       3

CSS не работает

0 голосов
/ 12 августа 2010

Я новичок в Zend Framework, пытаюсь настроить проект на моем локальном компьютере для дальнейших изменений. Я успешно установил и настроил Zend Framework. Но CSS не работает. Кто-нибудь может мне помочь, пожалуйста?

Ответы [ 4 ]

2 голосов
/ 12 августа 2010

Вроде смутный вопрос.Если ваше приложение работает нормально под http://domain.com/,, но CSS и другие внешние компоненты не работают под http://domain.com/project/,, возможно, это проблема с путями к внешним ресурсам.Вы пытаетесь загрузить ресурсы с полностью определенным путем (начинается с '/') или с относительным путем (без '/' в начале)?

Полные пути, такие как '/ css /style.css ', не будет работать должным образом, если приложение перемещается, скажем, с http://domain.com/ на http://localhost/project/public/. Это связано с тем, что браузер всегда будет искать ресурс в корне сайта - http://domain.com/css/style.css и http://localhost/css/style.css в нашем примере.

Относительные пути, такие как 'css / style.css', будут работать, как и ожидалось, для обоих URL-адресов, но могут работать некорректно, когда вы начнете добавлять другиевиртуальные пути к URL.Чтобы продолжить пример, относительный URL заставит браузер искать http://domain.com/css/style.css и http://localhost/project/public/css/style.css. Предупреждение: на странице http://localhost/project/public/controller/action будут сгенерированы относительные URL ресурсов, такие как http://localhost/project/public/controller/action/css/style.css,, который не будет работать.

Чтобы внешние ресурсы загружались в обеих ситуациях, используйте тег BASE в макете и относительные URL-адреса для внешних ресурсов.Я склонен использовать следующее:

<head>
  <base href="<?php echo $this->serverUrl($this->baseUrl()); ?>/">
</head>

Тег BASE заставляет указанный префикс указывать все относительные URL, что заставит страницу на http://localhost/project/public/controller/action генерировать относительные URL, такие как http://localhost/project/public/css/style.css.

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

1 голос
/ 12 августа 2010

Ах! Я получил свое рабочее Мы должны изменить локальный путь в домашнем каталоге на C: \ Inetpub \ wwwroot \ project \ public и я использовал только C: \ Inetpub \ wwwroot \, поэтому css не работал

Спасибо всем за ваши ответы и комментарии

0 голосов
/ 12 августа 2010

Вам не нужно настраивать base-tag.
Просто используйте baseUrl () -view помощник всякий раз, когда вы ссылаетесь на внешние ресурсы, например:

<?php $this->headLink()->appendStylesheet($this->baseUrl('/css/style.css')) ?>
0 голосов
/ 12 августа 2010

в основном, в 'yourProject / application / layout / layout.phtml' поместите следующую строку в заголовочный раздел вашего html:

<?php $this->headLink()->appendStylesheet('/css/style.css') ?>

, теперь Zend будет искать файл 'yourProject / public/css/style.css'

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