Arrays renderizables
y Estándares de codificación en Drupal
¿Que es un Array renderizable?

Es una estructura de datos asociativa y
estandarizada que es utilizada en el sistema de
re...
¿Cuál es su finalidad?

Otorgar una salida como texto plano (por lo
general HTML) por medio de sus datos de
entrada.
¿Qué tan compleja puede ser la
estructura?
¿Porqué lo hicieron de esta forma?




Antes de drupal 7 se podían alterar algunas cosas como por
ejemplo, los formulari...
¿De que otra forma nos puede
ayudar?
Programadores






Concentrarnos más en la lógica de la
aplicación.
Lograr separa...
¿Cómo esta estandarizado el
array renderizable?
El array renderizable esta conformado por dos tipos de
pares llave/valor:
...
Algunas propiedades comunes


#type – Si el array es un elemento, este cargara las propiedades por defecto del
elemento.
...
¿Podemos crear nuestros propios
themes?
hook_theme($existing, $type, $theme, $path)
Devuelve un array asociativo con infor...
¡No reinventes la rueda!

• theme_image

• theme_link

• theme_html_tag

• theme_item_list

• theme_links

• theme_menu_li...
Estándares de codificación


Sangrías y espacios en blanco:





Usar sangría con 2 espacios en blanco sin usar tabuladores.
Los archivos deben f...


Estructuras de control:




Usar siempre llave inclusive en los casos que sea opcional.





Colocar un espacio en ...


Llamadas a funciones:


Estas deben llamarse sin espacios entre el nombre de la función, el
paréntesis que abre y el p...


Si la declaración de un array supera los 80 caracteres, cada elemento
del array debe de estar en su propia línea e iden...
Referencias:
•

Render arrays:
•
•

•

Theming:
•
•

•

https://drupal.org/node/930760
https://api.drupal.org/api/drupal/i...
¡Gracias!
Walter Herrera
walt.herrera@gmail.com
walter.h@3chamz.com
Cel.: 5017-0261
Arrays renderizables y Estándares de codificación en Drupal
Arrays renderizables y Estándares de codificación en Drupal
Arrays renderizables y Estándares de codificación en Drupal
Arrays renderizables y Estándares de codificación en Drupal
Arrays renderizables y Estándares de codificación en Drupal
Arrays renderizables y Estándares de codificación en Drupal
Arrays renderizables y Estándares de codificación en Drupal
Upcoming SlideShare
Loading in …5
×

Arrays renderizables y Estándares de codificación en Drupal

530
-1

Published on

Introducción breve a los Arrays renderizables y estándares de codificación en Drupal

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
530
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Arrays renderizables y Estándares de codificación en Drupal

  1. 1. Arrays renderizables y Estándares de codificación en Drupal
  2. 2. ¿Que es un Array renderizable? Es una estructura de datos asociativa y estandarizada que es utilizada en el sistema de renderizado de temas.
  3. 3. ¿Cuál es su finalidad? Otorgar una salida como texto plano (por lo general HTML) por medio de sus datos de entrada.
  4. 4. ¿Qué tan compleja puede ser la estructura?
  5. 5. ¿Porqué lo hicieron de esta forma?   Antes de drupal 7 se podían alterar algunas cosas como por ejemplo, los formularios (con hook_form_alter()); pero muchas otras cosas que necesitaban ser alteradas por un modulo o tema ya se encontraban renderizados como HTML, antes de poder hacer cualquier cosa racional con ellos. En drupal 7 y posteriores, un modulo o tema, puede hacer uso del hook_page_alter (existen otros hooks) que permite alterar precisamente en el ultimo momento, la disposición o contenido de la página.
  6. 6. ¿De que otra forma nos puede ayudar? Programadores    Concentrarnos más en la lógica de la aplicación. Lograr separar de mejor forma el contenido o datos de la presentación. Proveerles a los frontends solo lo que necesitan. • • Frontends    Concentrarse más en la presentación. No hay necesidad de hacer una manipulación exhaustiva de los datos para obtener mas datos. Código HTML más limpio. Procesos más ágiles de desarrollo Facilidad al momento del mantenimiento o corrección de errores.
  7. 7. ¿Cómo esta estandarizado el array renderizable? El array renderizable esta conformado por dos tipos de pares llave/valor: • • Propiedades: se identifican por el símbolo # y sus valores influyen en como el array es renderizado. Hijos: son elementos cuyas llaves no empiezan con el símbolo # y sus valores a su vez, pueden ser arrays renderizables por si mismos y estos serán procesados durante el renderizado del array padre.
  8. 8. Algunas propiedades comunes  #type – Si el array es un elemento, este cargara las propiedades por defecto del elemento.  #markup – Indica que su valor es un markup (HTML).  #prefix/#suffix – Texto o etiqueta HTML que se va a colocar como prefijo o sufijo.      #pre_render – Su valor es un array de funciones que serán llamadas para alterar el presente array antes de ser renderizado. #post_render – Su valor es un array de funciones que serán llamadas después de ser rederizado el array (estas reciben como parámetros el HTML renderizado y el mismo array a ser rederizado). #theme – El hook (función) responsable de renderizar el array, incluyendo a los hijos. #theme_wrappers – Un array de hooks de temas, que se encargaran de envolver el HTML renderizado dentro de otro código HTML. #cache – Marca el array para permanecer en cache y su tiempo de expiración.
  9. 9. ¿Podemos crear nuestros propios themes? hook_theme($existing, $type, $theme, $path) Devuelve un array asociativo con información del theme hook, las llaves externas son los nombres de los hooks y sus valores son arrays conteniendo información sobre el hook. • variables • render element • file • path • template • function • base hook • pattern • preprocess fuctions • override preprocess function • type • theme path
  10. 10. ¡No reinventes la rueda! • theme_image • theme_link • theme_html_tag • theme_item_list • theme_links • theme_menu_link • theme_table • theme_menu_tree https://api.drupal.org/api/drupal/functions
  11. 11. Estándares de codificación
  12. 12.  Sangrías y espacios en blanco:    Usar sangría con 2 espacios en blanco sin usar tabuladores. Los archivos deben finalizar con el símbolo de nueva línea “n” (Unix) y no “rn” (Windows) Operadores:  Todos los operadores binarios deben de contener un espacio en blanco antes y después de sus operadores.   Ejemplo: $foo = $bar  Si $fo=$bar  No Casting  Colocar un espacio en blanco entre el tipo y la variable a aplicar el casting.  Ejemplo: (int) $var
  13. 13.  Estructuras de control:   Usar siempre llave inclusive en los casos que sea opcional.   Colocar un espacio en blanco entre el nombre de la estructura de control y el paréntesis que abre, esto con la finalidad de distinguirlas de las llamadas a funciones. En el caso de la estructura control “IF” usar siempre “ELSEIF” en vez de “ELSE IF” Estructuras de control alternativas para templates:
  14. 14.  Llamadas a funciones:  Estas deben llamarse sin espacios entre el nombre de la función, el paréntesis que abre y el primer parámetro. $var = foo($bar, $baz, $quux);  Declaraciones de funciones:   Argumentos con valores por default deben de ir al final de la lista. Arrays  Los elementos de un array deben de ir separados por un espacio en blanco después de la coma y un espacio antes y después del operador de asociación “=>” $some_array = array('hello', 'world', 'foo' => 'bar');
  15. 15.  Si la declaración de un array supera los 80 caracteres, cada elemento del array debe de estar en su propia línea e identado en un nivel. $form['title'] = array( '#type' => 'textfield', '#title' => t('Title'), '#size' => 60, '#maxlength' => 128, '#description' => t('The title of your node.'), ); https://drupal.org/coding-standards
  16. 16. Referencias: • Render arrays: • • • Theming: • • • https://drupal.org/node/930760 https://api.drupal.org/api/drupal/includes%21 common.inc/function/drupal_render/7 https://drupal.org/node/722174 https://api.drupal.org/api/drupal/modules!sys tem!system.api.php/function/hook_theme/7 Coding standars • https://drupal.org/coding-standards
  17. 17. ¡Gracias! Walter Herrera walt.herrera@gmail.com walter.h@3chamz.com Cel.: 5017-0261
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×