php

Caso de Exito - Recetas Bimbo

El portal Bimbo Recetas busca promover en los consumidores de productos Bimbo diferentes recetas que se acomeden a su estilo de vida. Ofreciendoles alternativas para diferentes momentos del dia o recetas relacionadas con el tipo de producto que suele consumir.

 


 

 

 



Share this post

Como enviar emails en drupal

Para enviar correos en Drupal se debe realizar un procedimiento en 2 etapas.

Primera Etapa - Armar el correo

Aca recolectamos todas la informacion necesaria para enviar el correo y lo enviamos a la cola de correo de Drupal
$to ='youremail@gmail.com;       //gets the current user's mail address
$from = variable_get('site_mail', '');    //admin's mail address
$body = 'Gracias por visitarnos.';
 $attachment = array(
      'filecontent' => file_get_contents('Link to file'),
      'filename' => 'filename.pdf',// You can change the name and extension of the file         you need to send.
      'filemime' => 'text/plain',  
      );
 $params = array(
 'subject' => 'Bienvenido',
 'body' => $body,
 'attachment'=>$attachment,
);
drupal_mail('modulename', 'yourkey', $to, language_default(),$params,$from); 

 

 

Segunda Etapa - Enviar el Correo

En la cola de correos de Drupal, el sistema evalua cada solicitud pendiente de ser enviada y debe llenarse adecuadamente 

function yourmodule_mail($key, &$message, $params){
      switch ($key) {
            case "yourkey":   
                 // Set the mail content type to html to send an html e-mail (optional).
                 $message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed';
                 // Grab the subject and body from params and add it to the message.
                 $message['subject'] = $params['subject'];
                 $message['body'][] = $params['body'];
                 if (isset($params['attachment'])) {
                        $message['params']['attachments'][] = $params['attachment'];
                  }
                  break;
          }
}

 



Share this post

Caso de Exito - Curriculo Nacional Minedu

Currículo Nacional, es una web del Ministerio de Educación Peruano que busca servir de guía a los docentes sobre la forma de abordar los temas del currículo nacional con sus alumnos y padres de familia.

Uno de las complejidades de este proyecto fue crear un sistema web rápido, a la vez que administrable y sin contar con base de datos. Para tal efecto se creo un sistema de gestión basado en archivo JSON que permitieran guardar y manipular la data asi como un sistema de cache para acelerar el proceso de consulta de las paginas.

Este desarrollo web tuvo como base el uso de las tecnologias bootstrap y php5 codeigniter.

 



Share this post

Como funciona Drupal ?

Todas las peticiones a Drupal son atendidas por index.php ejecutandose los siguientes pasos:

Bootstrap

En esta etapa se carga el drupal mismo para atender cada peticion que se le hace al servidor.

Inicializacion

Se carga la configuracion definida en el archivo settings.php y se establece la base URL del sitio web.

Cache de Pagina Temprano

En situaciones con alto trafico se invoca un sistema de cache antes inclusive de conectarse a la base datos. Este etapa solo funciona si se ha configurado la variable page_cache_fastpath a TRUE. Cuando una peticion entra a esta etapa el sistema le devuelve el contenido al navegador y termina el proceso drupal.

Inicializacion de la Base de datos

Se configura y realiza la primera conexion a la base de datos

IP Based Access Control

En este punto drupal bloquea los accesos en funcion del nombre/IP de la maquina cliente.

Inicializacion de la Session

Drupal carga la informacion de la sesion del usuario directamente de la base de datos.

Cache de Pagina Tardio

En este punto, Drupal determina en funcion de la informacion del usuario ( roles, permisos, etc ) si tiene la informacion solicitada en el cache o debe generarse de nuevo. Si tiene la informacion en la cache la solicitud se detiene en ese punto.

Seleccion de Idioma

Drupal determina aca que idioma debe trabajar, y se busca la informacion en el idioma seleccionado.

Path

En esta etapa, Drupal determina quien debe procesar la peticion en funcion de la URL solicitada.

Completada Carga inicial

Llegados a este punto el proceso de carga de drupal a terminado. De aca Drupal, lanza init_hook para que todos los modulos habilitados para el sitio tengan la oportunidad de cargarse.

Procesando la peticion

Drupal envia la peticion ( URL ) a la funcion hook especifica para su procesamiento

Themes

Luego de haber procesado la informacion solicitada, drupal llama al theme para que se encargar de armar la visualizacion de la misma. Al momento de procesar el theme se procesan en el siguiente orden:

  • html.tpl.php Es el archivo encargado de definir el head y el body. Asi como de cargar los estilos y los javascript declarados en el info. Usualmente no es modificado.
  • page.tpl.php Es el archivo encargado de visualizar las regiones declaradas en el info. Aca usualmente se carga el menu principal. 
  • region.tpl.php Este archivo es el encargado de controlar la  visualizacion de las regiones 
  • block.tpl.php Cada region puede tener diferentes blocks que son definidos en el menu Structure -> Blocks. Este archivo se encarga de controlar la visualizacion de cada bloque.
  • node.tpl.php Existe un bloque especial en drupal llamado content. En el caso que nuestra URL apunte a un nodo el contenido de ese nodo se mostrara usando este archivo.


Share this post

PLANEA WEB - Minedu

Proyecto del MINEDU desarrollado en conjunto con 86Interactive que busca brindar información actualizada sobre el plan de Educacion Ambiental 2017-2022 a todos los actores educativos ( maestros y directores ) de todo el Perú.

 



Share this post

IASCCS


  • August 2016


  • Temas:

    • drupal
    • php
  • Tipo:




A la Carta


  • August 2016


  • Temas:

    • php
  • Tipo:




Xtreme Park S.A.C.


  • August 2016


  • Temas:

    • php
  • Tipo:




IASSCS Conference 2015


  • August 2016


  • Temas:

    • drupal
    • php
  • Tipo:




PRC


  • August 2016


  • Temas:

    • drupal
    • php
  • Tipo: