Personalizar Drupal

24 views
Skip to first unread message

Javier Yáñez

unread,
Feb 12, 2020, 11:04:59 PM2/12/20
to Drupal en Español
Hola! Qué tal?
Estoy comenzando a trabajar con Drupal. Esto debido a las tecnologías que utilizan en la nueva empresa en la que estoy trabajando. Vengo de desarrollar sistemas web con tecnologías como Laravel y Codeigniter, utilizando PHP y Python.
Lo primero que estudié fue Drupal 8, pero luego un experto nos dijo que usaramos la versión 7. Ha sido extraño el cambio a Drupal, y no entiendo muy bien como PROGRAMAR desde el código. Entiendo como utilizar modulos, pero aún así sigue siendo muy estructurado para lo que necesito hacer: un portal que tenga noticias, usuarios y contenidos diferentes.
Es por eso que tengo algunas dudas, agradecería mucho que me guiaran o directamente me las resolvieran:
1- Crear un formulario personalizado de ingreso de usuarios.
2- Crear un buscador de contenidos según, fecha, nombre, palabras claves, etc.
3- Lanzar una vista en HTML desde algún controlador, con datos que estén alojados en mi base de datos.
4- Conectar una segunda base de datos, específicamente una SQL (mantenerla conectada junto a la MySql que viene por defecto)
5- He creado un Content Type "ejemplo", que contiene: title, body, image. Luego los agrupé en una vista y la vista se muestra en el inicio (<front>). Esto utilizando los modulos Ctools, views, bootstrap, y algunos otros. 
    Me gustaría saber en qué lugar se guarda el contenido "ejemplo" que he creado, donde se guarda la configuración de la vista, y cuando se muestra la vista, elegir que campos del tipo de contenido se deben mostrar, pero todo esto desde el código de mi proyecto.
6- En la sección de bloques, como saber de donde procede el contenido del array $page['sidebar_first'], o $page['content']
7- Como crear ventanas modales adentro de una página y que traiga información desde mi base de datos


Eso es lo que recuerdo por ahora, Drupal está siendo un dolor de cabeza!

Aldíbier Morales

unread,
Feb 13, 2020, 6:49:55 AM2/13/20
to drup...@googlegroups.com
Hola Javier,

Sin tener el contexto, me atrevo a decir que la recomendación del experto de usar Drupal 7 no es la mas adecuada, esto debido a que es una versión que ya va de salida, Drupal 8 es la versión recomendada por toda la comunidad actualmente ya que constituye un cambio de paradigma muy grande respecto a la versión 7 y es el punto de partida para el nuevo modelo de evolución de Drupal, me parece importante que lo reconsideren para asegurar que cuentan con una herramienta moderna que responda a sus necesidades.

En cuanto a sus preguntas:

1- Crear un formulario personalizado de ingreso de usuarios.

RTA: Claro que se puede, es muchisimo mas fácil lograrlo en Drupal 8 debido a queen esta versión los usuarios son una entidad mas en el sistema y se benefician del sistema de campos, para Drupal 7 se requieren otros módulos contribuidos como Profile2

2- Crear un buscador de contenidos según, fecha, nombre, palabras claves, etc.

RTA: Tanto para Drupal 8 y 7, le sugiero implementar el módulo Search API que le permitirá ese grado de granularidad y versatilidad en la construcción de sistemas de búsqueda.

3- Lanzar una vista en HTML desde algún controlador, con datos que estén alojados en mi base de datos.

RTA: En Drupal 8 podrías entender esto mas fácil por el módelo basado en orientación a objetos en donde justamente en un módulo personalidao usas es controlador para obtener la data usando el API de nase de datos y la arrojas como lo desees desde una ruta que invoca a ese controlador, en Drupal 7 por su código estructurado esto es mas bien distinto y tendrás que hacerlo implementando un hook_menu que invoca a una función en un módulo personalizado y arrojas el resultado.

4- Conectar una segunda base de datos, específicamente una SQL (mantenerla conectada junto a la MySql que viene por defecto)

RTA: Tanto para Drupal 8 como Drupal 7 debes implementar un módulo que te ofrezca el driver de conexión a SQL Server https://www.drupal.org/project/sqlsrv  de tal forma que puedas agregar la conexión en el array de conexiones presente en el archivo settings.php, luego desde tu código invocas la conexión al servidor SQL y realizas las consultas usando el API de base de datos, todo esto desde un módulo personalizado.

5- He creado un Content Type "ejemplo", que contiene: title, body, image. Luego los agrupé en una vista y la vista se muestra en el inicio (<front>). Esto utilizando los modulos Ctools, views, bootstrap, y algunos otros.

Me gustaría saber en qué lugar se guarda el contenido "ejemplo" que he creado, donde se guarda la configuración de la vista, y cuando se muestra la vista, elegir que campos del tipo de contenido se deben mostrar, pero todo esto desde el código de mi proyecto.

RTA: En Drupal 7 Tanto la información del contenido como la vista se guarda en la base de datos podrías llegar a exportar la configuración de la vista mas no del contenido, usando el módulo feaures, en Drupal 8 esta exportación de configuraciones se vuelve mas sofisticada con un módulo proporcionado desde el Core, si la razón de querer tener el control desde el código es para poder hacer el paso entre ambientes entonces le recomiendo implementar features en Drupal 7, el contenido si bien podría llegar a ser exportable usando algunos módulos, luego te darás cuenta que no es la mejor idea por las dependencias que se generan.

A menos que estés trabajando en un proyecto sumanmente sofisticado la recomendación de la comunidad es hacer uso de las herramientas de interfaz lo que mas pueda a fin de que sea altamente administrable y así sacar el mayor provecho a la herramienta, si lo haces todo por código es muy probable que luego el mantenimiento sea muy dificil.


6- En la sección de bloques, como saber de donde procede el contenido del array $page['sidebar_first'], o $page['content']

RTA: Son regiones, las regiones son definidas en el tema y a criterio del tema que esté usando, haga de cuenta que la página es una pared y ha dividido esa pared en varias secciones o regiones y los ladrillos que quedaron en cada una de ellas son los bloques, puede conocer mas sobre la estructura de los temas en Drupal 7 aquí https://www.drupal.org/docs/7/theming

7- Como crear ventanas modales adentro de una página y que traiga información desde mi base de datos

RTA: Hay distintas maneras, si lo quiere hacer con un alto control desde el código, puede hacer uso del API de ctools, acá una guía para Drupal 7 https://internetdevels.com/blog/big-manual-for-creating-ctools-popups-in-drupal-7, de todas formas hay varios módulos que resuelven casos conocidos que podrían ahorrarle bastante trabajo dependiendo de lo que necesite, puede buscar en el listado de módulos contribuidos.


Para finalizar le invito a que reconsideren el uso de Drupal 8 en lugar de Drupal 7 y si el equipo cuenta con poca experiencia cuenten con el soporte de un experto que les guíe en las mejores prácticas para lograr lo que su proyecto necesita, espero que le sean de ayuda mis respuestas.


Sincerely

Aldibier Morales Morales
Co-Founder
SeeD EM (www.seed.com.co)
http://www.aldibier.com
Twitter: @aldibier



--
-- Has recibido este mensaje porque estás suscrito al grupo "Drupal en Español". Para publicar una entrada en este grupo, envía un correo electrónico a:
drup...@googlegroups.com.
 
Y por favor toma tiempo para leer la siguiente información (te lo agradeceremos):
http://es.wikibooks.org/wiki/Netiquette/Grupos_de_noticias_y_foros
https://datatracker.ietf.org/doc/rfc1855/
 
Para anular la suscripción a este grupo, envía un correo electrónico a drupal-es+...@googlegroups.com.
 
Para tener acceso a más opciones, visita el grupo en https://groups.google.com/d/forum/drupal-es?hl=es.
---
Has recibido este mensaje porque estás suscrito al grupo "Drupal en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a drupal-es+...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/drupal-es/59eba301-30fa-4c3d-8433-c16aa2ff22fb%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages