Академический Документы
Профессиональный Документы
Культура Документы
1
Estructura de directorios de SEINE
Una vez descargado y cuando hayas descomprimido el fichero, estos son los directorios que
verás:
assets
dist
inc
SEINE
assets que es donde se almacenan todos los archivos jquery para que el tema de la
aplicación funcione e imágenes del tema.
dist que es donde se almacenan todos los estilos css y librerías jquery para que el tema
de la aplicación funcione correctamente.
inc Los diferentes ficheros que se incluyen en todas las páginas, que incluye la
cabecera, pié de página y menús.
SEINE que es donde harás tu magia: aquí guardarás los ficheros de tu aplicación
El directorio ASSETS
En este directorio encontrarás un montón de utilidades destinadas a que el tema de la
aplicación funcione. El núcleo de SEINE no necesita este directorio para su funcionamiento,
puedes incorporar cualquier tema, ya sea BOOTSTRAP o similares, teniendo que hacer algunos
cambios que veremos posteriormente. Veamos el contenido de esta carpeta:
extra-libs
images
Este directorio contiene todas las imágenes, iconos, etc. que utiliza el tema que trae
por defecto SEINE.
libs
El directorio DIST
Este directorio encontrarás todos los estilos y librerías de terceros para que el tema principal
que usa SEINE funcione correctamente. El núcleo de SEINE no necesita este directorio para su
funcionamiento, puedes incorporar cualquier tema, ya sea BOOTSTRAP o similares, teniendo
que hacer algunos cambios que veremos posteriormente. Veamos el contenido de esta
carpeta:
css
2
js
Contiene recursos de terceros. Esto te ayuda a separar tus librerías internas de las
externas que estarán en la carpeta extra-libs o libs en la carpeta assets.
El directorio INC
Este directorio única y exclusivamente se utiliza para incluir los trozos de código repetidos que
se utilizan en las diferentes páginas de nuestra aplicación. Por ejemplo, la cabecera, el pie de
página y los menús son siempre idénticos sea cual sea nuestra página, con lo cual, podemos
incluirlos siempre en nuestras páginas para que los cambios que se realicen dichos ficheros se
vean reflejados en todas nuestras páginas.
El directorio SEINE
Este directorio es el más importante y es dónde se encuentra en núcleo de funcionamiento de
SEINE. Aquí es dónde podremos ver e incorporar la magia de nuestra aplicación. Veamos el
contenido de esta carpeta:
database
Contiene la clase referente al acceso a la base o bases de datos que utilizará nuestra
aplicación.
entity
Este directorio hace referencia a las entidades. Las entidades son las diferentes
asociaciones que se dedican a una actividad común. Por ejemplo, una empresa sería
una entidad y otra empresa sería otra entidad diferente.
injection
models
A primera vista los objetos del modelo pueden ser considerados como la primera capa
de la interacción con cualquier base de datos que podría estar utilizando tu aplicación.
Pero en general representan los principales conceptos en torno a los cuales se desea
implementar un programa.
NOTA: Los modelos que aquí se exponen, están asociados al tema por defecto de
SEINE. Por ejemplo, los formularios generan trozos de código HTML con estilos y
estructuras referente al tema actual. Si incluyéramos otro tema, deberíamos
reescribir los trozos de código HTML que hacen referencia a dicho tema. Sin
embargo, no deberíamos tocar la estructura lógica de dichos modelos.
3
csv
Es el modelo que se utiliza para la lectura de ficheros CSV
excel
Es el modelo que se utiliza para la lectura de ficheros EXCEL (Utiliza el plugin
phpexcel de la carpeta plugins)
files
Este modelo hace referencia a la subida de ficheros a nuestra aplicación desde un
formulario
forms
Es el modelo que nos permite la generación de diferentes formularios
mails
Genera correos electrónicos de diferente índole, por ejemplo, el alta de usuarios o
la recuperación de contraseñas.
tables
El modelo que genera tablas de una forma rápida.
plugins
Este directorio contiene plugins realizados por terceros para la realización de diferentes cosas.
Por ejemplo: PDF, Excel, correos electrónicos, etc.
dompdf-0.8.0
Aplicación PHP para la realización de ficheros PDF
phpexcel
Aplicación PHP para la realización de ficheros Microsoft Excel
phpmailer
Aplicación PHP para el envío de correos electrónicos
rest
Contiene la clase referente a la lectura y escritura de API Rest Full para los datos enviados y
recibidos por JSON.
users
Contiene la clase referente a los usuarios de nuestra aplicación. Disponemos de una clase
usuario y de diferentes ficheros para cambiar la contraseña, cerrar sesión, recuperar
contraseña y el login.
views
La vista hace una presentación de los datos del modelo estando separada de los objetos del
modelo. Es responsable del uso de la información de la cual dispone para producir cualquier
interfaz de presentación de cualquier petición que se presente.
Por ejemplo, como la capa de modelo devuelve un conjunto de datos, la vista los usaría para
hacer una página HTML que los contenga.
La capa de la Vista no se limita únicamente a HTML o texto que represente los datos, sino que
puede ser utilizada para ofrecer una amplia variedad de formatos en función de sus
4
necesidades tales como videos, música, documentos y cualquier otro formato que puedas
imaginar.
Los controladores pueden ser vistos como administradores cuidando de que todos los recursos
necesarios para completar una tarea se deleguen a los trabajadores más adecuados. Espera
peticiones de los clientes, comprueba su validez de acuerdo con las normas de autenticación o
autorización, delega la búsqueda de datos al modelo y selecciona el tipo de respuesta más
adecuado según las preferencias del cliente. Finalmente delega este proceso de presentación a
la capa de la Vista.
El ciclo de una petición típica en SEINE comienza cuando un usuario solicita una página o un
recurso de tu aplicación. Esta solicitud es procesada por el servidor que realiza una petición a
una página PHP que es el controlador.
Una vez que la solicitud llega al controlador, éste se comunicará con la capa del Modelo para
cualquier proceso de captación de datos o el guardado de los mismos según se requiera. Una
vez finalizada esta comunicación el controlador procederá a delegar en el objeto de vista
correcto la tarea de generar una presentación resultante de los datos proporcionada por el
modelo.
Casi todas las solicitudes para la aplicación van a seguir este patrón básico.
Beneficios
¿Por qué utilizar MVC? Debido a que es un patrón de diseño de software verdaderamente
probado que convierte una aplicación en un paquete modular fácil de mantener y mejora la
rapidez del desarrollo. La separación de las tareas de tu aplicación en modelos, vistas y
controladores hace que su aplicación sea además muy ligera de entender. Las nuevas
características se añaden fácilmente y agregar cosas nuevas a código viejo se hace muy
sencillo. El diseño modular también permite a los desarrolladores y los diseñadores trabajar
simultáneamente, incluyendo la capacidad de hacer prototipos rápidos.
Si nunca has creado una aplicación de esta forma se necesita algún tiempo para
acostumbrarse, pero estamos seguros de que una vez que hayas terminado tu primera
aplicación con SEINE no vas a querer hacerlo de cualquier otra manera.
5
Modelos
El modelo representa la parte de la aplicación que implementa la lógica de negocio. Esto
significa que es responsable de la recuperación de datos convirtiéndolos en conceptos
significativos para la aplicación, así como su procesamiento, validación, asociación y cualquier
otra tarea relativa a la manipulación de dichos datos.
A primera vista los objetos del modelo pueden ser considerados como la primera capa de la
interacción con cualquier base de datos que podría estar utilizando tu aplicación. Pero en
general representan los principales conceptos en torno a los cuales se desea implementar un
programa.
El modelo CSV
Es el modelo que se utiliza para la lectura de ficheros CSV
$file_name
Ubicación del fichero
$parse_header
Por defecto a false, quiere decir si el fichero CSV tiene una línea de cabecera
$delimiter=";"
Por defecto “;”. El carácter de limitación de columna
$length=8000
Por defecto 8000 líneas. El tamaño de lectura.
$max_lines
Número máximo de líneas a leer.
Ejemplo:
if(count(array_keys($data[0]))<=10)
foreach($data as $linea)
$keys = array_keys($linea);
6
echo $linea[$keys[0]]."', '".$linea[$keys[1]]."', '".$linea[$keys[2]]."', '".
$linea[$keys[3]]."', '".$linea[$keys[4]]."', '".$linea[$keys[5]]."', ".$linea[$keys[6]].", '".
$linea[$keys[7]]."', '".$linea[$keys[8]];
}//fin foreach
}//fin if
El modelo EXCEL
Es el modelo que se utiliza para la lectura de ficheros EXCEL (Utiliza el plugin phpexcel de la
carpeta plugins)
$filename
Fichero a leer
Ejemplo:
$cont=1;
if($data[0]==1)
{
$error=0;
foreach($data[1] AS $row)
{
break;
if($cont>=12)
else
{
7
$error=1;
$ms_err.="El fichero subido no corresponde al tipo de archivo
seleccionado.<br>";
El modelo FILES
Este modelo hace referencia a la subida de ficheros a nuestra aplicación desde un formulario.
Método saveFile
Guarda un fichero en una carpeta dada con un nombre dado
$filename
Nombre que hace referencia a la variable $_FILE del formulario enviado
$uploaddir
Carpeta dónde se va a guardar el fichero
$archivo
Nombre del archivo guardado
$addDuplicate=true
Por defecto a true. Añadir marca de tiempo en el nombre del fichero
Ejemplo:
$fi=new files();
Método saveMultipleFile
Guarda un Array de ficheros en una carpeta dada con un nombre dado
$filename
Nombre que hace referencia a la variable $_FILE del formulario enviado
$pos
La posición en el Array de archivos al que se hace referencia
$uploaddir
Carpeta dónde se va a guardar el fichero
$archivo
Nombre del archivo guardado
$addDuplicate
Por defecto a true. Añadir marca de tiempo en el nombre del fichero
$addExtension=true
Ejemplo:
8
if(isset($_FILES["fichero"]["name"]))
$total = count($_FILES['fichero']['name']);
if($total>0)
$fi=new files();
$fich = $fi->saveMultiFile("fichero", $i, "./imports/", $_FILES["fichero"]
["name"][$i], false);
Método saveFileURL
Guarda un archivo de una URL en una carpeta dada con un nombre dado
$url
La dirección URL dónde se encuentra el fichero a descargar
$uploaddir
Carpeta dónde se va a guardar el fichero
$archivo
Nombre del archivo guardado
$addDuplicate=true
Por defecto a true. Añadir marca de tiempo en el nombre del fichero
Ejemplo:
$file=new files()
$imagen = $file->saveFileURL($input["url"], $carpeta, $input["id_product"], true);
El modelo MAILS
Genera correos electrónicos de diferente índole, por ejemplo, el alta de usuarios o la
recuperación de contraseñas.
$language
Por defecto “es”. Especifica el idioma del correo electrónico a enviar.
9
Método generateRecoveryMail
Genera y envía un correo electrónico con la contraseña si se desea.
$user
Nombre de usuario
$password
Contraseña (sin encriptar)
$send_password
Si se desea enviar la contraseña sin encriptar por correo electrónico.
Ejemplo:
Método generateInvitationMail
Genera y envía un correo electrónico con de invitación a formar parte del sistema.
$user
Nombre de usuario
$password
Contraseña (sin encriptar)
$send_password
Si se desea enviar la contraseña sin encriptar por correo electrónico.
Ejemplo:
Método generateReinvitationMail
Genera y envía un correo electrónico con una reinvitación a un usuario ya registrado
anteriormente.
$user
Nombre de usuario
Ejemplo:
El modelo TABLES
Genera tablas de una forma rápida.
10
Método generateBasicTable
Genera una tabla básica sin paginación.
$rows
Array bidimensional que contiene todos los datos de la tabla, siendo la primera
posición la cabecera de la tabla.
$id
Por defecto vacío. Es el id que hace referencia a la tabla
$theadClass
Por defecto el estilo "thead-light". Hace referencia al la clase que llevará el th de la
cabecera
$class
Por defecto “table”. Es la clase que hace referencia a la tabla
$thScope
Por defecto “col”. Hace referencia al scope de la tabla.
Ejemplo:
$i=1;
$sql="select * from table where id like '".$_REQUEST["id"]."'";
$conexion = new conectaBD();
$res = $conexion->SqlQuery($sql);
if($res->rowCount()>0)
{
$arrayx[0][0]="Column 1";
$arrayx[0][1]="Column 2";
$arrayx[0][2]="Column 3";
while($row=$res->fetch())
{
$arrayx[$i][0]=$row["tbl_id"];
$arrayx[$i][1]=$row["tbl_return"];
$arrayx[$i][2]=$row["tbl_request"];
$i++;
}
$tbl=new table();
$tbl->generateBasicTable($arrayx, "idtable", " thead-light ", "table", "col");
Método generateCompleteTable
Genera una tabla básica sin paginación.
$rows
Array bidimensional que contiene todos los datos de la tabla, siendo la primera
posición la cabecera de la tabla.
$columnsSorted
Array con las columnas que se pueden ordenar
$column
Por defecto -1 que quiere decir que ninguna ordenada. Columna a ordenar
11
$sorted
Por defecto a vacío. Ordenación ascendente (asc) o descendente (desc) de la
columna ordenada
$maxRegs,
Por derfecto -1 que quiere decir que se muestran todos los registros. Número
máximo de registros por página
$page,
Por defecto 1. Página actual
$show
Número de registros a mostrar en la paginación por delante y por detrás. Es decir,
si ponemos 2 y estamos en la página 5 mostrará en la paginación 3,4 y 6,7 después
del 5.
$totalRegs
Número total de registros
$search
Por defecto vacío. Cadena de búsqueda para el envío de la búsqueda en la
paginación
$strGET,
Más parámetros de envío que se incorporarán a la URL de la paginación
$id
Por defecto vacío. Es el id que hace referencia a la tabla
$theadClass
Por defecto el estilo "thead-light". Hace referencia a la clase que llevará el th de la
cabecera
$class
Por defecto “table”. Es la clase que hace referencia a la tabla
$thScope
Por defecto “col”. Hace referencia al scope de la tabla.
Ejemplo:
$i=1;
$order="";
$search = "";
$searchstr = "";
$strGET = "";
switch($_GET["col"])
{
case "0":
break;
case "1":
12
$order=" order by tbl_type ".$_GET["sor"];
$column=$_GET["col"];
$sorted=$_GET["sor"];
break;
case "4":
break;
default:
}
else
{
$column=-1;
$sorted="";
$order=" order by tbl_date ASC";
//paginación
$maxRegs = 25;
if(isset($_GET["pag"]))
{
$pagina = $_GET["pag"];
$inicio = ($pagina - 1) * $maxRegs;
}
else
{
$inicio = 0;
$pagina = 1;
//fin paginación
$conexion = new conectaBD();
if(isset($_REQUEST["src"]) && trim($_REQUEST["src"])!="")
{
$searchstr=trim($_REQUEST["src"]);
$search .= "and (tbl_id like '%".trim($_REQUEST["src"])."%' or tbl_type like
'%".trim($_REQUEST["src"])."%') ";
13
}
$arrayx[0][0]="ID";
$arrayx[0][1]="Tipo";
$arrayx[0][2]="Razón";
$arrayx[0][3]="Título";
$arrayx[0][4]="Fecha";
$arrayx[0][5]="Estado";
$arrayx[0][6]="Total";
$columnsSorted = array(
0 => true,
1 => true,
2 => false,
3 => false,
4 => true,
5 => false,
6 => false
);
$res = $conexion->SqlQuery($sql);
if($res->rowCount()>0)
{
while($row=$res->fetch())
14
if(isset($_REQUEST["src"]) && trim($_REQUEST["src"])!="")
{
$tbl=new table();
$tbl->generateCompleteTable($arrayx,$columnsSorted, $column, $sorted, $maxRegs, $pagina,
2, $totalRegs, $searchstr, $strGET, "dateTable");
Método generateBasicDataTable
Genera una tabla básica sin paginación y responsive.
$rows
Array bidimensional que contiene todos los datos de la tabla, siendo la primera
posición la cabecera de la tabla.
$id
Por defecto vacío. Es el id que hace referencia a la tabla
$theadClass
Por defecto el estilo "thead-light". Hace referencia a la clase que llevará el th de la
cabecera
$class
Por defecto “table”. Es la clase que hace referencia a la tabla
$thScope
Por defecto “col”. Hace referencia al scope de la tabla.
Por defecto “table”. Es la clase que hace referencia a la tabla
Ejemplo:
$i=1;
$res = $conexion->SqlQuery($sql);
if($res->rowCount()>0){
while($row=$res->fetch())
{
$arrayx[$i][0]=$ row["field1"];
$arrayx[$i][1]=$ row["field2"];
15
$arrayx[$i][2]=$ row["field3"];
$arrayx[$i][3]=$ row["field4"];
$arrayx[$i][4]=$ row["field5"];
$i++;
}
}
$tbl=new table();
$tbl->generateBasicDataTable($arrayx, "idtable", "thead-light", "table", "col");
El modelo FORM
Es el modelo que nos permite la generación de diferentes formularios.
Método generateFormLogin
Genera un formulario básico de login.
$n_user
Por defecto “usuario”. Es el name que se envía en el input de usuario
$p_user
Por defecto “Email”. Es el placeholder que se muestra en el input de usuario
$n_password
Por defecto “pass”. Es el name que se envía en el input de contraseña
$p_password
Por defecto “Contraseña”. Es el placeholder que se muestra en el input de
contraseña
$method
Por defecto “post”. Es el método de envío del formulario.
$action
Por defecto “”. La URL de envío del formulario
$class
Por defecto “form-horizontal m-t-20”. La clase de la etiqueta form
$id
Por defecto “formulario”. El id del formulario
$string_recover
Por defecto “Recuperar contraseña”. Texto que se muestra en el enlace de
recuperar contraseña
$string_acc
Por defecto “Acceder”. Texto del botón de envío del formulario.
$ms_err
Por defecto “Usuario y/o contraseña incorrectos.”. Texto que aparece al no
validarse correctamente.
Ejemplo:
16
Método generateFormRecover
Genera un formulario básico de recuperación de contraseña.
$n_user
Por defecto “usuariorecorvery”. Es el name que se envía en el input de usuario
$p_user
Por defecto “Email”. Es el placeholder que se muestra en el input de usuario
$method
Por defecto “post”. Es el método de envío del formulario.
$action
Por defecto “”. La URL de envío del formulario
$class
Por defecto “col-12”. La clase de la etiqueta form
$id
Por defecto “formulario2”. El id del formulario
$string_return
Por defecto “Volver a Inicio”. Es el texto del botón de volver al formulario login
$string_acc
Por defecto “Enviar”. Texto del botón de envío del formulario.
$ms_err
Por defecto “Usuario desconocido.”. Texto que aparece al no validarse
correctamente.
$ms_sucess
Por defecto “Mensaje enviado, revise su correo electrónico.”.
Ejemplo:
Método generateFormChangePassword
Genera un formulario básico de login.
$n_password
Por defecto “pass”. Es el name que se envía en el input de contraseña
$p_password
Por defecto “Contraseña”. Es el placeholder que se muestra en el input de
contraseña
$n_password2
Por defecto “pass2”. Es el name que se envía en el input de confirmar contraseña
$p_password2
Por defecto “Contraseña contraseña”. Es el placeholder que se muestra en el input
de confirmar contraseña
$method
Por defecto “post”. Es el método de envío del formulario
17
$action
Por defecto “”. La URL de envío del formulario
$class
Por defecto “form-horizontal m-t-20”. La clase de la etiqueta form
$id
Por defecto “formulario”. El id del formulario
$string_acc
Por defecto “Cambiar”. Texto del botón de envío del formulario.
$ms_err
Por defecto “Ha habido un error.”. Texto que aparece al no validarse
correctamente.
Ejemplo:
Método generateHeaderFormWizard
Genera una cabecera de un formulario por pasos.
$steps
Array con el nombre de los pasos
$step_active
Posición del array activo
$id="steps-uid-"
Por defecto “steps-uid-“.Es el id que se incorpora a cada uno de los pasos
Ejemplo:
$(".wizard2").click(function()
{
Método generateClassicFormArray
Genera la cabecera de un formulario clásico.
$method
Es el método de envío del formulario
18
$action
La URL de envío del formulario
$class
La clase de la etiqueta form
$id
El id del formulario
$string_acc
Por defecto “Enviar”. Texto del botón de envío del formulario.
$ms_err
Texto que aparece al no validarse correctamente.
$input_array
Array con los diferentes elementos que formarán el formulario
Método generateClassicHorizontalFormArray
Genera la cabecera de un formulario clásico horizontal.
$method
Es el método de envío del formulario
$action
La URL de envío del formulario
$class
La clase de la etiqueta form
$id
El id del formulario
$string_acc
Por defecto “Enviar”. Texto del botón de envío del formulario.
$ms_err
Texto que aparece al no validarse correctamente.
$input_array
Array con los diferentes elementos que formarán el formulario
Método generateCodeClassicFormArray
Genera el código para los diferentes elementos enviados en un array.
$input_array
Array con los diferentes elementos que formarán el formulario
Método generateCodeHorizontalClassicFormArray
Genera el código para los diferentes elementos enviados en un array.
$input_array
Array con los diferentes elementos que formarán el formulario
19
$method = "post";
$action = "enviar.php”
$class="formulario";
$id="formulario";
$string_acc="Modificar";
$ms_err="Error";
$form = array
(
array(
),
array(
),
array(
20
),
array(
),
array(
);
En SEINE para generar un elemento de formulario, es necesario cubrir los siguientes elementos
en el array enviado:
tag
Indica el elemento queremos construir
type
Indica el tipo de elemento a construir
name
Es el name que se establece en el elemento
id
Es el id que se establece en el elemento
class
21
La clase del div que contiene el elemento
placeholder
El placeholder que tendrá el elemento
error
Error que saltará al cubrir mal dicho elemento (NO PROGRAMADO)
required
Este elemento se escribe al final de la etiqueta del elemento del formulario, está
construida para definir si un elemento es requerido “required” o de solo lectura
“readonly”, pero al colocase al final, también permite opciones adicionales, como por
ejemplo definir un estilo “style=”
data
Array de datos. Se usa para las listas o campos de chequeo/opción
value
El valor por defecto que se establece en el elemento
A continuación, mostraremos una lista con los diferentes elementos y un ejemplo de cada uno
de ellos
Elemento input
Es un cajetín de texto dónde se pueden meter cualquier carácter
Ejemplo:
array(
Elemento decimal
Es un cajetín de texto dónde se pueden meter un número con dos decimales
Ejemplo:
array(
22
"error" => "",
"required" => "required",
"data" => "",
"value" => "1"
Elemento hidden
Es un elemento oculto en un formulario
Ejemplo:
array(
Elemento textarea
Es un cajetín de texto dónde podemos colocar saltos de línea
Ejemplo:
array(
Elemento radio
Elemento de única opción dentro de un conjunto de ellas.
Hay que tener en cuenta que el array pasado en el campo data tiene que estar formado por
posición:
1. valor
23
2. nombre
3. seleccionado
Ejemplo:
);
array(
Elemento checkbox
Elemento de varias opciones dentro de un conjunto de ellas.
Hay que tener en cuenta que el array pasado en el campo data tiene que estar formado por
posición:
1. valor
2. nombre
3. seleccionado
Ejemplo:
);
array(
24
"id" => "realizado",
"class" => "custom-control custom-checkbox",
"placeholder" => "",
"error" => "",
"required" => "required",
"data" => $check_placeholder_1 ,
"value" => ""
Elemento date
Es un cajetín de texto dónde podemos incorporar una fecha. Es dependiente de librerías
JQuery que se integran en SEINE
CSS:
o <link rel="stylesheet" type="text/css" href="./assets/libs/bootstrap-
datepicker/dist/css/bootstrap-datepicker.min.css">
JQuery
o <script src="./assets/libs/bootstrap-datepicker/dist/js/bootstrap-
datepicker.min.js"></script>
o <script src="./assets/libs/bootstrap-datepicker/dist/locales/bootstrap-
datepicker.es.min.js"></script>
jQuery('#datepicker-autoclose').datepicker({
autoclose: true,
todayHighlight: true,
language: 'es'
});
Ejemplo:
array(
Elemento separation
Genera una separación con un texto dado
Ejemplo:
25
array(
Elemento select
Genera una lista desplegable pasando un array en el data
Ejemplo:
array(
Este elemento permite añadir un array en sus datos. SEINE provee una generación de campos
para los elementos select de forma automática. Para ello debemos disponer de un objeto form
para poder llamar al método de la clase.
Ejemplo:
Método generateSelectCustomBD
Genera el código para una lista de un formulario consultando una tabla de la base de datos.
$tabla
El nombre de la tabla de la base de datos
$condición
Condición para la consulta SQL
26
$campos
Array con los campos mostrar
$id_compare
Es el campo que se tiene que comparar con el valor del $id
$id
Es el id del select que se va a poner como selected
$default
Añade un nuevo elemento al principio de la lista
$value_default
El valor que tiene el campo default
Ejemplo:
//array con los campos a mostrar (se pueden poner cuantos quieras)
$campos[0]="nombre";
array(
Método generateSelectBD
En la base de datos por defecto de SEINE, existe una tabla llamada listados_app que su función
principal es la de tener listados que no necesitan de una tabla en la base de datos.
$tabla
El nombre de la tabla de la base de datos
$id
Es el id del select que se va a poner como selected
Ejemplo:
array(
27
"class" => "select2 form-control custom-select ",
"placeholder" => "País",
"error" => "",
"required" => "style='width: 100%; height:36px;'",
"data" => $form->generateSelectBD("paises", 0)
"value" => ""
PLUGINS
SEINE proporciona una serie de plugins preinstalados para facilitar el desarrollo de
aplicaciones.
SEINE dispone de sus propios plugins, y estos se encuentran en la carpeta plugins. El tema que
trae por defecto SEINE, también incorpora plugins a nivel de código JQuery.
Primero explicaremos los plugings del tema preinstalado y seguidamente de los que incorpora
SEINE.
Plugin Mask
Se trata de un plugin de tema y nos facilita la inclusión de máscaras en campos de texto.
JQuery
o <script
src="./assets/libs/inputmask/dist/min/jquery.inputmask.bundle.min.js"></scri
pt>
o <script src="./dist/js/pages/mask/mask.init.js"></script>
Para añadir una nueva máscara debemos acceder al fichero “dist/js/pages/mask/ mask.init.js”
y allí podremos añadir una nueva máscara
Ejemplo:
Este ejemplo creará una máscara a nuestro campo de texto con la clase “fra-inputmask” dónde
a es cualquier letra y 9 es cualquier número. Los guiones (-) saldrán por defecto
$(".fra-inputmask").inputmask("aa-a99-aa-9999")
Plugin dompdf-0.8.0
Se trata de un plugin externo para realizar archivos PDF. Tiene el inconveniente de que no
permite la inclusión de ficheros externos CSS.
Ejemplo:
include_once("SEINE/plugins/dompdf-0.8.0/autoload.inc.php");
use Dompdf\Dompdf;
$dompdf = new Dompdf();
28
$dompdf->loadHtml(' <html><body>Prueba PDF</body></html>');
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
//$dompdf->stream();
$dompdf->stream();
$pdf_gen = $dompdf->output();
Plugin phpexcel
Se trata de un plugin externo para realizar archivos Excel, tanto lectura como escritura. La
lectura en SEINE se realiza con la clase “excel”.
Plugin phpmailer
Se trata de un plugin externo para realizar envíos de correos electrónicos. El envío de correos
electrónicos en SEINE se realiza con la clase “mails”.
29