Доброго времени суток господа форумчане.
Итак. Инфоблоки. Есть компонент формы элемента списка iblock.element.add.form и компонент списка iblock.element.add.list
В форме списка описана обработка удаления элемента списка:
1) iblock.element.add.list
component.php
В темплэйте списка описан соответственно вызов:
template.php
Я пытаюсь понять каким образом в компоненте формы описать ссылку на обработчик удаления элемента списка (список уже другой), чтобы в темплейте Формы iblock.element.add.form можно было его вызвать, дабы не переписывать его по новой (с этим пожалуй еще больше возни насколько могу судить) и удалить элемент.
Вот темплэйт формы
2) iblock.element.add.form
template.php
<a href="?delete=Y&CODE=<?=$arElement["ID"]?>&<?=bitrix_sessid_get()?>" - ссылка вызова. Вот теперь думаю каким образом описать ссыль в компоненте формы.
Буду рад любым советам. Заранее благодарен =/
Итак. Инфоблоки. Есть компонент формы элемента списка iblock.element.add.form и компонент списка iblock.element.add.list
В форме списка описана обработка удаления элемента списка:
1) iblock.element.add.list
component.php
Код |
---|
if (check_bitrix_sessid() && $_REQUEST["delete"] == "Y" && $arResult["CAN_DELETE"]) { $arParams["ID"] = intval($_REQUEST["CODE"]); // try to get element with id, for user and for iblock $rsElement = CIBLockElement::GetList(array(), array_merge($arFilter, array("ID" => $arParams["ID"]))); if ($arElement = $rsElement->GetNext()) { // delete one $DB->StartTransaction(); if(!CIBlockElement::Delete($arElement["ID"])) { $DB->Rollback(); } else { $DB->Commit(); } } } |
template.php
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?> <div class="catalog-compare-list"> <a name="compare_list"></a> <?if(count($arResult)>0):?> <fo rm action="<?=$arParams["COMPARE_URL"]?>" method="get"> <table class="data-table" cellspacing="0" cellpadding="0" border="0"> <thead> <tr> <td align="center" colspan="2"><?=GetMessage("CATALOG_COMPARE_ELEMENTS")?></td> </tr> </thead> <?foreach($arResult as $arElement):?> <tr> <td> <input type="hidden" name="ID[]" value="<?=$arElement["ID"]?>" /> <a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a> </td> <td> <noindex><a href="<?=$arElement["DELETE_URL"]?>" rel="nofollow"><?=GetMessage("CATALOG_DELETE")?></a></noindex> </td> </tr> <?endforeach?> </table> <?if(count($arResult)>=2):?> <br /><input type="s ubmit" value="<?=GetMessage("CATALOG_COMPARE")?>" /> <input type="hidden" name="action" value="COMPARE" /> <input type="hidden" name="IBLOCK_ID" value="<?=$arParams["IBLOCK_ID"]?>" /> <?endif;?> </form> <?endif;?> </div> |
Вот темплэйт формы
2) iblock.element.add.form
template.php
Код |
---|
<? $res = CIBlockProperty::GetByID($propertyID, false, false); if($ar_res = $res->GetNext()) $LINK_IBLOCK_ID = $ar_res['LINK_IBLOCK_ID']; $value = $arResult['ELEMENT_PROPERTIES'][$propertyID][0]['VALUE']; $arSelect = Array("ID", "NAME"); $arFilter = Array("IBLOCK_ID"=> $LINK_IBLOCK_ID, "ACTIVE"=>"Y",'PROPERTY_MODERATOR' => $USER->GetID()); $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect); while($ob = $res->GetNextElement()){ $arFields = $ob->GetFields(); if($value == $arFields["ID"]) { if($propertyID == '21') { ?> <?foreach($arResult as $arElement):?> <tr> <td> <a href="?delete=Y&CODE=<?=$arElement["ID"]?>&<?=bitrix_sessid_get()?>" </td> </tr> <?endforeach?> <? } } } ?> |
Буду рад любым советам. Заранее благодарен =/