Quick POS

  1. Accueil
  2. Docs
  3. Quick POS
  4. Développement de modules
  5. Développement de modules

Développement de modules

QuickPOS utilise le package Laravel-Module pour le développement de modules. Ainsi, toutes les commandes fournies par ce package seront utilisées pour le développement.

Module de création :

Pour créer un module, suivez les commandes données ici

Supposons que vous ayez créé un module appelé : Super-héros

Fichier de configuration :

Dans les nouveaux modules que vous avez créés, ouvrez le fichier de configuration.

Super-héros/Config/config.php

Ajoutez 2 configurations ici :

  • Nom
  • module_version

Alors il sera:

return [
‘name’ => ‘Superhero’,
‘module_version’ => “1.0”
];

Contrôleur de données :

  1. Créez un contrôleur avec le nom « DataController ».
  2. DataController agit en tant que contrôleur principal pour interagir avec le POS.
  3. Il aide à de nombreuses fins différentes, comme décrit dans la section suivante.

Ajout d’une nouvelle autorisation liée aux modules :

  1. Ajoutez la fonction user_permissions () dans le DataController qui renvoie un tableau multidimensionnel contenant des tableaux de toutes les autorisations de module avec la clé “value”, “label”, “default”
    où value (string) est le nom de l’autorisation, label (string) est l’étiquette de l’autorisation, et par défaut (booléen) est l’état par défaut coché ou non de l’autorisation sur l’écran d’ajout de règle
    Exemple :[ [ ‘value’ => ‘superhero.create’, ‘label’ => __(‘superhero ::lang.add’), ‘default’ => false ], [ ‘value’ => ‘superhero.update’, ‘label’ => __(‘superhero::lang.edit’), ‘default’ => faux ] ];
  2. Ajouter des migrations pour créer les autorisations dans le module

Ajout de menu à partir de modules :

  1. Créez une fonction modifyAdminMenu dans DataController qui renvoie le menu dans ce format :Copier dans le presse-papier1Menu::modify(‘admin-sidebar-menu’, function ( $menu ) { $menu – >dropdown(“Label”, function ( $sub ) { $sub – >url( action(‘AnyController@index’), “Label”, [‘icon’ = > ‘fa fa-list’, ‘active’ = > “conditions pour rendre le menu actif”)] ); } ) });
  2. Ajoutez un middleware « AdminSidebarMenu » dans les routes.

Ajout de nouveaux modules de taxonomie ou de catégorie :

  1. Définissez une fonction addTaxonomies() dans le DataController qui renvoie un tableau dans ce format :

Copier dans le presse-papier1

return [ 'hrm_department' = > [ 'heading' = > __('superhero::lang.departments'), 'sub_heading' = > __('superhero::lang.manage_departments'), 'enable_taxonomy_code' = > true , ' taxonomy_code_label' = > __('superhero::lang.department_id'), 'taxonomy_code_help_text' = > __('superhero::lang.department_code_help'), 'enable_sub_taxonomy' = > false ] ];

2. Ajoutez la taxonomie au menu avec le type de taxonomie de paramètre d’URL comme type, exemple :Copier dans le presse-papier1

$sub - >url( action('TaxonomyController@index') . ' ?type = hrm_department', __('superhero::lang.departments'), ['icon' = > 'fa fa-tags', 'active' = > request()->get('type') == 'hrm_department'] );

Notifications d’analyse relatives aux modules :

  1. Définissez une fonction parse_notification($notification) dans le DataController qui a une instance de notification comme argument
  2. Vérifiez le type de notification et renvoyez les données de notification formatées sous forme de tableau. Par exemple:Copier dans le presse-papier1if ( $notification – >type == ‘Modules\Superhero\Notifications\DocumentShareNotification’) { $notification_data = [ ‘msg’ = > “Un document a été partagé”, ‘icon_class’ = > ‘fa fa-envelope-open’ , ‘link’ = > action(‘\Modules\Superhero\Http\Controllers\DocumentController@index’), ‘read_at’ = > $notification – >read_at, ‘created_at’ = > $notification – >created_at->diffForHumans() ] ; }

REMARQUE :  Pour afficher une notification, vous devez enregistrer la notification dans la base de données à l’aide de la méthode toDatabase () dans la classe Notification.

Cet article vous a-t-il été utile ? Oui 1 Non

Comment pouvons-nous aider ?