у меня есть своя структура
/app application/ configs/ modules/ default/ controllers/ layouts/ views/ forms/ profile/ controllers/ layouts/ views/ forms/ assets/ css/ js/ images/ library/ public/ css/ js/ images/ uploads/
как я могу загрузить js и css-файлы из
/application/modules/profile/assets/...
?
и используйте что-то подобное с
$this->view->headLink()->appendStylesheet('path/to/file');
любые идеи по этому вопросу?
Помощник вида HeadLink управляет только ссылками на файлы CSS, которые отображаются в разделе вашей HTML-страницы. Эти таблицы стилей должны иметь общедоступный URL-адрес, что означает, что они должны будут находиться где-то в «общедоступной» папке.
Одним из решений было бы просто переместить туда файлы CSS. Другим решением было бы сделать какой-то PHP-скрипт, который читает файлы CSS из местоположения вне «общедоступной» папки, а затем печатает его содержимое. Zend Framework не имеет стандартного компонента для этого, поэтому я бы рекомендовал реорганизовать проект, поэтому все CSS могут находиться где-то в «общедоступной» папке.
Хотя я согласен с P44T в том, что таблицы стилей всегда должны храниться внутри общей папки, есть некоторые случаи, когда вам может потребоваться добавить дополнительный стиль из вашего модуля, как и вы. Одним из примеров этого является то, что вы хотите распределить свой модуль отдельно от приложения, и вы не хотите добавлять таблицу стилей отдельно от добавления модуля.
Вот один пример того, как вы могли это сделать из любого представления:
<?php $this->headStyle()->captureStart() ?> // add plain css or include a file like this: <?php include APPLICATION_PATH . 'modules/[modulename]/assets/css/style.css'; ?> <?php $this->headStyle()->captureEnd() ?>
Надеюсь это поможет 🙂