AntonLV 9 лет назад
Родитель
Сommit
260902a420
2 измененных файлов с 7 добавлено и 5 удалено
  1. 1 1
      inc/classes/BxDolCmts.php
  2. 6 4
      inc/classes/BxDolForm.php

+ 1 - 1
inc/classes/BxDolCmts.php

@@ -1050,7 +1050,7 @@ class BxDolCmts extends BxDolFactory implements iBxDolReplaceable, iBxDolContent
     {
         $sDisplayName = '_sFormDisplay' . ucfirst($sAction);
 
-        return BxDolForm::getObjectInstance($this->_sFormObject, $this->$sDisplayName);
+        return BxDolForm::getObjectInstance($this->_sFormObject, $this->$sDisplayName, false, $this->_sSystem);
     }
 
     protected function _getParams(&$aBp, &$aDp)

+ 6 - 4
inc/classes/BxDolForm.php

@@ -756,10 +756,12 @@ class BxDolForm extends BxDol implements iBxDolReplaceable
      * @param $sObject object name
      * @return object instance or false on error
      */
-    static public function getObjectInstance($sObject, $sDisplayName, $oTemplate = false)
+    static public function getObjectInstance($sObject, $sDisplayName, $oTemplate = false, $sParam = '')
     {
-        if (isset($GLOBALS['bxDolClasses']['BxDolForm!'.$sObject.'!'.$sDisplayName]))
-            return $GLOBALS['bxDolClasses']['BxDolForm!'.$sObject.'!'.$sDisplayName];
+        $sKey = 'BxDolForm!'.$sObject.'!'.$sDisplayName.'!'.$sParam;
+
+        if (isset($GLOBALS['bxDolClasses'][$sKey]))
+            return $GLOBALS['bxDolClasses'][$sKey];
 
         $aObject = BxDolFormQuery::getFormArray($sObject, $sDisplayName);
         if (!$aObject || !is_array($aObject))
@@ -774,7 +776,7 @@ class BxDolForm extends BxDol implements iBxDolReplaceable
 
         $o = new $sClass($aObject, $oTemplate);
 
-        return ($GLOBALS['bxDolClasses']['BxDolForm!'.$sObject.'!'.$sDisplayName] = $o);
+        return ($GLOBALS['bxDolClasses'][$sKey] = $o);
     }
 
     /**