Planète

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Créer des liens de menus dynamiquement

L'élément, selon moi, le plus important d'un site web est la qualité de ses menus. Comme il est possible d'arriver par n'importe quelle page sur un site, il est donc important que l'internaute puisse y naviguer de façon simple et fluide. Voici comment gérer une partie de vos menus dynamiquement sous Drupal 8.

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Créer des liens de menus dynamiquement

L'élément, selon moi, le plus important d'un site web est la qualité de ses menus. Comme il est possible d'arriver par n'importe quelle page sur un site, il est donc important que l'internaute puisse y naviguer de façon simple et fluide. Voici comment gérer une partie de vos menus dynamiquement sous Drupal 8.

Par kgaut
Kevin Gautreau

Optimiser les tâches lourdes de composer avec Drupal

Une petite dépendance à ajouter à son composer.json qui permet d'économiser pas mal de ram lors des taches lourdes de composer (update notamment)

  1. composer require zaporylie/composer-drupal-optimizations:^1.1

Simplement en supprimant des anciens tags des package de symfony, cela peut diviser par deux la mémoire vive nécessaire.

Plus d'informations : https://github.com/zaporylie/composer-drupal-optimizations

 

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Lors d'une manipulation

Lors d'une manipulation de formulaire, il est assez fréquent de vouloir la main sur la structure HTML. Par défaut les champs s'affichent les uns en dessous des autres avec uniquement le balisage des éléments du formulaire.

Pour gérer facilement la structure HTML d'un Form sous Drupal 8, il faut se tourner vers les thèmes ...

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Lors d'une manipulation

Lors d'une manipulation de formulaire, il est assez fréquent de vouloir la main sur la structure HTML. Par défaut les champs s'affichent les uns en dessous des autres avec uniquement le balisage des éléments du formulaire.

Pour gérer facilement la structure HTML d'un Form sous Drupal 8, il faut se tourner vers les thèmes ...

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Lors d'une manipulation

Lors d'une manipulation de formulaire, il est assez fréquent de vouloir la main sur la structure HTML. Par défaut les champs s'affichent les uns en dessous des autres avec uniquement le balisage des éléments du formulaire.

Pour gérer facilement la structure HTML d'un Form sous Drupal 8, il faut se tourner vers les thèmes ...

Mettre en place un système de notifications sur Drupal 8

Pour bon nombre de projets Drupal 8 qui disposent d'un minimum d'interactions avec ses utilisateurs, le besoin de mettre en place un système de notifications arrive rapidement sur le devant de la scène. Etre notifié d'un nouveau commentaire, d'une réponse à un commentaire, d'une nouvelle publication sur tel ou tel sujet, ou de tel utilisateur, sont des besoins récurrents. Découvrons le module Entity Activity dont la vocation est de journaliser tout type d'action effectuée, sur tout type d'entité de contenu, par utilisateur, selon ses abonnements, sur un projet.

Par kgaut
Kevin Gautreau

Drupal 8 - Migrate - Aide mémoire

Afficher la liste des destinations de migration :

drupal debug<span class="sy0">:</span>plugin migrate<span class="sy0">.</span>destination

 

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Personaliser le rendu d'un formulaire sous Drupal 8

Lors d'une manipulation de formulaire, il est assez fréquent de vouloir la main sur la structure HTML. Par défaut les champs s'affichent les uns en dessous des autres avec uniquement le balisage des éléments du formulaire.

Pour gérer facilement la structure HTML d'un Form sous Drupal 8, il faut se tourner vers les thèmes ...

Par kgaut
Kevin Gautreau

Drupal 8 - Créer un fichier avec le « résultat » d'un template

Voici comment écrire un fichier dans drupal 8 :

  1. $sitemaps_path = 'public://sitemaps/';
  2. // création du dossier
  3. if(file_prepare_directory($sitemaps_path, FILE_CREATE_DIRECTORY)) {
  4. // écriture du fichier (s'il existe, on le remplace)
  5. file_save_data($content, $sitemaps_path . 'sitemap.xml', FILE_EXISTS_REPLACE);
  6. }
  7. else {
  8. \Drupal::logger('sitemap')->error(t('Problem creating the folder @folder', ['@folder' => $sitemaps_path]));
  9. }

Imaginons que l'on veuille écrire dans un fichier le contenu d'un renderable array voici comment l'on définit $content :

  1. $datas = [
  2. '#theme' => 'xml_sitemap',
  3. '#urls' => [
  4. ['title' => 'test'],
  5. ['title' => 'test 2'],
  6. ],
  7. ];
  8.  
  9. // Ici si on ne peut pas utiliser l'injection de dépendance, on pourrait remplacer la ligne suivante par :
  10. // \Drupal::service('renderer')->renderPlain($datas);
  11. $content = $this->renderer->renderPlain($datas);

 

Par kgaut
Kevin Gautreau

Drupal 8 - Template - Spécifier un thème spécifique

Quand un template est appelé via un « reder array », le template va être cherché en priorité dans le thème actif, puis dans le module qui déclare ce template.

Dans certains cas, cela peut poser problème : Si un template peut-être appelé dans un contexte back ou front, les thèmes sont la plupart du temps différents. La solution de feignant pourrait être de dupliquer ce template dans les deux thèmes. Mais c'est évidement pas une bonne solution.

Dans la déclaration du template on peut spécifier où trouver le template en question :

  1. $themes['xml_sitemap'] = [
  2. '#template' => 'xml-sitemap',
  3. 'path' => drupal_get_path('theme', 'mon_theme_back') . '/templates',
  4. 'variables' => [
  5. 'urls' => [],
  6. ],
  7. ];

Ainsi peut importe si mon template est appelé depuis le front ou depuis le back ça sera toujours le fichier :

themes/custom/mon_theme_back/templates/xml-sitemap.html.twig qui sera utilisé.

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Personnaliser le rendu d'un formulaire sous Drupal 8

Lors d'une manipulation de formulaire, il est assez fréquent de vouloir la main sur la structure HTML. Par défaut les champs s'affichent les uns en dessous des autres avec uniquement le balisage des éléments du formulaire.

Pour gérer facilement la structure HTML d'un Form sous Drupal 8, il faut se tourner vers les thèmes ...

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Personnaliser le rendu d'un formulaire sous Drupal 8

Lors d'une manipulation de formulaire, il est assez fréquent de vouloir la main sur la structure HTML. Par défaut les champs s'affichent les uns en dessous des autres avec uniquement le balisage des éléments du formulaire.

Pour gérer facilement la structure HTML d'un Form sous Drupal 8, il faut se tourner vers les thèmes ...

Par KarimB
Karim Boudjema
Je suis Karim Boudjema ou KarimB en ligne. Je suis belge, développeur Drupal et aussi administrateur d'entreprises. Je vis pour l'instant à Cochabamba, en Bolivie. Quand j'ai découvert Drupal 4.7 en 2008 (et oui… il y a 10 ans), j'ai tout suite senti que ce serait un changement important dans le monde du développement web. Et ce fut le cas!

VideoDrupal.org: Un nouveau site de vidéos tutoriels de Drupal

Après trois mois de dur labeur, surtout la nuit et les weekends, nous avons finalement lancé la première version de VideoDrupal.org (beta 1.0), une mashup supervisée de vidéos et tutoriels de Drupal publiées sur Youtube afin de les rendre plus accessibles pour tout un chacun que ce soit à des fins personnelles, éducatives ou professionnelles.

Pour cette année 2019, je m'étais fixés trois objectifs : améliorer mon anglais, trouver un job dans une "vraie" agence Drupal et lancé ce site pour la communauté. Donc, j'ai déjà atteint un de mes objectifs. L'année commence bien ! Honnêtement, je pense que c'était le plus simple à atteindre. Améliorer  mon anglais et trouver une agence tournée vers la communauté Drupal, sera sans doute plus difficile. Mais je m'y attache ! Et sérieusement...

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Gestion du titre de page

Le titre d'une page est capitale pour le référencement et l'intérêt que vous susciterez auprès de vos visiteurs. Sous Drupal, les titres des pages affichant des entités de contenu sont gérés automatiquement grâce au champ 'title'. Ce billet va traiter de la gestion des titres des autres types de pages.

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Promotion des autres blogs Drupaliste

Pour ce premier billet de blog, j'ai envie de faire la promotion des blogs de drupalistes. À force de lire des articles de ces personnes j'ai eu envie à mon tour, d'en écrire afin d'essayer d'apporter un peu plus de contenu francophone concernant Drupal.
Voici les blogs que je fréquente et que je lis dès qu'un nouvel article sort.

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Le titre d'une

Le titre d'une page est capitale pour le référencement et l'intérêt que vous susciterez auprès de vos visiteurs. Sous Drupal, les titres des pages affichant des entités de contenu sont gérés automatiquement grâce au champ 'title'. Ce billet va traiter de la gestion des titres des autres types de pages.

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Pour ce premier

Pour ce premier billet de blog, j'ai envie de faire la promotion des blogs de drupalistes. À force de lire des articles de ces personnes j'ai eu envie à mon tour, d'en écrire afin d'essayer d'apporter un peu plus de contenu francophone concernant Drupal.
Voici les blogs que je fréquente et que je lis dès qu'un nouvel article sort.

Par Mixalis44
Mickael Zafiriou
Développeur Drupal depuis 2013.

Gestion du titre de page

Le titre d'une page est capitale pour le référencement et l'intérêt que vous susciterez auprès de vos visiteurs. Sous Drupal, les titres des pages affichant des entités de contenu sont gérés automatiquement grâce au champ 'title'. Ce billet va traiter de la gestion des titres des autres types de pages.

Par kgaut
Kevin Gautreau

Drupal 8 - Entité - Champ de base « texte long avec résumé »

Voici comment ajouter un champ texte formaté avec résumé à un type d'entité :

  1. $fields['synospis'] = BaseFieldDefinition::create('text_with_summary')
  2. ->setLabel(t('Synopsis'))
  3. ->setSetting('text_processing', TRUE)
  4. ->setDisplayConfigurable('view', TRUE)
  5. ->setDisplayConfigurable('form', TRUE)
  6. ->setTranslatable(TRUE);

À noter que j'ai maintenant pris l'habitude de ne plus configurer les options d'affichage en mode formulaire et front dans mon type d'entité, mais je le fais directement en backoffice du site.

Voir des exemples d'affichages sur un texte long.

Pages