3namespace Bitrix\Catalog\Update;
5use Bitrix\UI\Form\EntityEditorConfiguration;
6use Bitrix\Ui\Form\EntityEditorConfigScope;
57 || !is_array(
$config[
'elements'])
97 foreach ($formSettings as $columnIndex => $column)
99 if (!static::isValidColumnConfig($column))
104 foreach ($column[
'elements'] as $listIndex => $list)
106 if (!static::isValidElementListConfig($list))
110 if ($list[
'type'] !==
'section')
115 foreach ($list[
'elements'] as $rowIndex => $row)
117 if (!static::isValidRowConfig($row))
122 if ($row[
'name'] === $fieldName)
125 'COLUMN' => $columnIndex,
126 'LIST' => $listIndex,
147 foreach ($formSettings as $columnIndex => $column)
149 if (!static::isValidColumnConfig($column))
154 foreach ($column[
'elements'] as $listIndex => $list)
156 if (!static::isValidElementListConfig($list))
160 if ($list[
'type'] !==
'section')
164 if ($list[
'name'] === $listName)
167 'COLUMN' => $columnIndex,
168 'LIST' => $listIndex,
180 return (isset($index[
'COLUMN']) && isset($index[
'LIST']) && isset($index[
'ROW']));
185 if (empty($formSettings) || !static::checkRowIndex($index))
190 $column = $index[
'COLUMN'];
191 $list = $index[
'LIST'];
192 $row = $index[
'ROW'];
194 if (!isset($formSettings[$column]))
198 if (!isset($formSettings[$column][
'elements'][$list]))
202 if (!isset($formSettings[$column][
'elements'][$list][
'elements'][$row]))
212 if (!static::isRowExists($formSettings, $index))
214 return $formSettings;
217 $column = $index[
'COLUMN'];
218 $list = $index[
'LIST'];
219 $row = $index[
'ROW'];
221 unset($formSettings[$column][
'elements'][$list][
'elements'][$row]);
222 $formSettings[$column][
'elements'][$list][
'elements'] = array_values(
223 $formSettings[$column][
'elements'][$list][
'elements']
226 return $formSettings;
231 if (!static::isRowExists($formSettings, $index))
233 return $formSettings;
236 $column = $index[
'COLUMN'];
237 $list = $index[
'LIST'];
238 $row = $index[
'ROW'];
240 $formSettings[$column][
'elements'][$list][
'elements'][$row] = $field;
242 return $formSettings;
247 if (empty($formSettings) || !static::checkRowIndex($index))
249 return $formSettings;
252 $column = $index[
'COLUMN'];
253 $list = $index[
'LIST'];
254 $row = $index[
'ROW'];
256 if (!isset($formSettings[$column]))
258 return $formSettings;
260 if (!isset($formSettings[$column][
'elements'][$list]))
262 return $formSettings;
265 !isset($formSettings[$column][
'elements'][$list][
'elements'])
266 || !is_array($formSettings[$column][
'elements'][$list][
'elements'])
269 return $formSettings;
274 case self::SET_MODE_FIRST:
276 $formSettings[$column][
'elements'][$list][
'elements'],
280 case self::SET_MODE_LAST:
281 $formSettings[$column][
'elements'][$list][
'elements'][] = $field;
283 case self::SET_MODE_BEFORE:
284 if (static::isRowExists($formSettings, $index))
289 $formSettings[$column][
'elements'][$list][
'elements'],
295 $before = array_slice($formSettings[$column][
'elements'][$list][
'elements'], 0, $row);
297 $after = array_slice($formSettings[$column][
'elements'][$list][
'elements'], $row);
298 $formSettings[$column][
'elements'][$list][
'elements'] = array_merge(
302 unset($after, $before);
306 case self::SET_MODE_AFTER:
307 if (static::isRowExists($formSettings, $index))
309 if ($row ===
count($formSettings[$column][
'elements'][$list][
'elements']))
311 $formSettings[$column][
'elements'][$list][
'elements'][] = $field;
315 $before = array_slice($formSettings[$column][
'elements'][$list][
'elements'], 0, $row + 1);
317 $after = array_slice($formSettings[$column][
'elements'][$list][
'elements'], $row + 1);
318 $formSettings[$column][
'elements'][$list][
'elements'] = array_merge(
322 unset($after, $before);
328 return $formSettings;
338 if (empty($field) || !isset($field[
'name']) || !is_string($field[
'name']))
342 if ($parentId ===
'')
347 $config = static::getConfiguration();
348 $formSettings =
$config->get(self::PRODUCT_FORM_ID, EntityEditorConfigScope::COMMON);
350 if (empty($formSettings) || !is_array($formSettings))
355 if (static::getFieldIndex($formSettings, $field[
'name']) !==
null)
360 $listIndex = static::getListIndex($formSettings, $parentId);
361 if ($listIndex ===
null)
366 $formSettings = static::setField($formSettings, $listIndex, $field, self::SET_MODE_LAST);
368 self::PRODUCT_FORM_ID,
370 [
'scope' => EntityEditorConfigScope::COMMON]
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"