Eliminación de anuncios de las publicaciones al vencimiento del nodo Drupal y vencimiento automático
Una de las funciones necesarias para nuestro tablero de anuncios en Drupal será despublicar los anuncios que hayan estado activos durante cierto tiempo. Propongo comenzar utilizando módulos ya preparados, y luego intentaremos implementar esta funcionalidad con el módulo Rules. De los módulos existentes encontré 2 para Drupal 6 y 1 para Drupal 7, a saber:
Node expire - Drupal 6
Auto expire - Drupal 6 y 7
Fin de semana de contribución global de Drupal, 26 y 27 de enero de 2019
26 de enero de 2019 - 10:00 - 14:00 (MSK)
27 de enero de 2019 - 10:00 - 14:00 (MSK)
¡Hola a todos! Me llamo Iván, desarrollo con Drupal, tengo un blog y un canal de YouTube sobre Drupal:
https://drupalbook.org
https://www.youtube.com/c/IvanAbramenko
Creando una red social en Drupal
Drupal: los límites de lo posible
Drupal es uno de los mejores sistemas de gestión de contenido (CMS). De hecho, ganó (dos veces) el premio a la Mejor CMS de Código Abierto en 2008 y el premio al Mejor CMS PHP de Código Abierto. Después de unos 8 años de evolución, Drupal se presenta como uno de los frameworks más potentes y versátiles. Su excepcional versatilidad es, sin duda, su mayor fortaleza... y al mismo tiempo, su debilidad. Cualquier funcionalidad es posible, pero ¿por dónde empezar?
Desarrollo de módulos para Drupal 7
En esta sección del tutorial mostraré que Drupal no es solo un CMS. Veremos de qué están compuestos los módulos de Drupal, y también crearemos algunos módulos propios.
Drupal 7 - Trabajar con bases de datos mediante PHP PDO
Con la transición a Drupal 7, también adoptamos el nuevo API de abstracción de base de datos de Drupal, basado en PDO. PDO ha sido utilizado desde hace tiempo en frameworks como Zend, así como en muchos otros frameworks PHP. Todo funcionaba muy bien en Drupal 6 con las consultas SQL directas, ¿por qué entonces cambiar a algo nuevo?
Primero, entendamos qué es PDO.
Trabajar con bases de datos en Drupal 7 - Lección 1 - API de base de datos de Drupal
Si has desarrollado módulos para la versión 6 de Drupal, no te costará mucho adaptarte al nuevo Database API de Drupal 7. La nueva API de base de datos funciona sobre la extensión PDO de PHP, lo que le permite operar con varias bases de datos como MySQL, PostgreSQL, MSSQL y posiblemente Oracle. En cuanto a su simplicidad, es discutible, ya que requiere acostumbrarse a la nueva sintaxis, siendo más familiar escribir consultas SQL directamente.
Esto es algo de lo que dice la documentación oficial:
Trabajar con una base de datos en Drupal 7 - Lección 2 - Configuración de la base de datos
El principal medio para definir la conexión a la base de datos en Drupal es el array $databases en el archivo settings.php. Como sugiere el nombre, $databases permite definir múltiples conexiones a bases de datos. También admite la definición de múltiples objetivos. La conexión no se abre (no se crea un objeto de conexión) hasta que algún fragmento de código realice una consulta a la base de datos por primera vez.
Trabajar con una base de datos en Drupal 7 - Lección 3 - Consultas estáticas (SELECT)
La forma más general de consulta en Drupal es la consulta estática. Una consulta estática será enviada a la base de datos literalmente. Solo las consultas de selección (select) pueden ser estáticas.
Las consultas estáticas deben usarse únicamente en consultas muy simples. Debes utilizar consultas dinámicas si necesitas crear una consulta compleja, una consulta generada dinámicamente o modificable tras su ejecución.
Una forma sencilla de ejecutar una consulta estática es a través del método de consulta:
Trabajar con una base de datos en Drupal 7 - Lección 4 - Consultas dinámicas (SELECT)
Probablemente hemos llegado a la parte más interesante del Database API de Drupal: las consultas dinámicas. Se llaman dinámicas porque Drupal completa dinámicamente la cadena de la consulta. Todas las consultas de inserción, actualización, eliminación o fusión pueden ser dinámicas. Las consultas de selección pueden ser tanto dinámicas como estáticas. No obstante, se recomienda usar consultas dinámicas incluso para las consultas de selección.
¿En qué consiste un módulo de Drupal 7?
Antes de comenzar a crear nuestro módulo, voy a hablar un poco más sobre las capacidades del API de Drupal. El API proporciona amplias posibilidades para trabajar con taxonomía, nodos, usuarios, entrada y salida de base de datos. Para la interacción entre módulos y el núcleo de Drupal, así como entre los propios módulos, Drupal cuenta con un sistema de hooks. Un hook es una llamada de retorno de función, es decir, cuando la ejecución del código llega al hook, se añade el código de nuestra función, que escribimos en nuestro módulo.