CMS

Content Management System (and Framework)

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.).