Активы — все о дополнительных компонентах кроме существующей структуры в Phalcon. В Phalcon есть менеджер активов, который помогает управлять всеми компонентами активов, такими как файлы CSS или JS.
Общие используемые методы —
метод | значение |
---|---|
__construct (переменная $ options) | Инициализирует компонент Phalcon \ Assets \ Manager |
addCss (строка $ path, переменная $ local, переменная $ filter, переменная $ attribute) | Добавляет ресурс CSS из коллекции ‘css’ в определенный вид |
addJs (строка $ path, переменная $ local, переменная $ filter, переменная $ attribute) | Добавляет ресурс JavaScript в коллекцию ‘js’ |
пример
Рассмотрим пример проекта Phalcon «vokuro», который является лучшей иллюстрацией для добавления файлов CSS . Он будет включать активы / Manager для вызова всех файлов CSS .
Контроллер по умолчанию для проекта вызовет все файлы CSS .
<?php namespace Vokuro\Controllers; use Phalcon\Assets\Manager; /** * Display the default index page. */ class IndexController extends ControllerBase { /** * Default action. Set the public layout (layouts/public.volt) */ public function indexAction() { $this->assets->addCss("public/style.css"); $this->view->setVar('logged_in', is_array($this->auth->getIdentity())); $this->view->setTemplateBefore('public'); } }
style.css
div.remember { margin-top: 7px; color: #969696; } div.remember label { padding-top: 15px; } div.forgot { margin-top: 7px; color: #dadada; } footer { background: url("../img/feature-gradient.png") no-repeat scroll center 100% white; color: #B7B7B7; font-size: 12px; padding: 30px 0; text-align: center; } footer a { margin-left: 10px; margin-right: 10px; } table.signup td { padding: 10px; } table.signup .alert { margin-bottom: 0; margin-top: 3px; } table.perms select { margin-top: 5px; margin-right: 10px; } table.perms label { margin-right: 10px; } div.main-container { min-height: 450px; }
Активами будут управлять внутри представлений, которые будут отображать CSS-файлы в качестве вывода.
Index.volt
{{ content() }} {{ assets.outputCss() }} <header class = "jumbotron subhead" id = "overview"> <div class = "hero-unit"> <h1>Welcome!</h1> <p class = "lead">This is a website secured by Phalcon Framework</p> <div align = "right"> {{ link_to('session/signup', '<i class="icon-ok icon-white"> </i> Create an Account', 'class': 'btn btn-primary btn-large') }} </div> </div> </header>
Выход
Это даст следующий результат —