Просмотр исходного кода

#1559 main.css from all modules are included on all pages

Alex Trofimov 8 лет назад
Родитель
Сommit
19e8719588

+ 3 - 1
inc/classes/BxDolModuleProxy.php

@@ -36,10 +36,12 @@ class BxDolModuleProxy
                     }
                 }
             }
+            
+            $oModule = ('module_template' == $this->_sObjectType ? $this->_oProxifiedObject->getModule() : null);
 
             // make it possible to override the call or arguments
             $res = null;
-            bx_alert($this->_sObjectType . '_method_call', $sMethodName, 0, 0, array('module' => $this->_oProxifiedObject->getModule(), 'args' => &$aArguments, 'override_result' => &$res));
+            bx_alert($this->_sObjectType . '_method_call', $sMethodName, 0, 0, array('module' => $oModule, 'args' => &$aArguments, 'override_result' => &$res));
             if (null !== $res)
                 return $res;
 

+ 10 - 0
inc/classes/BxDolModuleTemplate.php

@@ -12,6 +12,7 @@ class BxDolModuleTemplate extends BxDolTemplate
     protected $_oDb;
     protected $_oConfig;
     protected $_bObStarted = 0;
+    protected $_oModule;
 
     /*
      * Constructor.
@@ -31,6 +32,15 @@ class BxDolModuleTemplate extends BxDolTemplate
         $this->addLocationJs($sName, $sHomePath . 'js/', $sHomeUrl . 'js/');
     }
 
+    public function getModule()
+    {
+        if (!$this->_oModule) {
+            $sName = $this->_oConfig->getName();
+            $this->_oModule = BxDolModule::getInstance($sName);
+        }
+        return $this->_oModule;
+    }
+    
     /**
      * Initialize module template engine.
      * Note. The method is executed with the system, you shouldn't execute it in your subclasses.

+ 1 - 11
modules/base/general/classes/BxBaseModGeneralTemplate.php

@@ -15,8 +15,7 @@
 class BxBaseModGeneralTemplate extends BxDolModuleTemplate
 {
     protected $MODULE;
-    protected $_oModule;
-
+    
     public $aMethodsToCallAddJsCss = array('entry', 'unit');
 
     function __construct(&$oConfig, &$oDb)
@@ -24,15 +23,6 @@ class BxBaseModGeneralTemplate extends BxDolModuleTemplate
         parent::__construct($oConfig, $oDb);
     }
 
-    public function getModule()
-    {
-        if (!$this->_oModule) {
-            $sName = $this->_oConfig->getName();
-            $this->_oModule = BxDolModule::getInstance($sName);
-        }
-        return $this->_oModule;
-    }
-
 	public function getJsCode($sType, $aParams = array(), $mixedWrap = true)
     {
         $sMask = "{var} {object} = new {class}({params});";