Accueil du site > Wiki > osCSS 2.xxx > Developpeurs > Les modules > Les modules de type products

Les modules de type products

samedi 17 juillet 2010, par oscim

Les modules de type products, sont a priori les plus courant ; il sont la base de l’évolution du moteur et permettent d’intégrer de manière simple des fonctionnalités au produits. Ils sont composés de class contenu dans le dossier modules/products/ Ils se structurent autour de 2 class l’une pour le back, l’autre pour le front.

Il sont dans la gamme des modules ACA les plus complexes, compte tenu que leurs activation est dépendantes de plusieurs paramètres.

Règle d’activation

Une fois activer dans la gestion des modules, les modules produits peuvent ne pas être visible dans le core. Un paramètre complète celui de l’activation et intervient sur le type auquel ce module est dédié.

C.a.d. , qu’il est possible de définir à la conception d’un module, qu’il ne s’adresse qu’au module de type produit logiciel/virtuel par exemple. Dans ce cas lors de l’édition d’un produit physique ce module sera désactivé.

héritage et dépendance

Les modules produits sont structuré autour d’un ou plusieurs interface, en fonction de leur spécificité. Les interfaces du back ne sont pas accessible dans le front. Par contre ceux du front sont accessible dans les 2 core.

L’interface minimum et celui de InterfaceModule

exemple de declaration

class desc_base
        implements InterfaceModule{
        ....
}

Le constructeur

Le constructeur ce doit de contenir les définitions suivante :

  public function __construct() {
    $this->code = __CLASS__;
    $this->title = __('Description xxx ');
    $this->description = __('Description xxxx');
    $this->sort_order = (defined('MODULE_ACAPRO_xx_SORT_ORDER'))?MODULE_ACAPRO_xx_SORT_ORDER : 0;
    $this->enabled = true;
    $this->flag_type_virtual = 0;
...
  }

Si le flag_type_virtual est omis, alors il sera considérer comme 1.

Les types de produit sont définis dans la table des statues.

  • 1 :: produits physique
  • 2 et plus :: produits virtuel

Les méthodes utilisé

Les méthodes appelé dans les modules sont de 2 types, les méthodes obligatoires, et les méthodes optionnelles

Méthodes obligatoires

  • load_db_values
  • display_edit
  • check
  • install
  • remove
  • keys

Méthodes optionnelles

  • insert_table_products_description
  • update_table_products_description
  • after_update
  • load_post_values
  • check_action
  • duplicate_product
  • ...