10 Bitrix\Catalog\Helpers\Admin\CatalogEdit,
14require_once(
$_SERVER[
'DOCUMENT_ROOT'].
'/bitrix/modules/main/include/prolog_admin_before.php');
16Loc::loadMessages(__FILE__);
18Loader::includeModule(
'catalog');
19$readOnly = !AccessController::getCurrent()->check(ActionDictionary::ACTION_CATALOG_SETTINGS_ACCESS);
20if (
$readOnly && !AccessController::getCurrent()->check(ActionDictionary::ACTION_CATALOG_READ))
22 ShowError(Loc::getMessage(
'BX_CATALOG_SETTINGS_ACCESS_DENIED'));
26require_once(
$_SERVER[
'DOCUMENT_ROOT'].
'/bitrix/modules/iblock/classes/general/subelement.php');
28$request = Main\Context::getCurrent()->getRequest();
44 'DIV' =>
'iblockCatalogEdit01',
45 'TAB' => Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_EDIT_TAB_NAME_COMMON'),
46 'TITLE' => Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_EDIT_TAB_TITLE_COMMON')
65$vatList =
array(0 => Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_MESS_NOT_SELECT'));
67 'select' =>
array(
'ID',
'NAME',
'SORT'),
68 'order' =>
array(
'SORT' =>
'ASC',
'ID' =>
'ASC')
81 $errors[] = Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_IBLOCK_BAD_SESSION');
100 'DETAILS' => implode(
'<br>',
$errors),
102 'MESSAGE' => Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_ERR_SAVE'),
118$APPLICATION->SetTitle(Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_EDIT_TITLE_EDIT'));
120Main\Page\Asset::getInstance()->addJs(
'/bitrix/js/catalog/iblock_catalog.js');
122require(
$_SERVER[
'DOCUMENT_ROOT'].
'/bitrix/modules/main/include/prolog_admin_after.php');
126 'PRODUCT_IBLOCK_ID' => 0,
127 'SKU_PROPERTY_ID' => 0,
128 'YANDEX_EXPORT' =>
'N',
129 'SUBSCRIPTION' =>
'N',
144if (
$catalog[
'CATALOG_TYPE'] != CCatalogSKU::TYPE_OFFERS)
147 $productList =
array();
148 $iblockIterator = Catalog\CatalogIblockTable::getList(
array(
149 'select' =>
array(
'PRODUCT_IBLOCK_ID'),
150 'filter' =>
array(
'!=PRODUCT_IBLOCK_ID' => 0),
152 while ($product = $iblockIterator->fetch())
154 $product[
'PRODUCT_IBLOCK_ID'] = (int)$product[
'PRODUCT_IBLOCK_ID'];
155 $productList[$product[
'PRODUCT_IBLOCK_ID']] = $product[
'PRODUCT_IBLOCK_ID'];
157 unset($product, $iblockIterator);
158 $iblockIterator = Catalog\CatalogIblockTable::getList(
array(
159 'select' =>
array(
'IBLOCK_ID'),
160 'filter' =>
array(
'!=IBLOCK_ID' =>
$iblockId,
'=PRODUCT_IBLOCK_ID' => 0),
161 'order' =>
array(
'IBLOCK_ID' =>
'ASC')
163 while ($offer = $iblockIterator->fetch())
165 $offer[
'IBLOCK_ID'] = (int)$offer[
'IBLOCK_ID'];
166 if (!isset($productList[$offer[
'IBLOCK_ID']]) && $offer[
'IBLOCK_ID'] !=
$iblockId)
167 $iblockList[$offer[
'IBLOCK_ID']] = $offer[
'IBLOCK_ID'];
169 unset($offer, $iblockIterator);
171 if (
$catalog[
'CATALOG_TYPE'] == CCatalogSKU::TYPE_PRODUCT ||
$catalog[
'CATALOG_TYPE'] == CCatalogSKU::TYPE_FULL)
176 $sitesIterator = Iblock\IblockSiteTable::getList(
array(
177 'select' =>
array(
'IBLOCK_ID',
'SITE_ID'),
179 'order' =>
array(
'IBLOCK_ID' =>
'ASC',
'SITE_ID' =>
'ASC')
181 while (
$site = $sitesIterator->fetch())
183 unset(
$site, $sitesIterator);
189 unset($siteIblock,
$sites);
197 'select' =>
array(
'ID',
'NAME',
'IBLOCK_TYPE_ID',
'ACTIVE',
'PROPERTY_INDEX'),
208 <input type=
"hidden" name=
"lang" value=
"<?= LANGUAGE_ID ?>">
209 <input type=
"hidden" name=
"IBLOCK_ID" value=
"<?= $iblockId ?>">
214 'FORM_ACTION' =>
'cat_iblock_catalog_edit.php?lang='.LANGUAGE_ID
217$control->AddViewField(
'IBLOCK_ID', Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_FIELD_IBLOCK_ID'),
$iblockId);
218$control->AddViewField(
'IBLOCK_NAME', Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_FIELD_IBLOCK_NAME'),
$iblock[
'NAME']);
219$control->AddViewField(
'IBLOCK_TYPE', Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_FIELD_IBLOCK_TYPE'),
$iblock[
'TYPE']);
220$control->AddViewField(
'IBLOCK_SITE', Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_FIELD_IBLOCK_SITES'),
$iblock[
'SITES']);
223 Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_FIELD_IBLOCK_ACTIVE'),
224 (
$iblock[
'ACTIVE'] ==
'Y' ? Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_MESS_YES') : Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_MESS_NO'))
226$control->BeginCustomField(
'CATALOG', Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_FIELD_CATALOG'),
true);
227?><tr
id=
"tr_CATALOG">
228 <td
style=
"width: 40%;"><?=
$control->GetCustomLabelHTML() ?></td>
229 <td
style=
"width: 60%;">
230 <input type=
"hidden" name=
"CATALOG" value=
"N" id=
"CATALOG_N">
231 <input data-checkbox=
"Y" type=
"checkbox" name=
"CATALOG" value=
"Y" id=
"CATALOG_Y"<?php
232 echo (
$catalog[
'CATALOG'] ==
'Y' ?
' checked' :
'').($catalog[
'CATALOG_TYPE'] == CCatalogSKU::TYPE_OFFERS ?
' disabled' :
'');
236$control->EndCustomField(
'CATALOG',
'<input type="hidden" name="CATALOG" value="'.
$catalog[
'CATALOG'].
'">');
238$control->BeginCustomField(
'SKU', Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_FIELD_SKU'));
240 <td
style=
"width: 40%; vertical-align: top;"><?=
$control->GetCustomLabelHTML(); ?></td>
241 <td
style=
"width: 60%;"><?php
243 if (
$catalog[
'CATALOG_TYPE'] == CCatalogSKU::TYPE_OFFERS)
245 ?><input type=
"hidden" name=
"USE_SKU" value=
"N" id=
"USE_SKU_N"><?php
246 $hiddenValue =
'<input type="hidden" name="USE_SKU" value="N">';
249 echo Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_ERR_BAD_PRODUCT_IBLOCK',
array(
'#ID#' =>
$catalog[
'PRODUCT_IBLOCK_ID']));
253 echo Loc::getMessage(
254 'BX_CAT_IBLOCK_CATALOG_MESS_PRODUCT_IBLOCK',
262 ?><input type=
"hidden" name=
"SKU" value=
"<?= $productIblockId ?>"><?php
266 if (
$catalog[
'CATALOG_TYPE'] == CCatalogSKU::TYPE_PRODUCT ||
$catalog[
'CATALOG_TYPE'] == CCatalogSKU::TYPE_FULL)
269 $hiddenValue =
'<input type="hidden" name="USE_SKU" value="'.($showSku ?
'Y' :
'N').
'">';
270 ?><input type=
"hidden" name=
"USE_SKU" value=
"N" id=
"USE_SKU_N">
271 <input data-checkbox=
"Y" type=
"checkbox" name=
"USE_SKU" value=
"Y" id=
"USE_SKU_Y"<?= (
$showSku ?
' checked' :
'') ?>>
272 <div
id=
"sku_data" style=
"display: <?= ($showSku ? 'block' : 'none') ?>;">
282 'MIN_PERMISSION' =>
'R'
288 echo Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_MESS_EMPTY_OFFERS_LIST');
294$hiddenValue .=
'<input type="hidden" name="SKU" value="'.$productIblockId.
'">';
300 $control->BeginCustomField(
'SUBSCRIPTION', Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_FIELD_SUBSCRIPTION'));
302 <tr
id=
"tr_SUBSCRIPTION" style=
"display: <?= $rowDisplay ?>;">
303 <td
style=
"width: 40%;"><?=
$control->GetCustomLabelHTML(); ?></td>
304 <td
style=
"width: 60%;"><?php
307 $subscriptionWithSku = (
$catalog[
'CATALOG_TYPE'] == CCatalogSKU::TYPE_PRODUCT ||
$catalog[
'CATALOG_TYPE'] == CCatalogSKU::TYPE_FULL);
308 ?><input type=
"hidden" name=
"SUBSCRIPTION" value=
"N" id=
"SUBSCRIPTION_N">
309 <input data-checkbox=
"Y" type=
"checkbox" name=
"SUBSCRIPTION" value=
"Y" id=
"SUBSCRIPTION_Y"<?php
310 echo (
$catalog[
'SUBSCRIPTION'] ==
'Y' ?
' checked' :
'').(
311 $subscriptionWithSku ?
' disabled' :
''
314 if ($subscriptionWithSku &&
$catalog[
'SUBSCRIPTION'] ==
'Y')
318 echo Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_MESS_SUBSCRIPTION_WITH_SKU');
320 unset($subscriptionWithSku);
324 ?><input data-checkbox=
"Y" type=
"checkbox" name=
"SUBSCRIPTION" value=
"Y" id=
"SUBSCRIPTION_Y" checked
disabled>
325 <input type=
"hidden" name=
"SUBSCRIPTION" value=
"N" id=
"SUBSCRIPTION_N"><br><?php
326 echo Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_MESS_SUBSCRIPTION_RESET');
331 $control->EndCustomField(
'SUBSCRIPTION',
'<input type="hidden" name="SUBSCRIPTION" value="'.
$hiddenValue.
'">');
334$control->BeginCustomField(
'YANDEX_EXPORT', Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_FIELD_YANDEX_EXPORT'));
337<tr
id=
"tr_YANDEX_EXPORT" style=
"display: <?= $rowDisplay ?>;">
338 <td
style=
"width: 40%;"><?=
$control->GetCustomLabelHTML() ?></td>
339 <td
style=
"width: 60%;">
340 <input type=
"hidden" id=
"YANDEX_EXPORT_N" name=
"YANDEX_EXPORT" value=
"N">
341 <input type=
"checkbox" id=
"YANDEX_EXPORT_Y" name=
"YANDEX_EXPORT" value=
"Y"<?= (
$catalog[
'YANDEX_EXPORT'] ==
'Y' ?
' checked' :
'') ?>>
347$control->BeginCustomField(
'VAT_ID', Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_FIELD_VAT_ID'));
349?><tr
id=
"tr_VAT_ID" style=
"display: <?= $rowDisplay ?>;">
350 <td
style=
"width: 40%;"><?=
$control->GetCustomLabelHTML(); ?></td>
351 <td
style=
"width: 60%;">
354 foreach (
$vatList as $vatId => $vatName)
356 ?><option value=
"<?= $vatId; ?>"<?= (
$catalog[
'VAT_ID'] == $vatId ?
' selected' :
''); ?>><?=
htmlspecialcharsEx($vatName); ?></option><?php
358 unset($vatId, $vatName);
366 title: '".CUtil::JSEscape(Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_BTN_SAVE')).
"',
367 id: 'saveCatalogBtn',
368 name: 'saveCatalogBtn',
369 className: 'adm-btn-save',
372 title: '".CUtil::JSEscape(Loc::getMessage(
'BX_CAT_IBLOCK_CATALOG_BTN_CANCEL')).
"',
373 name: 'cancelCatalogBtn',
374 id: 'cancelCatalogBtn',
376 top.BX.WindowManager.Get().AllowClose(); top.BX.WindowManager.Get().Close();
377 if (!!top.ReloadSubList)
406 'isSku' => (
$catalog[
'CATALOG_TYPE'] == CCatalogSKU::TYPE_OFFERS),
409 'save' =>
'saveCatalogBtn',
410 'cancel' =>
'cancelCatalogBtn'
415var iblockCatalogControl =
new BX.Catalog.Admin.IblockCatalog(<?= CUtil::PhpToJSObject(
$jsParams,
false,
false,
true) ?>);
418 top.BX.WindowManager.Get().adjustSizeEx();
423require(
$_SERVER[
'DOCUMENT_ROOT'].
'/bitrix/modules/main/include/epilog_admin.php');
if(!Loader::includeModule('catalog')) if(!AccessController::getCurrent() ->check(ActionDictionary::ACTION_PRICE_EDIT)) if(!check_bitrix_sessid()) $request
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
bx_acc_lim_group_list limitGroupList[] multiple<?=$group[ 'ID']?> ID selected margin top
Form FILTER_ACTION disabled
GetIBlockDropDownListEx($IBLOCK_ID, $strTypeName, $strIBlockName, $arFilter=false, $onChangeType='', $onChangeIBlock='', $strAddType='', $strAddIBlock='')
if(! $catalogEdit->isSuccess()) $iblock
while($arParentIBlockProperty=$dbParentIBlockProperty->Fetch()) $errorMessage
$_SERVER["DOCUMENT_ROOT"]
bitrix_sessid_post($varname='sessid', $returnInvocations=false)
check_bitrix_sessid($varname='sessid')
ShowError($strError, $cls="errortext")
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)