Forráskód Böngészése

Ticket #4148 - Build-in API support: Snippet meta in Text based modules.

AntonLV 3 éve
szülő
commit
ea574c9459

+ 6 - 3
modules/base/general/classes/BxBaseModGeneralMenuSnippetMeta.php

@@ -207,7 +207,7 @@ class BxBaseModGeneralMenuSnippetMeta extends BxTemplMenuUnitMeta
             $aObjectOptions = array_merge($aObjectOptions, $aParams['object_options']);
 
         if($this->_bIsApi)
-            return $oObject->getElementApi($aObjectOptions);
+            return $this->_getMenuItemElementAPI($aItem, $oObject->getElementApi($aObjectOptions));
 
         return $this->getUnitMetaItemCustom($oObject->getElementInline($aObjectOptions));
     }
@@ -286,7 +286,10 @@ class BxBaseModGeneralMenuSnippetMeta extends BxTemplMenuUnitMeta
             $aObjectOptions = array_merge($aObjectOptions, $aParams['object_options']);
 
         if($this->_bIsApi)
-            return $oObject->getElementApi($aObjectOptions);
+            return $this->_getMenuItemElementAPI([
+                'id' => $aItem['id'],
+                'name' => 'scores',
+            ], $oObject->getElementApi($aObjectOptions));
 
         return $this->getUnitMetaItemCustom($oObject->getElementInline($aObjectOptions));
     }
@@ -339,7 +342,7 @@ class BxBaseModGeneralMenuSnippetMeta extends BxTemplMenuUnitMeta
             $aObjectOptions = array_merge($aObjectOptions, $aParams['object_options']);
 
         if($this->_bIsApi)
-            return $oObject->getElementApi($aObjectOptions);
+            return $this->_getMenuItemElementAPI($aItem, $oObject->getElementApi($aObjectOptions));
 
         return $this->getUnitMetaItemCustom($oObject->getElementInline($aObjectOptions));
     }

+ 10 - 0
template/scripts/BxBaseMenuUnitMeta.php

@@ -231,6 +231,16 @@ class BxBaseMenuUnitMeta extends BxTemplMenuCustom
         return $aItemData;
     }
 
+    protected function _getMenuItemElementAPI($aItem, $aElement)
+    {
+        return [
+            'id' => $aItem['id'],
+            'name' => $aItem['name'],
+            'display_type' => 'element',
+            'data' => $aElement
+        ];
+    }
+
     protected function _buttonsCounterReset()
     {
         if($this->_iButtonsMax === false)