Drupal - Création d'une table dans une base secondaire
Voici comment créer une table dans une base de donnée autre que celle par défaut.
Code à mettre dans votre MODULE.install
Les snippets sont des bouts de code.
Présenté ici de manière volontairement « brute », ces snippets ont vocation à servir d'aide mémoire.
N'hésitez-pas à poser un commentaire si vous rencontrez un problème avec un des éléments.
Vous pouvez utiliser la navigation via les tags présents sur la droite
Voici comment créer une table dans une base de donnée autre que celle par défaut.
Code à mettre dans votre MODULE.install
Ça vient à contre-sens du paradigme des nœuds, mais parfois on souhaite que les pages de détail d'un nœud d'un type de contenu en particulier ne soient pas accessible.
Voici comment faire :
1ère étape, déclarer un services dans mon_module.services.yml
Pour un besoin spécifique, il fallait que je récupère un formulaire exposé de views pour l'afficher ailleurs.
Il fallait en fait qu'à un endroit j'affiche les filtres exposés et à un autre le tri exposé.
J'ai donc créé un bloc, qui récupère ce formulaire, masque un champ.
$fid = 5;
$file = \Drupal\file\Entity\File::load($fid);
$url_fichier = $file->url();
Utile dans le cadre d'une vue affichant des résultats d'une recherche via Search API :
Parfois on se retrouve avec un gros White Screen Of Death sur son site, et impossible de se connecter.
Dans ce cas là il est pratique de pouvoir afficher en live le contenu du watchdog, c'est possible avec Drush et la commande watchdog-show :
stages :
- predeploy
- deploy
- postdeploy
- scheduled
prod_backup_db:
script:
- ssh <a href="mailto:user@serveur">user@serveur</a> 'drush @kg cr'
- ssh <a href="mailto:u
Voici comment dans un formulaire custom D8, avoir un ensemble de champ "multiples" dans un formulaire de config par exemple.
$query = \Drupal::entityQuery('node');
$query->condition('type', 'produit');
$nb_resultats = $query->count()->execute();
$test = \Drupal::request()->query->get('test');
$test = \Drupal::request()->request->get('test');