Étiquette : admin

[Magento 2] Pour créer un attribut produit custom depuis l’interface d’administration

Pour afficher votre nouvel attribut dans un PHTML

Création d’un nouvel attribut:

* BOUTIQUES > Attributs > Produit
* Bouton orange « Ajouter un attribut » (au-dessus du tableau, tout à droite)
* Section « Propriétés de l’attribut »:
* Champ « Libellé par défaut »: mettre « new offer »
* Champ « Type d’entrée catalogue pour le propriétaire de la boutique »: mettre « Yes/No »
* Champ « Valeurs requises »: mettre « Non »
* Bouton orange « Enregistrer l’attribut » (en-haut à droite)

Après enregistrement du nouvel attribut, nous sommes redirigés sur la page qui liste l’ensemble des attributs disponibles.

* Pour retrouver notre nouvel attribut, dans la colonne « Libellé par défaut », renseigner le champ placé immédiatement sous l’en-tête avec le mot-clé « new » et taper la touche Entrée. Le nouvel attribut (« new offer ») est, normalement, dans le résultat du filtrage que nous venos d’effectuer.
* Pour l’éditer, cliquer sur la ligne correspondant à l’attribut « new offer »
* Bloc « INFORMATIONS ATTRIBUTS » en colonne de gauche > cliquer sur « Propriétés du front office »
* Section « Propriétés du front office » (colonne principale):
* Champ « Utiliser dans les listes produits »: mettre « Oui »
* Bouton orange « Enregistrer l’attribut » (en-haut à droite)

Après édition du nouvel attribut, il faut l’ajouter au jeu d’attributs des produits de type « Abonnement ».

* BOUTIQUES > Attributs > Jeu d’attributs
* Dans la liste, cliquer sur « Abonnements »
* Dans la colonne du milieu « Groupes », scroller vers la bas jusqu’à apparition du dossier « Attributes »
* Puis effectuer un glisser-déposer de l’attribut non assigné « new_offer » (colonne de droite « Attributs non assignés ») vers le groupe d’attributs « Attributes » (colonne du milieu « Groupes »)
* ATTENTION: l’attribut « new_offer » doit bien se trouver listé parmi les attributs du dossier « Attributes ». Pour ne pas se tromper, on peut le glisser sous l’attribut existant « best_offer »
* Bouton orange « Enregistrer » (en-haut à droite)

Assignation de l’attribut à un produit:

* CATALOGUE > Produits
* Choisir un produit Abonnement à éditer (colonne « Action », cliquer sur « Modifier »)
* Scroller jusqu’au volet « Attributs » et cliquer dessus pour l’ouvrir
* Passer le champ « new offer » à « Oui »
* Bouton orange « Enregistrer » (en-haut à droite)
* Ne pas oublier de vider les caches

[Magento 2] Créer un compte administrateur à la main

  • Aller dans la table admin_user et supprimer tous les comptes admin dont vous n’avez pas l’usage
  • Exécuter la commande: $ n98-magerun2 admin:user:create et répondre aux questions posées
  • Aller dans la table admin_passwords. Le mot de passe du compte que nous venos de créer via la ligne de commande va expirer rapidement. Pour éviter cela, localiser la ligne relative à ce compte et la supprimer.

[Magento 2] Ajouter des paramètres de configuration des thèmes de la table core_config_data au fichier config.php

Dans le cas d’un site qui dispose de plusieurs store views (un Magento 2 multi-sites) la commande app:config:dump ne réalise pas un dump complet de la configuration faite en Admin de l’ensemble de vos sites. Le fichier config.php généré ne contient que les informations du scope Default Config (mon exemple ci-dessous):

La valeur de la clé theme_color est pourtant redéfinie pour chacun de mes store view!

Nous pouvons compléter ce fichier config.php à la main en allant récupérer les informations manquantes en base de données, dans la table core_config_data.

Dans l’illustration ci-dessus, j’ai par exemple effectué une recherche sur une valeur de la clé theme_color (qui représente un champ en BO) qui n’a pas été dumpée via la commande app:config:dump.

Pour répercuter ces informations dans le fichier app/etc/config.php, je me suis servi du scope (stores) et du path (themecore/general/primary_color/theme_color) stockés dans la table pour reconstituer le chemin au bon endroit:

[Magento 2] Résolution des messages d’erreur en frontoffice, en admin et en bash

[Magento 2] Résolution des messages d’erreur en frontoffice

Votre site ne s’affiche pas car vous avez l’erreur suivante:

Exception #0 (Magento\Framework\Exception\RuntimeException): Type Error occurred when creating object: Sodifrance\Topmenu\Block\Html\Topmenu\Interceptor

Vider le dossier generated car le constructeur a changé (vous avez créé ou modifié un fichier di.xml?).

[Magento 2] Créer un Source Model custom

A Source Model serves to insert values into certain fields like dropdowns, checkboxes, multiselects, radios in the system configuration Magento admin. So not all fields can have a Source Model. Some of the default Source Models are listed below and are located under the /vendor/magento/module-config/Model/Config/Source/ folder :

  • Magento\Config\Model\Config\Source\Locale → Locale options
  • Magento\Config\Model\Config\Source\Enabledisable → Enable / Disable options
  • Magento\Config\Model\Config\Source\Nooptreq → No / Optional / Required options
  • Magento\Config\Model\Config\Source\Store → Store options
  • Magento\Config\Model\Config\Source\Website → Website options
  • Magento\Config\Model\Config\Source\Yesno → Yes / No options
  • Magento\Config\Model\Config\Source\Yesno → Yes / No / Specified options
  • Magento\Config\Model\Config\Source\Locale\Country → Country options
  • Magento\Config\Model\Config\Source\Locale\Currency → Currency options
  • Magento\Config\Model\Config\Source\Locale\Timezone → Timezone options
  • Magento\Config\Model\Config\Source\Locale\Weekdaycodes → Week Day Codes options
  • Magento\Config\Model\Config\Source\Locale\Weekdays → Week Days options
  • Magento\Config\Model\Config\Source\Email\Template → Email Template options

Sources:

Avant propos: si vous n’avez pas encore créé de module pour y consigner les spécificités liées à votre projet, il faut en créer un avant de faire ce qui va suivre.

app/code/Vendor/Module/Model/Config/Source/NoPageLayoutUpdate.php

app/code/Vendor/Module/etc/system.xml hérité de app/code/MGS/ThemeSettings/etc/system.xml (les 2 fichiers seront mergés) :

app/code/Vendor/Module/etc/adminhtml/system.xml hérité de app/code/MGS/ThemeSettings/etc/adminhtml/system.xml (les 2 fichiers seront mergés) :

On compile le setup: