Полистал документацию и нашел файл редактирования элемента: /bitrix/modules/iblock/admin/iblock_element_edit.php
Нахожу строчку кода 2118 и вставляю туда Кнопку:
Код |
---|
<?
$tabControl->BeginCustomField("PREVIEW_TEXT", GetMessage("IBLOCK_FIELD_PREVIEW_TEXT"), $arIBlock["FIELDS"]["PREVIEW_TEXT"]["IS_REQUIRED"] === "Y");
?>
<form>
<button>Кнопка</button> // кнопка
</form>
<tr class="heading" id="tr_PREVIEW_TEXT_LABEL">
<td colspan="2"><?echo $tabControl->GetCustomLabelHTML()?></td>
</tr>
<?if($ID && $PREV_ID && $bWorkflow):?>
<tr id="tr_PREVIEW_TEXT_DIFF">
<td colspan="2">
<div style="width:95%;background-color:white;border:1px solid black;padding:5px">
<?echo getDiff($prev_arElement["PREVIEW_TEXT"], $arElement["PREVIEW_TEXT"])?>
</div>
</td>
</tr>
<?elseif(COption::GetOptionString("iblock", "use_htmledit", "Y")=="Y" && $bFileman):?>
<tr id="tr_PREVIEW_TEXT_EDITOR">
<td colspan="2" align="center">
<?CFileMan::AddHTMLEditorFrame(
"PREVIEW_TEXT",
$str_PREVIEW_TEXT,
"PREVIEW_TEXT_TYPE",
$str_PREVIEW_TEXT_TYPE,
//300,
array(
'height' => 450,
'width' => '100%'
),
"N",
0,
"",
"",
$arIBlock["LID"],
true,
false,
array(
'toolbarConfig' => CFileman::GetEditorToolbarConfig("iblock_".(defined('BX_PUBLIC_MODE') && BX_PUBLIC_MODE == 1 ? 'public' : 'admin')),
'saveEditorKey' => $IBLOCK_ID
)
);?>
</td>
</tr>
<?else:?>
<tr id="tr_PREVIEW_TEXT_TYPE">
<td><?echo GetMessage("IBLOCK_DESC_TYPE")?></td>
<td><input type="radio" name="PREVIEW_TEXT_TYPE" id="PREVIEW_TEXT_TYPE_text" value="text"<?if($str_PREVIEW_TEXT_TYPE!="html")echo " checked"?>> <label for="PREVIEW_TEXT_TYPE_text"><?echo GetMessage("IBLOCK_DESC_TYPE_TEXT")?></label> / <input type="radio" name="PREVIEW_TEXT_TYPE" id="PREVIEW_TEXT_TYPE_html" value="html"<?if($str_PREVIEW_TEXT_TYPE=="html")echo " checked"?>> <label for="PREVIEW_TEXT_TYPE_html"><?echo GetMessage("IBLOCK_DESC_TYPE_HTML")?></label></td>
</tr>
<tr id="tr_PREVIEW_TEXT">
<td colspan="2" align="center">
<textarea cols="60" rows="10" name="PREVIEW_TEXT" style="width:100%"><?echo $str_PREVIEW_TEXT?></textarea>
</td>
</tr>
<?endif;
$tabControl->EndCustomField("PREVIEW_TEXT",
'<input type="hidden" name="PREVIEW_TEXT" value="'.$str_PREVIEW_TEXT.'">'.
'<input type="hidden" name="PREVIEW_TEXT_TYPE" value="'.$str_PREVIEW_TEXT_TYPE.'">'
);
$tabControl->BeginNextFormTab(); ?>
|
После чего сохраняю файл, и в редактировании элемента во вкладке анонс появляется эта кнопка! Еще не пробовал, но думаю можно в событии этой кнопки отправить на e-mail значение поля 'PREVIEW_TEXT' с помощью функции mail.
Но проблема такая, мне нужна эта кнопка только в одном инфоблоке, а не во всех! Копирую файл: iblock_element_edit.php и называю его: iblock_element_add_button.php путь будет такой: /bitrix/modules/iblock/admin/iblock_element_add_button.php
Захожу в инфоблок и указываю в поле "Файл с формой редактирования элемента" этот путь: /bitrix/modules/iblock/admin/iblock_element_add_button.php и сохранить!
Также как в коде выше (строка кода начиная с 2118), вставляю код кнопки и сохраняю файл. Далее при входе в редактирование элемента, выдается такая ошибка:
Fatal error: Cannot redeclare class _ciblockerror. If this code worked without the Zend Optimizer+, please set zend_optimizerplus.dups_fix=1 in your php.ini in C:\Program Files\Bitrix Environment\www\bitrix\modules\iblock\admin\iblock_element_e
dit.php on line 1698
Почему ошибка указывает на файл iblock_element_edit.php, ведь в поле "Файл с формой редактирования элемента" указан файл iblock_element_add_button.php? Может я что-то не так делаю?