B0Bka / box

0 stars 0 forks source link

ajax кнопка в адмінці + проставка свойства #6

Open B0Bka opened 7 years ago

B0Bka commented 7 years ago

Ініт AddEventHandler('main', 'OnAdminContextMenuShow', 'OrderDetailAdminContextMenuShow'); function OrderDetailAdminContextMenuShow(&$items) { if (($_SERVER['REQUEST_METHOD']=='GET' && $GLOBALS['APPLICATION']->GetCurPage()=='/bitrix/admin/cat_product_edit.php' && $_REQUEST['ID']>0 ) || ($_SERVER['REQUEST_METHOD']=='GET' && $GLOBALS['APPLICATION']->GetCurPage()=='/bitrix/admin/iblock_element_edit.php' && $_REQUEST['ID']>0 && $_REQUEST['IBLOCK_ID'] == 54 )) { $items[] = array("TEXT"=>"Прописать цветные товары", "LINK"=>"javascript:button('".$_REQUEST['ID']."', '".$_REQUEST['IBLOCK_ID']."');"); \CJSCore::RegisterExt('_button', array( 'js' => '/local/admin/admin.js' , )); \CJSCore::Init(array('jquery', '_button')); } }

js function button(id, ib) { var maxbitDialogAddImg = new BX.CDialog({ title: 'Заполнение вариантов цвета', content_url: '/local/admin/color.php', content_post: 'ajax=yes&window=openWindow&ID=' + id + '&IB=' + ib, width:400, min_width:400, height:200, min_height:200, buttons: [ BX.CDialog.prototype.btnClose ] }); maxbitDialogAddImg.Show(); }

php `<? require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_before.php'); if (isset($_REQUEST['ID']) && intval($_REQUEST['ID'])>0 && isset($_REQUEST['IB']) && intval($_REQUEST['IB'])>0){ $iblock = $_REQUEST['IB']; $ELEMENT_ID = (int)$_REQUEST['ID'];

$prop_org_photo_code = 'RECOMMEND';
$prop_org_photo_code_VALUE = 'PROPERTY_'.$prop_org_photo_code.'_VALUE';
if(CModule::IncludeModule("iblock"))
{ 
    $arSelect = Array("ID", "NAME","PROPERTY_".$prop_org_photo_code); 
    $arFilter = Array("IBLOCK_ID"=>$iblock, "ID"=>$ELEMENT_ID );
    $res = CIBlockElement::GetList(Array(), $arFilter, false,  false, $arSelect);
     while($ob = $res->GetNext())
     {
        $ar_ob =$ob[$prop_org_photo_code_VALUE];
     };
    if (is_array($ar_ob) && count($ar_ob)>0){

        foreach($ar_ob as $key => $ph)
        {
            $ar_ob_elem = array();
            $ar_ob_elem = $ar_ob;
            $ar_ob_elem [$ELEMENT_ID]= $ELEMENT_ID;
            unset($ar_ob_elem[$ph]);
            if(($key = array_search($ph, $ar_ob_elem)) !== false) {
                unset($ar_ob_elem[$key]);
            }
            $file =  CIBlockElement::SetPropertyValueCode($ph, $prop_org_photo_code,$ar_ob_elem);
        } 
    }        
}     

if (isset($file) && $file == 1){
  echo "Цвета проставленны успешно.";
}else{
  echo "При установки цветов вознилки проблемы.";
}  

}

?>`