Desarrollo con Drupal 7
Desarrollo con Drupal 7

Desarrollo con Drupal 7

Tomlinson, Todd / VanDyk, John K.

Editorial:
ANAYA MULTIMEDIA
ISBN:
978-84-415-2947-2
Drupal es la plataforma de gestión de contenidos que muchos de los sitios Web más conocidos del planeta utilizan. Su versión 7 supone una nueva era en el desarrollo de potentes sit... Más información
Editorial:
ANAYA MULTIMEDIA
Traductor:
GÓMEZ CELADOR, JOSÉ LUIS
Colección:
Títulos Especiales
Encuadernación:
Tapa blanda o Bolsillo
País de publicación :
España
Idioma de publicación :
Español
Idioma original :
Español
ISBN:
978-84-415-2947-2
EAN:
9788441529472
Dimensiones:
225 x 175 mm.
Peso:
1123 gramos
Nº páginas:
720
Fecha publicación :
23-05-2011
Disponible en 1 librerías

Dónde encontrar "Desarrollo con Drupal 7"

Stock en librería
Disponible en 2-3 Días

Disponible en 1 librerías

    Sinopsis

    Sinopsis de: "Desarrollo con Drupal 7"

    Drupal es la plataforma de gestión de contenidos que muchos de los sitios Web más conocidos del planeta utilizan. Su versión 7 supone una nueva era en el desarrollo de potentes sitios personalizados, con funciones y opciones que aumentan las posibilidades de creación y desarrollo en la Web. Con este libro aprenderá a adentrarse en Drupal 7 para crear soluciones Web increíbles. Analizará todos los aspectos importantes, desde los fundamentos de la plataforma, la comprensibilidad y utilización de las API de Drupal, la creación de sus propios módulos, el diseño del código seguro, el establecimiento de sitios Web de alto rendimiento y otros temas que le permitirán convertirse rápidamente en un experto. Drupal 7 ofrece nuevas y numerosas posibilidades para crear un portal de Internet, un sitio Web personal, profesional o de comercio electrónico, un directorio de recursos, un periódico online, una galería de imágenes, una intranet o prácticamente cualquier otro tipo de sitio Web que pueda imaginar. Lo que puede hacer con la plataforma sólo está limitado por su imaginación, las herramientas las encontrará en este libro.

    Índice

    Agradecimientos Sobre los autores Sobre los revisores técnicos Prólogo Introducción Convenciones Código fuente 1. Funcionamiento de Drupal Qué es Drupal La pila de tecnología El núcleo La interfaz administrativa Módulos Conectores Temas Nodos Campos Bloques Diseño de archivos Servir una solicitud El papel del servidor Web El proceso de inicialización Procesar una solicitud Temas para datos Resumen 2. Escribir un módulo Crear los archivos Implementar un conector Añadir parámetros específicos de módulos Definir su propia sección de administración Presentar un formulario de parámetros al usuario Validar parámetros enviados por el usuario Almacenar parámetros Utilizar la tabla de variables de Drupal Recuperar valores almacenados con variable_get() A continuación Resumen 3. Conectores, acciones y disparadores Entender eventos y disparadores Entender las acciones La interfaz de usuario de disparadores Su primera acción Asignar la acción Cambiar los disparadores admitidos por una acción Usar el contexto en acciones Cómo prepara el contexto el módulo de disparadores Cambiar acciones existentes con action_info_alter() Establecer el contexto Almacenar acciones La tabla actions ID de acciones Invocar directamente una acción con actions_do() Definir disparadores propios con hook_trigger_info() Añadir disparadores a conectores existentes Resumen 4. El sistema de menús Asignar retrollamadas Asignar URL a funciones Crear un elemento de menú Argumentos de retrollamada de páginas Retrollamadas de página en otros archivos Añadir un vínculo al bloque de navegación Anidar menús Control de acceso Localizar y personalizar títulos Definir una retrollamada de título Comodines en elementos de menú Comodines básicos Comodines y parámetros de retrollamada de página Usar el valor de un comodín Comodines y sustitución de parámetros Pasar argumentos adicionales a la función de apertura Argumentos de apertura especiales y predefinidos: %map y %index Crear rutas a partir de comodines con funciones to_arg() Casos especiales para comodines y funciones to_arg() Alterar elementos de menú de otros módulos Alterar enlaces de menú desde otros módulos Tipos de elementos de menú Tareas comunes Asignar retrollamadas sin añadir un enlace al menú Mostrar elementos de menú como fichas Ocultar elementos de menú existentes Utilizar menu.module Errores habituales Resumen 5. Trabajar con bases de datos Definir parámetros de base de datos Comprender la capa de abstracción de bases de datos Conectarse a la base de datos Ejecutar consultas sencillas Recuperar resultados de consultas Obtener un solo valor Obtener varias filas Utilizar el generador de consultas y objetos de consulta Obtener un intervalo limitado de resultados Obtener resultados para mostrarlos en páginas Otras consultas comunes Operaciones INSERT y UPDATE con drupal_write_record() La API de esquemas Utilizar archivos .install de módulos Crear tablas Utilizar el módulo de esquema Asignar tipos de campos del esquema a la base de datos Declarar un tipo de columna específico con mysql_type Mantener tablas Eliminar tablas al desinstalar Cambiar esquemas existentes con hook_schema_alter() Modificar consultas de otros módulos con hook_query_alter() Conectarse a bases de datos desde Drupal Utilizar una tabla temporal Escribir un controlador de base de datos propio Resumen 6. Trabajar con usuarios El objeto $user Comprobar si un usuario ha iniciado la sesión Introducción a los conectores de usuario Comprender hook_user_view($account, $view_mode) El proceso de registro de usuarios Utilizar profile.module para recopilar información del usuario El proceso de inicio de sesión Añadir datos al objeto $user en tiempo de apertura Proporcionar categorías de información de usuario Inicio de sesión externo Resumen 7. Trabajar con nodos Concepto de nodo No todo es un nodo Crear un módulo de nodos Crear el archivo .install Crear el archivo .info Crear el archivo .module Proporcionar información sobre nuestro tipo de nodo Modificar la retrollamada de menú Definir permisos específicos de tipos de nodo con hook_permission() Limitar el acceso a un tipo de nodo con hook_access() Personalizar el formulario de nodos para nuestro tipo Validar campos con hook_validate() Guardar datos con hook_insert() Mantener datos actualizados con hook_update() Limpiar con hook_delete() Modificar nodos de nuestro tipo con hook_load() Utilizar hook_view() Manipular nodos de otro tipo con hook_node_xxxxx() Almacenar nodos Crear un tipo de nodo con tipos de contenido personalizados Restringir el acceso a nodos Definir permisos de nodos El proceso de acceso a nodos Resumen 8. Trabajar con campos Crear tipos de contenido Añadir campos a un tipo de contenido Crear un campo personalizado Añadir campos mediante programación Resumen 9. El sistema de temas Temas Instalar un tema no integrado Crear un tema El archivo .info Añadir regiones a un tema Añadir archivos CSS a un tema Añadir archivos JavaScript Añadir parámetros a su tema Archivos de plantilla La visión general Otros archivos de plantilla Reemplazar elementos a los que aplicar temas Reemplazar con archivos de plantilla Añadir y manipular variables de plantilla Utilizar el módulo de desarrollo de temas Resumen 10. Trabajar con bloques Concepto de bloque Opciones de configuración de bloques Ubicar bloques Definir un bloque Usar los conectores de bloque Diseñar un bloque Habilitar un bloque al instalar un módulo Ejemplos de visibilidad de bloques Mostrar un bloque sólo a usuarios registrados Mostrar un bloque sólo a usuarios anónimos Resumen 11. La API de formularios Comprender el procesamiento de formularios Inicializar el proceso Definir un símbolo Definir un ID Recopilar todas las definiciones posibles de elementos de formulario Buscar una función de validación Buscar una función de envío Permitir a módulos modificar el formulario antes de generarlo Generar el formulario Permitir a funciones modificar el formulario después de generarlo Comprobar si el formulario se ha enviado Buscar una función de tema para el formulario Permitir que los módulos modifiquen el formulario antes de representarlo Representar el formulario Validar el formulario Enviar el formulario Redirigir al usuario Crear formularios básicos Propiedades de formularios ID de formulario Conjuntos de campos Aplicar temas a formularios Especificar funciones de validación y envío con hook_forms() Orden de indicación de funciones de tema, validación y envío Escribir una función de validación Volver a generar formularios Escribir una función de envío Cambiar formularios con hook_form_alter() Enviar formularios mediante programación con drupal_form_submit() Formularios dinámicos Propiedades de la API de formularios Propiedades de la raíz del formulario Propiedades añadidas a todos los elementos Propiedades permitidas en todos los elementos Elementos de formulario Resumen 12. Manipular entradas del usuario: el sistema de filtros Filtros Filtros y formatos de texto Instalar un filtro Cuándo usar filtros Crear un filtro personalizado Implementar hook_filter_info() La función de proceso Función de ayuda Resumen 13. Buscar e indexar contenido Crear una página de búsqueda personalizada El formulario de búsqueda predeterminado El formulario de búsqueda avanzado Ampliar el formulario de búsqueda Utilizar el indexador HTML de búsqueda Indexar contenido que no sea un nodo: hook_update_index() Resumen 14. Trabajar con archivos Cómo sirve Drupal los archivos API de Drupal gestionada y sin gestionar Archivos públicos Archivos privados Parámetros PHP Procesar medios Transferir campos Vídeo y audio API de archivos Esquema de base de datos Tareas y funciones comunes Copiar y mover archivos Comprobar directorios Transferir archivos Conectores de autenticación para descargar Resumen 15. Trabajar con taxonomía La estructura de taxonomía Crear un vocabulario Crear términos Asignar un vocabulario a un tipo de contenido Tipos de taxonomía Plano Jerárquico Jerárquico múltiple Ver contenido por término Utilizar AND y OR en URL Especificar profundidad para vocabularios técnicos Canales de noticias RSS automáticos Almacenar taxonomías Vocabularios basados en módulos Crear un vocabulario basado en módulos Mantenerse informado de cambios de vocabulario con conectores de taxonomía Tareas comunes Mostrar términos de taxonomía asociados a un nodo Crear sus propias consultas de taxonomía Usar taxonomy_select_nodes() Funciones de taxonomía Recuperar información sobre vocabularios Añadir, modificar y eliminar vocabularios Recuperar información sobre términos Añadir, modificar y eliminar términos Recuperar información sobre la jerarquía de términos Buscar nodos con determinados términos Recursos adicionales Resumen 16. Almacenar en caché Cuándo almacenar en caché Cómo funciona el almacenamiento en caché Usar el almacenamiento en caché en el núcleo de Drupal Sistema de menús Almacenar texto filtrado en caché Variables de administración y opciones de módulos Bloques Usar la API de cachés Resumen 17. Sesiones Concepto de sesiones Uso Parámetros relacionados con sesiones En .htaccess En settings.php En bootstrap.inc Exigir cookies Almacenamiento Ciclo vital de una sesión Conversaciones de sesiones Primera visita Segunda visita Usuario con una cuenta Tareas comunes Cambiar el tiempo antes de que caduque una cookie Cambiar el nombre de la sesión Almacenar datos en la sesión Resumen 18. Utilizar jQuery Definición de jQuery La forma antigua Funcionamiento de jQuery Usar un selector de ID CSS Usar un selector de clases CSS jQuery en Drupal Su primer código de jQuery Seleccionar un elemento por ID Encadenar métodos Añadir o eliminar una clase Envolver elementos existentes Cambiar valores de elementos CSS Dónde incluir JavaScript JavaScript reemplazable Crear un dispositivo de creación con jQuery Crear el módulo Usar Drupal.behaviors Formas de ampliar este módulo Compatibilidad A continuación Resumen 19. Localización y traducción Habilitar el módulo Locale Traducir la interfaz de usuario Cadenas Traducir cadenas con t() Reemplazar cadenas integradas con cadenas personalizadas Iniciar una nueva traducción Generar archivos .pot con Translation Template Extractor Crear un archivo .pot para su módulo Crear archivos .pot para un sitio completo Instalar una traducción de idioma Definir una traducción en tiempo de instalación Instalar una traducción en un sitio existente Compatibilidad con idiomas de derecha a izquierda Negociar idiomas Predeterminado Prefijo de la ruta Prefijo de ruta con Language Fallback Sólo URL Traducir contenidos El módulo Content Translation Compatibilidad multilingüe Funcionamiento multi idioma con traducción Archivos relacionados con la localización y la traducción Recursos adicionales Resumen 20. XML-RPC Definición de XML-RPC Requisitos previos para XML-RPC Clientes XML-RPC Ejemplo de cliente XML-RPC: obtener la hora Ejemplo de cliente XML-RPC: obtener el nombre de un estado Controlar errores de clientes XML-RPC Un sencillo servidor XML-RPC Asignar su método con hook_xmlrpc() Validar tipos de parámetros automáticamente con hook_xmlrpc() Métodos XML-RPC incorporados system.listMethods system.methodSignature system.methodHelp system.getCapabilities system.multiCall Resumen 21. Escribir código seguro Controlar entradas del usuario Pensar en los tipos de datos Usar check_plain() y t() para sanear el resultado Usar filter_xss() para evitar ataques de secuencias de comandos entre sitios Usar filter_xss_admin() Controlar las URL de forma segura Crear consultas seguras con db_query() Mantener datos privados con hook_query_alter() Consultas dinámicas Permisos y retrollamadas de página Falsificación de solicitudes entre sitios (CSRF) Seguridad de archivos Permisos de archivos Archivos protegidos Transferencias de archivos Nombres de archivo y rutas Codificar encabezados de correo Archivos para entornos de producción Compatibilidad SSL PHP independiente Seguridad AJAX o Ataque de repetición de solicitudes Seguridad de la API de formularios Proteger la cuenta de superusuario Resumen 22. Prácticas recomendadas de desarrollo Estándares de creación de código Sangrado de líneas y espacio en blanco Operadores Conversiones Estructuras de control Invocaciones de funciones Declaraciones de funciones Nombres de funciones Invocaciones de constructores de clases Matrices Comillas Concatenadores de cadenas Comentarios Ejemplos de documentación Documentar constantes Documentar funciones Documentar implementaciones de conectores Incluir código Etiquetas de código PHP Punto y coma URL de ejemplo Convenciones de nomenclatura Comprobar el estilo de su código mediante programación Desplazarse por el código con ayuda de grep Resumen 23. Optimizar Drupal Almacenar en caché: la clave del rendimiento de Drupal Optimizar PHP Establecer el archivo de caché Opcode PHP en /dev/zero Parámetros de agrupación de procesos PHP Configurar Apache mod_expires Cambiar directorios de .htaccess a httpd.conf MPM Prefork frente a Apache MPM Worker Equilibrar el tamaño de la agrupación de Apache Reducir el tiempo de espera de Apache Deshabilitar módulos no utilizados de Apache Utilizar Nginx en lugar de Apache Utilizar Pressflow Varnish Normalizar solicitudes entrantes para Varnish Varnish: buscar cookies extrañas Boost Boost frente a Varnish Configurar el sistema Linux en servidores de tráfico elevado Usar sistemas de archivo rápidos Servidores dedicados frente a servidores virtuales Evitar la llamada de servicios Web externos Reducir los tiempos de espera del servidor Optimizar bases de datos Habilitar la caché de consultas de MySQL Rendimiento InnoDB MySQL en Windows Rendimiento de Drupal Eliminar errores 404 Deshabilitar módulos no utilizados Optimizaciones específicas de Drupal Almacenar páginas en caché Optimizar el ancho de banda Optimizar la tabla de sesiones Gestionar el tráfico de usuarios autenticados Ejecutar cron Arquitecturas Un servidor Servidor de base de datos independiente Servidor de base de datos independiente y un clúster de servidores Web Varios servidores de base de datos Localizar el cuello de botella Resumen 24. Perfiles de instalación Crear un nuevo perfil de instalación El archivo enhanced.info El archivo enhanced.profile El archivo .install Utilizar hook_install_tasks y hook_install_tasks_alter Resumen 25. Pruebas Configurar el entorno de pruebas Definir pruebas Funciones de prueba Afirmaciones de pruebas Resumen Apéndice A. Referencias de tablas de la base de datos Apéndice B. Recursos Código Manuales Foros Listas de correo Grupos de usuarios y grupos de interés IRC Videocasts Weblogs Conferencias Colaborar Índice alfabético

    Más sobre

    Tomlinson, Todd / VanDyk, John K.

    Información sobre el autor no disponible


    Más títulos de Tomlinson, Todd / VanDyk, John K.
    Los lectores opinan

    Valoraciones y comentarios

    No hay comentarios, sé el primero en comentar

    Añadir comentario