| Route Name | Path | Params | Values |
| {{ route.name }} | {{ route.path }} | {% for k,v in route.params %} {{ k }} > {{ v }} {{ loop.index < loop.length ? ' | ' : '' }} {% endfor %} | {% for k,v in route.values %} {{ k }} > {{ v }} {{ loop.index < loop.length ? ' | ' : '' }} {% endfor %} |
| Route Name | Path | Params | Values |
| {{ page.name }} | {{ page.path }} | {% for k,v in page.params %} {{ k }} > {{ v }} {{ loop.index < loop.length ? ' | ' : '' }} {% endfor %} | {% for k,v in page.values %} {{ k }} > {{ v }} {{ loop.index < loop.length ? ' | ' : '' }} {% endfor %} |
Documentación: http://fancyapps.com/fancybox/
Ejemplo de ventana emergente con archivo inexistenteDocumentación: http://jquerytools.github.io/
https://github.com/Seldaek/monolog
//******************** LOG
$log = new Logger('name');
$log->pushHandler(new StreamHandler(ROOT_DIR.'log/system.log', Logger::WARNING)); //Registro de logs en archivos
$log->addWarning('warning. Ejecutado controlador HELPERS'); //Añadir un WARNING
$log->addError('error. Bar'); //Añadir un ERROR
//******************** LOG
Ejemplo de envío de un correo
https://github.com/cosenary/Simple-PHP-Cache
Imprescindible para almacenar en formato JSON consultas de la base de datos. Datos que no se actualizan con frecuencia y son genéricos, no están relacionados con un usuario
//******************** CACHE
//Setup the Cache
$c = new Cache(array(
'name' => 'cacheos',
'path' => ROOT_DIR . 'cache' . DS . 'content' . DS,
'extension' => '.cache'
));
//$c->setCache('newcache');
// Elimina la caché que ha expirado
echo $c->eraseExpired() . ' expired items erased!';
//Comprueba si existe el archivo de caché con id = movies
$result = $c->isCached('movies');
//Si existe obtiene el contenido mediante el id = movies
if($result){
//To retrieve the timestamp of a key, set the second parameter to true. retrieve('movies', true)
$data = $c->retrieve('movies');
//This allows you retrieve all the cached data at once. You get the meta data by setting the $meta argument to true.
$data = $c->retrieveAll(true);
//Sino existe genera el archivo de caché
}else{
echo "STORE";
//Store data. store($key, $data, <$expiration>)
$c->store(
'movies',
array(
'description' => 'Time: ' . date('H:i:s'),
'Action' => array(
'Tropic Thunder',
'Bad Boys',
'Grano'
)
),
10 //seconds
);
$c->store(
'music',
array(
'description' => 'Time: ' . date('H:i:s'),
'Action' => array(
'music',
'beatles',
'1970'
)
),
20 //seconds
);
}
// Generate a new Cache file with the name 'newcache'
//$c->setCache('newcache');
// Erase entry by its key
// erase($key) Erases a single entry by its key.
// eraseAll() Erases all entries from the Cache file.
// eraseExpired() Erases all expired entries.
//$c->erase('hello');
//******************** CACHE
Nombre de clase 'CamelCase': IndexController
Métodos de clase y funciones 'lowerCamelCase': phpInfo()
Propiedades de clase y variables: $model_backend
Constante: EMAIL_ADMIN
Variable global: $_conf
Matrices 'lowerCamelCase' y 'arr' al inicio: $arrDatosAsociativos
Objeto 'lowerCamelCase' y 'obj' al inicio: $objInstanciaObjeto
Variables locales: var mi_valor
Variables global: mi_valor
Funciones 'lowerCamelCase': phpInfo()
Atributo class y id 'lowerCamelCase': languageSwitcher
Atributo data: data-webservice-url=''
Atributo name en Input: model_backend
Funciones 'lowerCamelCase': .borderRadius(@radius: 5px){}
Imágenes: logo-principal.jpg
Hojas de estilo: widgets-category.css
Javascript: html5-uploader.js
Archivos twig 'lowerCamelCase': formalizeOrder.html.twig
Controladores y modelos 'CamelCase': BackendController.php, OrderModel.php
Para Less y Js no están disponibles los datos del array ACTIVE_BUNDLES
No están disponibles las variables de PHP que están vacías.
Acceso a las variables multidimensionales, por ejemplo SESSION: SESSION.userData.username.
La variable anterior también está disponible en PHP: $_SESSION['userData']['username']
Métodos genéricos que no realizan tareas internas en el Framework. Se puede usar en los archivos php con la siguiente notación: \Helpers\Snippets::validateToken(). Asimismo, se puede referencia a estos métodos desde la clase TwigExtendFunctions para poder usarlos desde las plantillas Twig.
Métodos que en su mayoría realizan tareas internas complejas en el Framework. Se puede usar en los archivos php con la siguiente notación: \Helpers\Library::compileJs(). Asimismo, se puede referencia a estos métodos desde la clase TwigExtendFunctions para poder usarlos desde las plantillas Twig, como se hace habitualmente con los métodos url(), trans() y render().
Métodos usados de manera frecuente e insertados en la clase Controller que está disponible por defecto en todo el framework
Métodos usados practicamente de manera exclusiva en las plantillas Twig. Algunos de estos métodos hacen la petición directamente a la clase Library y Snippets.
Métodos disponibles en el modelo base
Vista
Controlador
Include
{% include '@video/frontend/includes/boxVideo.html.twig' %}
Render sin parámetros
{{ render('widget','categoryRoll','category') }}
Render con parámetros
{{ render('widget','widgetCompanyInfo','company',{'company_id':company.ID_Cliente}) }}
Url sin parámetros
{{ url('home') }}
Url con parámetros
{{ url('producto',{'company':product.company_slug,'product':product.product_slug}) }}
Funciones disponibles
Url para imagen
background:url(@IMAGES_URL+'backend/checkbox.png')
Activar/desactivar temporalmente modo desarrollo
http://es.israelnoguera.com/?develop=1
{{ v.1 | raw }}
{{ v.2 }}
{{ v.0 }} ({{ k }})PHP_INI_USER 1 La entrada puede definirse en scripts de usuario o en el registro de Windows
PHP_INI_PERDIR 2 La entrada puede definirse en php.ini, .htaccess o httpd.conf
PHP_INI_SYSTEM 4 La entrada puede definirse en php.ini o httpd.conf
PHP_INI_ALL 7 La entrada puede definirse en cualquier parte
{{ debug(iniGetAll) }}ft_min_word_len -> determina el número de caracteres a partir del cual se hace la busqueda en campos FULL INDEX
{{ debug(mysqlVariables) }}