Goz'Log


Quand on n'a pas de tête, on a un blog !

Ajouter un formulaire à une entité existante

Problématique

Dans notre Drupal, nous avons une entité composée de plusieurs champs mais ne souhaitons pas qu'ils soient tous renseignés via le même formulaire ? 2 solutions s'offrent à nous :

La première est de créer notre controller, créer notre formulaire et gérer le chargement et l'enregistrement des données.
La seconde est d'altérer la définition de l'entité pour rajouter notre formulaire.

Avis sur les Chaussures de moto Gaerne Voyager Gore-tex après 2 ans

Cela fait longtemps que je pense à faire un retour d'expérience sur ces chaussures. Je profite donc de leur date d'anniversaire pour me lancer.

Mon utilisation

J'utilise la moto tous les jours pour des trajets le plus souvent d'une vingtaine de kilomètres avec un peu de voie rapide, un peu de route et de ville.

Bien sûr, dès que j'en ai l'occasion, je pousse un peu plus lors de soirs, week-ends, vacances. Mon maximum : Le Monténégro en passant par la Croatie. Magique. Mais ce n'est pas le but de cet article.

Importer du contenu à l'installation dans un Drupal 8

Lorsque vous travaillez à plusieurs et souhaitez disposer chacun du même contenu, ou avoir du contenu créé automatiquement sur vos différents environnements, il existe peu de modules pour cela.

Solution la plus utilisée: Default content.

Ce module permet d'exporter un contenu en fichier json qui sera placé dans un module.

**Avantages:**

Importe du contenu à l'installation du module
Gère les références à d'autres contenus

**Inconvénients:**

Installer un Drupal multilingue depuis la configuration

Depuis que nous n'avons plus besoin de features pour gérer la configuration et depuis que nous pouvons gérer cette configuration via les fichiers yaml dans un répertoire de configuration, il est beaucoup plus facile de maintenir une configuration entre différents environnements. Depuis quelques temps, il est possible d'installer sans module supplémentaire un Drupal en se basant sur une configuration existante.

Drupal Commerce 2.x - Adjustments: L'ajustement de prix

Avec Drupal Commerce 2.x arrive une nouvelle notion: les Adjustments.

Qu'est ce que l'adjustment ?

L'adjustment, ou ajustement en français, permet de modifier le montant d'une ligne de commande ou d'une commande, que ce soit en le diminuant ou en l'augmentant.

Deux exemples d'ajustements tarifaire intégrés au fonctionnement du core:

* La taxe (TVA): La taxe augmentera le montant de la ligne de commande suivant le taux de TVA applicable au produit.
* Une promotion: Le montant de la ligne de commande ou de la commande diminuera de la promotion souhaitée.

Drupal Commerce 2.x - Rendre un prix dynamique ou calculé via un service tiers

Dans le cas d'un commerce BtoB ou métier, les règles de prix sont souvent plus compliquées qu'un simple prix par produit. Dans ce cas, deux choix possibles:

* Le métier est dans un outil (CRM ou autre) externe.
* Le métier et donc la règle de calcul doit être gérée par le site.

Dans les 2 cas, Drupal Commerce 2.x offre les mécanismes pour facilement intégrer ces règles métier pour définir le prix unitaire de notre produit.

Récupérer le nom de la table d'un champ

Avec Drupal 8, non seulement nous avons de nouveau un champ propre à chaque type d'entité, mais en plus dans le cas où le nom du champ dépasse un certain nombre de caractères, son nom de table est composé d'un hash.

Dans le cas où l'on aurait besoin d'accéder directement à cette table, voici un morceau de code qui permet de retrouver dynamiquement le nom de la table.

$field_storage = $this->entityTypeManager->getStorage('my_entity');
$table_name = $field_storage->getTableMapping()->getFieldTableName('field_to_find');