Extensions and Widgets Creation

From osCommerce Wiki
Revision as of 21:50, 16 November 2021 by Admin (talk | contribs) (Created page with "'''Basic Provisions:''' # 1. All extensions must be placed in separate folder. # 2. The class file name must be the same as the folder name. # 3. Templates must be placed in f...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Basic Provisions:

  1. 1. All extensions must be placed in separate folder.
  2. 2. The class file name must be the same as the folder name.
  3. 3. Templates must be placed in folder 'views'.

//additional if you want to use widgets in extensions 1. Add method getWidgets with $type parameter and describe widgets in array example: return [

           [
               'name' => 'CustomerLoyalty\ShoppingCart', 'title' => 'Customer Loyalty Info Box', 'description' => , 'type' => 'cart',
           ],
       ];

in this case ShoppingCart (in subfolder \ShoppingCart) is widget ( ShoppingCart.php) can be used in customizing Themes 2. to show additional settings for widget use method showSettings example:

   public static function showSettings($settings){
       return self::begin()->render('settings.tpl', ['settings' => $settings]);
   }

extension installer: 1) extends \common\classes\modules\ModuleExtensions 2) install (example)

   public function install($platform_id){
       parent::install($platform_id);// install in liek other modules
       // install extention envirenment
       $migration = new \common\classes\Migration;
       $migration->addTranslation(['admin/main'], [
           //add keys
       ]);
       return;
   }

2) ckeck extension enabled - use \common\helpers\Acl::checkExtensionAllowed($extName, 'allowed')

   public static function allowed() {
       return self::enabled();
   }