Ejemplo n.º 1
0
        if ($arResult['ENABLE_DISCOUNT']) {
            $dataTabs = 'sale';
            $additionalClasses = " crm-items-list-sale";
        }
    }
}
// Product properties
$arPropUserTypeList =& $arResult['PRODUCT_PROPS_USER_TYPES'];
$visibleFields = is_array($arResult['PRODUCT_CREATE_DLG_VISIBLE_FIELDS']) ? $arResult['PRODUCT_CREATE_DLG_VISIBLE_FIELDS'] : array();
$bMultipleListType = false;
foreach ($arResult['PRODUCT_PROPS'] as $propID => $arProp) {
    if (isset($arProp['USER_TYPE']) && !empty($arProp['USER_TYPE']) && !array_key_exists($arProp['USER_TYPE'], $arPropUserTypeList)) {
        continue;
    }
    $bMultipleListType = $arProp['PROPERTY_TYPE'] === 'L' && $arProp['MULTIPLE'] === 'Y' && empty($arProp['USER_TYPE']);
    $skip = !CCrmProductHelper::IsFieldVisible($bMultipleListType ? $propID . '[]' : $propID, $visibleFields);
    $defaultValue = array('n0' => array('VALUE' => $arProp['DEFAULT_VALUE'], 'DESCRIPTION' => ''));
    if ($arProp['MULTIPLE'] == 'Y') {
        if (is_array($arProp['DEFAULT_VALUE']) || strlen($arProp['DEFAULT_VALUE'])) {
            $defaultValue['n1'] = array('VALUE' => '', 'DESCRIPTION' => '');
        }
    }
    if (isset($arProp['USER_TYPE']) && !empty($arProp['USER_TYPE']) && is_array($arPropUserTypeList[$arProp['USER_TYPE']]) && $arProp['MULTIPLE'] == 'Y' && array_key_exists('GetPublicEditHTMLMulty', $arPropUserTypeList[$arProp['USER_TYPE']])) {
        $html = call_user_func_array($arPropUserTypeList[$arProp['USER_TYPE']]['GetPublicEditHTMLMulty'], array($arProp, $defaultValue, array('VALUE' => $propID, 'DESCRIPTION' => '', 'FORM_NAME' => $arResult['PRODUCT_CREATE_DLG_SETTINGS']['formId'], 'MODE' => 'FORM_FILL')));
        $arResult['PRODUCT_CREATE_DLG_SETTINGS']['messages'][$propID] = $arProp['NAME'];
        $arResult['PRODUCT_CREATE_DLG_SETTINGS']['fields'][] = array('textCode' => $propID, 'type' => 'custom', 'value' => $html, 'skip' => $skip ? 'Y' : 'N', 'required' => $arProp['IS_REQUIRED'] == 'Y' ? 'Y' : 'N');
    } else {
        if (isset($arProp['USER_TYPE']) && !empty($arProp['USER_TYPE']) && is_array($arPropUserTypeList[$arProp['USER_TYPE']]) && array_key_exists('GetPublicEditHTML', $arPropUserTypeList[$arProp['USER_TYPE']])) {
            if ($arProp['MULTIPLE'] == 'Y') {
                $html = '<table id="tbl' . $propID . '">';
                foreach ($defaultValue as $key => $value) {
Ejemplo n.º 2
0
}
unset($arFields, $fieldID, $obFile, $obFileControl, $html, $fieldValue);
$visibleFields = array();
$productFormOptions = CUserOptions::GetOption('main.interface.form', 'CRM_PRODUCT_EDIT', array());
if (is_array($productFormOptions) && is_array($productFormOptions['tabs']) && count($productFormOptions['tabs']) && (!isset($productFormOptions['settings_disabled']) || $productFormOptions['settings_disabled'] !== 'Y')) {
    $tabFound = false;
    $tab = null;
    foreach ($productFormOptions['tabs'] as $tab) {
        if (isset($tab['id']) && $tab['id'] === 'tab_1') {
            $tabFound = true;
            break;
        }
    }
    if ($tabFound) {
        if (is_array($tab) && is_array($tab['fields'])) {
            foreach ($tab['fields'] as $field) {
                if (isset($field['type']) && isset($field['id']) && $field['type'] !== 'section') {
                    $visibleFields[] = $field['id'];
                }
            }
        }
    }
}
$arResult['PRODUCT_CREATE_DLG_VISIBLE_FIELDS'] = $visibleFields;
unset($productFormOptions);
$arResult['PRODUCT_CREATE_DLG_SETTINGS'] = array('formId' => 'crm_product_create_dialog_form', 'url' => CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_PRODUCT_EDIT'], array('product_id' => 0)), 'sessid' => bitrix_sessid(), 'messages' => array('dialogTitle' => GetMessage('CRM_PRODUCT_CREATE'), 'waitMessage' => GetMessage('CRM_PRODUCT_CREATE_WAIT'), 'ajaxError' => GetMessage('CRM_PRODUCT_CREATE_AJAX_ERR'), 'buttonCreateTitle' => GetMessage('CRM_BUTTON_CREATE_TITLE'), 'buttonCancelTitle' => GetMessage('CRM_BUTTON_CANCEL_TITLE'), 'NAME' => GetMessage('CRM_FIELD_PRODUCT_NAME'), 'DESCRIPTION' => GetMessage('CRM_FIELD_DESCRIPTION'), 'ACTIVE' => GetMessage('CRM_FIELD_ACTIVE'), 'CURRENCY' => GetMessage('CRM_FIELD_CURRENCY'), 'PRICE' => GetMessage('CRM_FIELD_PRICE'), 'MEASURE' => GetMessage('CRM_FIELD_MEASURE'), 'VAT_ID' => GetMessage('CRM_FIELD_VAT_ID'), 'VAT_INCLUDED' => GetMessage('CRM_FIELD_VAT_INCLUDED'), 'SECTION' => GetMessage('CRM_FIELD_SECTION'), 'SORT' => GetMessage('CRM_FIELD_SORT'), 'PREVIEW_PICTURE' => GetMessage('CRM_PRODUCT_FIELD_PREVIEW_PICTURE'), 'DETAIL_PICTURE' => GetMessage('CRM_PRODUCT_FIELD_DETAIL_PICTURE')), 'fields' => array(array('textCode' => 'NAME', 'type' => 'text', 'maxLength' => 255, 'value' => '', 'skip' => 'N', 'required' => 'Y'), array('textCode' => 'DESCRIPTION', 'type' => 'textarea', 'maxLength' => 7500, 'value' => '', 'skip' => !CCrmProductHelper::IsFieldVisible('DESCRIPTION', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'ACTIVE', 'type' => 'checkbox', 'value' => 'Y', 'skip' => 'Y'), array('textCode' => 'CURRENCY', 'type' => 'select', 'value' => CCrmCurrency::GetBaseCurrencyID(), 'items' => CCrmViewHelper::prepareSelectItemsForJS(CCrmCurrencyHelper::PrepareListItems()), 'skip' => !CCrmProductHelper::IsFieldVisible('CURRENCY', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'PRICE', 'type' => 'text', 'maxLength' => 21, 'value' => '0.00', 'skip' => !CCrmProductHelper::IsFieldVisible('PRICE', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'MEASURE', 'type' => 'select', 'value' => '', 'items' => CCrmViewHelper::prepareSelectItemsForJS($measureListItems), 'skip' => !CCrmProductHelper::IsFieldVisible('MEASURE', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'VAT_ID', 'type' => 'select', 'value' => '', 'items' => $arResult['ALLOW_TAX'] ? CCrmViewHelper::prepareSelectItemsForJS(CCrmVat::GetVatRatesListItems()) : null, 'skip' => $arResult['ALLOW_TAX'] ? !CCrmProductHelper::IsFieldVisible('VAT_ID', $visibleFields) ? 'Y' : 'N' : 'Y'), array('textCode' => 'VAT_INCLUDED', 'type' => 'checkbox', 'value' => 'N', 'skip' => $arResult['ALLOW_TAX'] ? !CCrmProductHelper::IsFieldVisible('VAT_INCLUDED', $visibleFields) ? 'Y' : 'N' : 'Y'), array('textCode' => 'SECTION', 'type' => 'select', 'value' => '0', 'items' => CCrmViewHelper::prepareSelectItemsForJS(CCrmProductHelper::PrepareSectionListItems(CCrmCatalog::EnsureDefaultExists())), 'skip' => !CCrmProductHelper::IsFieldVisible('SECTION', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'SORT', 'type' => 'text', 'maxLength' => 11, 'value' => 100, 'skip' => 'Y'), array('textCode' => 'PREVIEW_PICTURE', 'type' => 'custom', 'value' => $htmlPreviewPictureValue, 'skip' => !CCrmProductHelper::IsFieldVisible('PREVIEW_PICTURE', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'DETAIL_PICTURE', 'type' => 'custom', 'value' => $htmlDetailPictureValue, 'skip' => !CCrmProductHelper::IsFieldVisible('DETAIL_PICTURE', $visibleFields) ? 'Y' : 'N')), "ownerCurrencyId" => $currencyID);
unset($visibleFields);
$arResult['PRODUCT_PROPS_USER_TYPES'] = $arPropUserTypeList;
$arResult['PRODUCT_PROPS'] = $arProps;
/** @var CBitrixComponent $this */
$this->IncludeComponentTemplate();