User Tools

Site Tools


koding:hostcms:shop:propvaluemodlikeitem

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

koding:hostcms:shop:propvaluemodlikeitem [06.05.15 в 18:38]
Артем Куц создано
— (current)
Line 1: Line 1:
-<​code><?​php 
  
- ​defined('​HOSTCMS'​) || exit('​HostCMS:​ access denied.'​);​ 
- 
-/** 
- * observer. 
- * @author Kozub Boris, KAD Systems (©) 2014 
-  
- ​Core_Event::​attach('​Informationsystem_Item_Controller_Edit.onBeforeExecute',​ array('​Informationsystem_Item_Controller_Observer',​ '​onBeforeExecute'​));​ 
-  
- */ 
- 
- class Kad_Shop_Item_Observers_Propvaluemodlikeitem 
- { 
- // Добавление чекбокса окну редактирования Shop Item 
- static public function onBeforeExecute($object,​ $operation) 
-    { 
- $_object = $object->​getObject();​ 
- $modelName = $_object->​getModelName();​ 
- if($modelName == '​shop_item'​) 
- { 
- if($_object->​modification_id == 0) 
- { 
- $modelName = $_object->​getModelName();​ 
-  
- $oMainTab = $object->​getTab('​main'​);​ 
- 
- $oField = Core::​factory('​Admin_Form_Entity_Checkbox'​) 
- ->​name('​modproperties'​) 
- ->​caption("​Применить дополнительные свойства для модификаций"​) 
- ->​checked(true) 
- ; 
- $oSeparatorField = new Admin_Form_Entity_Separator();​ 
- $oMainTab->​addAfter($oField,​ $oMainTab->​getField('​price'​));​ 
- $oMainTab->​addAfter($oSeparatorField,​ $oMainTab->​getField('​price'​));​ 
- } 
- } 
- } 
- // Добавление доп. свойств основного товара к его модификациям если чекбокс чекнут 
- static public function onAfterApplyObjectProperty($object,​ $operation) 
-    {  
- // Массив с ID доп. свойств,​ которые нужно добавить для модификаций товара 
- $aPropertiesId = array(67, 68, 154, 172); 
- if(Core_Array::​getPost('​modproperties'​)) 
- { 
- foreach($aPropertiesId as $propertyId) 
- { 
- //echo $propertyId . "<​br/>";​ 
- $_object = $object->​getObject();​ 
- $oProperty = Kad_Property::​getValue($_object,​ $propertyId);​  
- if($oProperty) 
- { 
- $aoMods = Core_Entity::​factory('​Shop_Item'​)->​getAllByModification_Id($_object->​id);​ 
- foreach($aoMods as $oMod) 
- { 
- //​echo $oProperty->​value . "<​br/>";​ 
- $oModProperty = Kad_Property::​setValue($oMod,​ $propertyId,​ $oProperty->​value);​ 
- } 
- } 
- } 
- } 
- } 
-}</​code>​ 
koding/hostcms/shop/propvaluemodlikeitem.1430926732.txt.gz · Last modified: 26.06.15 в 15:07 (external edit)