Bootstrap

Helper con funciones auxiliares para la vista, provee funciones estáticas que escriben Bootstrap por nosotros.

dropdown()

Crea un Dropdown de Boostrap, recibe cuatro parámetros y dos de ellos son opcionales.

El primer parámetro es el texto que se colocará como nombre del Dropdown.

El segundo parámetro es un arreglo asociativo con todos los enlaces que contendrá el Dropdown, donde cada índice asociativo es nombre del enlace y cada valor es la URL a la que direcciona.

$arreglo_de_ejemplo = array(
 'Enlace 1' => '#',
 'Enlace 2' => 'users/',
 'Enlace 3' => 'http://ocrend.com'
);

El tercer parámetro es un valor booleano opcional, para establecer si se desea que el dropdown se despliegue hacia arriba, por defecto es false y se despliega hacia abajo, al establecer true se desplegará hacia arriba.

El cuatro parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap', $this->template);

# Desde la vista (Plates)
<?= Bootstrap::dropdown('Mi Drop', array('url 1' => '#'), true, 'clase css extra') ?>

# Desde la vista (Twig)
{{ dropdown('Mi Drop', {'url 1' : '#'}, true, 'clase css extra') }}

button_dropdown()

Renderiza un botón con un dropdown

El primer parámetro es el texto que se colocará en el botón.

El segundo parámetro es un arreglo asociativo con todos los enlaces que contendrá el Dropdown, donde cada índice asociativo es nombre del enlace y cada valor es la URL a la que direcciona.

$arreglo_de_ejemplo = array(
 'Enlace 1' => '#',
 'Enlace 2' => 'users/',
 'Enlace 3' => 'http://ocrend.com'
);

El tercer parámetro es un parámetro opcional, el tipo de botón de bootstrap a crear, por defecto es 'default' y puede ser 'primary', 'danger', 'success', 'info', 'default', 'warning'

El cuatro parámetro es un valor booleano opcional, para establecer si se desea que el dropdown se despliegue hacia arriba, por defecto es false y se despliega hacia abajo, al establecer true se desplegará hacia arriba.

El quinto parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap', $this->template);

# Desde la vista (Plates)
<?= Bootstrap::button_dropdown('Mi Botón', array('url 1' => '#'),'primary', true, 'clase css extra') ?>

# Desde la vista (Twig)
{{ button_dropdown('Mi Botón', {'url 1' : '#'},'primary', true, 'clase css extra') }}

button()

Crea un botón básico de bootstrap

El primer parámetro es el texto del botón.

El segundo parámetro es opcional, es el tipo de botón, por defecto es 'button'

El tercer parámetro es opcional, es el tipo de botón de bootstrap a crear, por defecto es 'default' y puede ser 'primary', 'danger', 'success', 'info', 'default', 'warning'

El cuatro parámetro es opcional, es el valor que quisiéramos poner en una etiqueta id=""

El quinto parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap', $this->template);

# Desde la vista (Plates)
<?= Bootstrap::button('Botón','submit','success','el_boton','clases adicionales') ?>

# Desde la vista (Twig)
{{ button('Botón','submit','success','el_boton','clases adicionales') }}

basic_input()

Renderiza un input básico

El primer parámetro es el tipo de input a crear, por ejemplo 'text', 'email', 'tel'

El segundo parámetro es el nombre del input que se colocará en la propiedad name="" y también en id="id_"

El tercer parámetro es un booleano opcional, por defecto es false, al establecer true se colocaría la propiedad required=""

El cuatro parámetro es opcional, por defecto es un string vacío, es lo que se colocaría en la propiedad value=""

El quinto parámetro es opciona, por defecto es un string vacío, es lo que se colocaría en la propiedad placeholder=""

El sexto parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap', $this->template);

# Desde la vista (Plates)
<?= Bootstrap::basic_input('text','ejemplo',true,'valor','Escribe algo...','form-input clases extras') ?>

# Desde la vista (Twig)
{{ basic_input('text','ejemplo',true,'valor','Escribe algo...','form-input clases extras') }}

basic_select()

Renderiza un select básico

El primer parámetro es el nombre del select que se colocará en la propiedad name="" y también en id="id_"

El segundo parámetro es un arreglo asociativo con todas las opciones que contendrá el select, donde cada índice asociativo es value="" y el valor de cada posición es el nombre entre las etiquetas option

$arreglo_de_ejemplo = array(
 '1' => 'uno',
 '0' => 'dos',
 '3' => 'tres'
);

El tercer parámetro es un booleano opcional, por defecto es false, al establecer true y se definirá el select como múltiple

El cuatro parámetro es opcional, y su función es tener todos los valores que deben aparecer seleccionados por defecto en el select, esto tiene dos posibles soluciones, si nuestro select no es múltiple, basta con pasar un string que tenga el nombre del value="" seleccionado. En caso de ser un select que sí es múltiple, hay que pasar un array con todos los value="" seleccionados.

El quinto parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap', $this->template);

# Desde la vista select normal (Plates)
<?= Bootstrap::basic_select('ejemplo',array(
 '1' => 'uno',
 '0' => 'dos',
 '3' => 'tres'), false, '0', 'clases extras') ?>

# Desde la vista select múltiple (Plates)
<?= Bootstrap::basic_select('ejemplo_multi',array(
 '1' => 'uno',
 '0' => 'dos',
 '3' => 'tres'), true, ['1','3'] , 'clases extras') ?>

 # Desde la vista select normal (Twig)
 {{ basic_select('ejemplo',{
  '1' : 'uno',
  '0' : 'dos',
  '3' : 'tres'}, false, '0', 'clases extras') }}

 # Desde la vista select múltiple (Twig)
 {{ basic_select('ejemplo_multi',{
  '1' : 'uno',
  '0' : 'dos',
  '3' : 'tres'}, true, ['1','3'] , 'clases extras') }}

checkbox()

Renderiza un checkbox

El primer parámetro es el nombre del checkbox que se colocará en la propiedad name="" y también en id="id_"

El segundo parámetro Valor para el checkbox

El tercer parámetro es un booleano opcional, por defecto es false, al colocar en true se clicará el checkbox.

El cuatro parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap', $this->template);

# Desde la vista (Plates)
<label class="cole"><?= Bootstrap::checkbox('ejemplo','1',true,'clases extras') ?> soy un check</label>

# Desde la vista (Twig)
<label class="cole">{{ checkbox('ejemplo','1',true,'clases extras') }} soy un check</label>

radio()

Renderiza un Radio

El primer parámetro es el nombre del radio que se colocará en la propiedad name="" y también en id="id_"

El segundo parámetro Valor para el radio

El tercer parámetro es un booleano opcional, por defecto es false, al colocar en true se clicará el radio.

El cuatro parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap', $this->template);

# Desde la vista (Plates)
<label class="cole"><?= Bootstrap::radio('ejemplo','1',true,'clases extras') ?> soy un radio</label>

# Desde la vista (Twig)
<label class="cole">{{ radio('ejemplo','1',true,'clases extras') }} soy un radio</label>

textarea()

Renderiza un textarea

El primer parámetro es el nombre del textarea que se colocará en la propiedad name="" y también en id="id_"

El segundo parámetro es opcional, por defecto es un string vacío , define el texto que se coloca en placeholder=""

El tercer parámetro es opcional, por defecto es un string vacío, define el texto que se coloca de valor

El cuatro parámetro es un booleano opcional, por defecto es false, al establecer true se colocará la etiqueta required=""

El quinto parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap', $this->template);

# Desde la vista (Plates)
<?= Bootstrap::texatea('ejemplo','Escribe algo...','',false,'form-input clases extras') ?>

# Desde la vista (Twig)
{{ texatea('ejemplo','Escribe algo...','',false,'form-input clases extras') }}

alert()

Renderiza una alerta

El primer parámetro es el mensaje a mostrar en la alerta

El segundo parámetro es opcional, por defecto es 'danger', es el estilo de la alerta, acepta 'info', 'success', 'danger', 'warning'

El tercer parámetro es un booleano opcional, por defecto es false si se coloca como true, se añade un botón de cerrar

El cuatro parámetro es opcional, por defecto es un string vacío, es el valor que se coloca en la propiedad id=""

El quinto parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap', $this->template);

# Desde la vista (Plates)
<?= Bootstrap::alert('Alerta de <b>peligro</b>','warning',false,'id_alerta','clases extras') ?>

# Desde la vista (Twig)
{{ alert('Alerta de <b>peligro</b>','warning',false,'id_alerta','clases extras') }}

paises()

Despliega un select de bootstrap con los países

El primer parámetro es el nombre del select que se colocará en la propiedad name="" y también en id="id_"

El segundo parámetro es un booleano opcional, por defecto es false, al establecer true y se definirá el select como múltiple

El tercer parámetro es opcional, y su función es tener todos los valores que deben aparecer seleccionados por defecto en el select, esto tiene dos posibles soluciones, si nuestro select no es múltiple, basta con pasar un string que tenga el nombre del value="" seleccionado. En caso de ser un select que sí es múltiple, hay que pasar un array con todos los value="" seleccionados.

El cuarto parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap', $this->template);

# Desde la vista select normal (Plates)
<?= Bootstrap::paises('ejemplo', false, '241', 'clases extras') ?>

# Desde la vista select múltiple (Plates)
<?= Bootstrap::paises('ejemplo_multi', true, ['241','1'] , 'clases extras') ?>

# Desde la vista select normal (Twig)
{{ paises('ejemplo', false, '241', 'clases extras') }}

# Desde la vista select múltiple (Twig)
{{ paises('ejemplo_multi', true, ['241','1'] , 'clases extras') }}

pager()

Renderiza un paginador numérico de la forma [<< anterior - 1 - 2 - 3 - 4 - 5 - 6 - 7 - siguiente >>]

El primer parámetro Formato de URL de continuidad para el paginador, ejemplo /controlador/otras/rutas/

El segundo parámetro Número de páginas totales

El tercer parámetro Variable que contiene la página actual, tiene que provenir de $this->route probablemente

El cuarto parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

El quinto parámetro Arreglo que contiene configuración del paginador, es opcional, por defecto es:

array(
    'anterior' => 'Anterior', # Texto del botón 'anterior'
    'siguiente' => 'Siguiente', # Texto del botón 'siguiente'
    'i' => 4, # Cantidad de números máximos por la izquierda
    'd' => 4 # Cantidad de números máximos por la derecha
  );

Ejemplo de uso de un paginador

Vamos a crear un paginador en la vista home, por tanto el controlador mencionado abajo será ./core/controllers/homeController.php y la vista sería ./templates/twig/home/home.twig ó ./templates/plates/home/home.phtml en caso de usar PlatesPHP.

# En el controlador

## Creamos una ruta en donde se colocarán los números del paginador
## Si no existe ninguna otra ruta, sabemos que para llegar a /pag debemos
## pasar por /home/metodo/id/1 <- es importante saber esto, si no queda claro
## ir al correspondiente capítulo de rutas
$this->route->setRoute('/pag','int');

## Tengamos en cuenta, que esto debe ser producto del row() de una probable query SELECT
## Para este simple ejemplo, sin manejar bases de datos, pondremos un valor fijo
$paginas_totales = 10;

## Creamos nuestra configuración
## Si queremos que se tengan los valores por defecto, no pasamos este parámetro
## Tengamos en cuenta, los valores del arreglo son totalmente modificables
$config = array(
  'anterior' => 'Anteriores', # Texto del botón 'anterior'
  'siguiente' => 'Siguientes', # Texto del botón 'siguiente'
  'i' => 4, # Cantidad de números máximos por la izquierda
  'd' => 4 # Cantidad de números máximos por la derecha
);

## Cargamos el helper de Bootstrap (si estamos usando PlatesPHP)
Helper::load('bootstrap');

## Cargamos el helper Bootstrap para twig (si estamos usando Twig)
Helper::load('bootstrap',$this->template);

## Pasamos todo a la vista
echo $this->template->render('home/home', array(
  'link' => 'home/metodo/id/',
  'pag' => $this->route->getRoute('/pag'),
  'paginas_totales' => $paginas_totales,
  'config' => $config
));

# En la vista home.twig (si usamos Twig), en algún punto
<div class="container">
    {{ pager(link,paginas_totales,pag,'',config) }}
</div>

# En la vista home.phtml (si usamos PlatesPHP), en algún punto:
<div class="container">
  <?= Bootstrap::pager($link,$paginas_totales,$pag,'',$config) ?>
</div>

# Jugar con la URL, y pasar entre home/metodo/id/1 hasta home/metodo/id/10 por ejemplo

table()

Renderiza una tabla con contenido

El primer parámetro un arreglo con todos los th, de la forma

$ths = array('titulo 1', 'titulo 2', 'titulo 3');

El segundo parámetro un arreglo con todos los valores que llenan la tabla, debe ser en forma de matriz, cada posición del arreglo principal corresponderá a un tr y cada posición de los arreglos internos un td:

$contenido = array(
 array(1,2,3),
 array(4,5,6)
);

El tercer parámetro es un string opcional, que debe contener todas las clases extras que le queramos aplicar al elemento.

# Desde el controlador (Plates)
Helper::load('bootstrap');

# Desde el controlador (Twig)
Helper::load('bootstrap',$this->template);

# Desde la vista (Plates)
<?= Bootstrap::table($ths,$contenido,'table-bordered css extra') ?>

# Desde la vista (Twig)
{{ table(ths,contenido,'table-bordered css extra') }}