J'essaie de modifier un module basé sur Joomshopping, une extension de panier d'achat. Le module s'appelle "mod_jshopping_categories". Je souhaite ajouter un champ qui est une liste déroulante des catégories de produits dans la page d'administration du module. Voici ce que j'ai ajouté au fichier .xml:
<field
name="Parent Category"
type="category"
default="0"
label="Parent Category"
description="Put in category"
extension="com_jshopping">
</field>
Cependant, à l'arrière, la liste déroulante est vide. Pour tester, je remplace "com_jshopping" par "com_content", le back-end affiche correctement une liste de catégories d'articles.
Selon le documentation
type (obligatoire) doit être une catégorie.
extension (obligatoire) est le nom de l'extension pour laquelle les catégories seront récupérées. Par exemple, pour répertorier les catégories de contenu, utilisez la valeur 'com_content'.
Cela signifie-t-il qu'il n'y a pas de "catégorie" dans com_jshopping pour le module à récupérer?
Par contre, en tant qu’extension du panier, com_jshopping a des catégories de produits. Alors, comment est-ce que category
est défini par programme?
Dois-je créer un type de champ personnalisé pour récupérer les catégories de com_jshopping?
Joomshopping peut avoir des catégories pour les produits, mais il ne contient pas le tableau/modèle de catégories de base Joomla pour ses catégories. Il a le sien.
Le champ categories est destiné aux catégories principales Joomla, ce qui signifie qu'il renverra les catégories qui existent dans le #__categories
pour le composant/poste sélectionné.
Notez que com_content
n'est pas la seule extension qui utilise les catégories Joomla. Par exemple, com_contact
est une autre extension qui les utilise.
En ce qui concerne les composants tiers, ils peuvent également les utiliser si leur utilisation convient ou utilisent leur propre approche pour créer une fonctionnalité de catégories.
Vous pouvez créer votre propre champ de formulaire personnalisé qui listera les catégories de Joomshopping et l'utilisera dans votre XML
, ou utilisez le champ SQL pour interroger directement la base de données pourrait suffire à vos besoins.
Il est également fort probable que Joomshopping ait déjà son propre type de champ personnalisé "Catégories de Joomshopping" défini quelque part que vous pouvez utiliser.