Параметр, который вы передаете appendStylesheet
, просто выводится слепо в ваш HTML, фреймворк на самом деле не ищет этот файл.
Причина, по которой это работает на некоторых страницах, а не на других, заключается в том, что вы дали appendStylesheet
относительную ссылку. По сути, когда браузер встречает относительную ссылку, он удаляет текущий URL в последнем слэше, а затем добавляет ссылку.
Итак, в project.local / account браузер ищет CSS в project.local / css / styles.css, но в project.local / account / action браузер ищет CSS в проекте. местный / счет / CSS / styles.css.
Короче говоря, добавьте к вашему параметру начальную косую черту, которая превратит его в относительную корневую ссылку, которая разрешится в одно и то же место на всех страницах:
$this->headLink()->appendStylesheet('/css/styles.css');
Как указал Фил в комментарии, приведенный выше пример работает только до тех пор, пока ваше приложение ZF установлено в корне сайта (как в этом случае). Использование помощника BaseUrl выведет правильный путь независимо от того, где сайт расположен в иерархии сайтов.
$this->headLink()->appendStylesheet($this->baseUrl('css/styles.css'));