Drupal

Article ayant trait à Drupal

Créer un type de contenu et y attacher des champs

Il est possible via l'IHM de créer un nouveau type de contenu et d'y ajouter des champs. Tout ceci peut également se faire de manière programmatique, par un simple module.

Le module va comporter au moins 2 fichiers : le .info qui décrit le module, et le .module qui comprend le code.

Pour notre démonstration, nous allons créer un module qui permettra de créer des contenus qui seront repris par Views Slideshow par la suite.

Le fichier monslideshow.info est simple :

Performances Drupal

Drupal est généralement basé sur une plate-forme LAMP (Linux / Apache / MySQL / PHP), même si on peut au final changer la majorité des couches, sauf le PHP.

Plusieurs options sont donc possibles pour améliorer les performances, qui peuvent parfois être calamiteuses sur un serveur mal dimensionné :

Comparaison des modes de requête Select avec Drupal 7

Comparaison des modes de requête simple (select) Drupal

Pour réaliser des requêtes de type SELECT, Drupal 7 propose au moins 3 options. Celles-ci sont plus ou moins performantes, mais leurs possibilités sont différentes. Cet article passe rapidement en revue :

  • db_query
  • db_select
  • EntityFieldQuery

Utilisation de db_query

db_query est utilisé pour des requêtes statiques. Leur construction est de la forme :

Drupal

Cette série d'article a pour vocation de donner quelques pistes pour le développement de modules Drupal, l'intégration de certaines fonctionnalités, ou encore pour améliorer les performances d'une installation Drupal 7, en prenant en compte plusieurs domaines : les performances du cache Drupal, les aspects liés au serveur Apache et à PHP, et les aspects liés à la base de données.

 

Drupal 7 : Templates de thèmes fonction du type de contenu

On se pose souvent la question suivante dans Drupal : comment avoir une mise en place différente pour un type de contenu spécifique ?

Si par défaut, Drupal utilise différentes suggestions (cf https://drupal.org/node/1089656), telles que : node-type, node-id, page-front, il n'utilise pas en standard un modèle de page pour un type de contenu.

Pour rappel, un template intitulé page--front.tpl.php sera utilisé pour la page d'accueil (notez bien les 2 tirets).

Drupal : activer les traces en Syslog

Par défaut, Drupal va enregistrer les événements dans sa base de données, via le module Database Logging inclus dans le "core".

L'inconvénient majeur est de générer un nombre important d'écriture en base, ce qui impacte directement les performances, et fait grossir inutilement la base de données.

Il est bien sûr possible de désactiver complètement ces traces, mais elles peuvent révéler des soucis (notamment des fichiers inexistants, des tentatives de connexions infructueuses, etc.).