Phalcon - Gestão de Ativos
Ativos são todos sobre os componentes adicionais além da estrutura existente no Phalcon. Phalcon possui um gerenciador de ativos que ajuda a gerenciar todos os componentes de ativos como arquivos CSS ou JS.
Os métodos comuns usados são -
Método | Importância |
---|---|
__construct (variável $ options) | Inicializa o componente Phalcon \ Assets \ Manager |
addCss (string $ caminho, variável $ local, variável $ filtro, variável $ atributos) | Adiciona um recurso CSS da coleção 'css' a uma visão particular |
addJs (string $ caminho, variável $ local, variável $ filtro, variável $ atributos) | Adiciona um recurso JavaScript à coleção 'js' |
Exemplo
Considere o projeto de amostra do Phalcon “vokuro” qual é a melhor ilustração para adicionar cssarquivos. Irá incluir ativos / gerente para invocar todos oscss arquivos.
O controlador padrão para o projeto irá invocar todos os css arquivos.
<?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;
}
Os ativos serão gerenciados dentro de visualizações, que exibirão arquivos css como uma saída.
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>
Resultado
Ele produzirá a seguinte saída -