Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

настройка отправки писем на email в файле init.php

00 голосов
6
не могу понять как мне добавить в шаблон свойство из инфоблока,
если его имя,ID и т.п. добавляются как $arFields["NAME"]...
Если не знаете как добавить свойство то скажите хотя бы где формируется этот массив
спросил 09 Окт, 13 от Amentet (2,080 баллов)

6 Ответы

00 голосов
попробуйте получить все поля элемента путем
Код
$arIBlockElement = GetIBlockElement($arFields["ID"]);
, и тогда значения пользовательских свойств будут храниться в
Код
$arIBlockElement["PROPERTIES"]["код Вашего св-ва"]["VALUE"]
ответил 26 Окт, 13 от Rogarond (820 баллов)
00 голосов
нет вы меня наверно неправильно поняли как получить поля я знаю в принципе я не знаю где
вот код файла init.php
Код
<?

// регистрируем обработчик 
AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("MyClass", "OnAfterIBlockElementAddHandler")); 

class MyClass 
{ 
    // создаем обработчик события "OnAfterIBlockElementAdd" 
    function OnAfterIBlockElementAddHandler(&$arFields) 
    { 
        if ($arFields["IBLOCK_ID"] == 5) 
        { 
                $arSend = array(
'TEL' => $_REQUEST["PROPERTY"]["4"]["0"],
'ADRESS' =>$_REQUEST["PROPERTY"]["5"]["0"],
'TEXT' => '<b>ФИО: </b>'.$arFields['NAME'].'<br/> <b>Заказ: </b>'.$arFields['PREVIEW_TEXT'].'<br/> <b>Общая стоимость: </b>'.$arFields['DETAIL_TEXT']); 
                CEvent::Send('obrsvyz',SITE_ID,$arSend); 

 $arSend = array(
'TEL' => $_REQUEST["TEL"],
'ADRESS' =>$_REQUEST["ADRESS"],
'TEXT' => '<b>ФИО: </b>'.$arFields['NAME'].'<br/> <b>Заказ: </b>'.$arFields['PREVIEW_TEXT'].'<br/> <b>Общая стоимость: </b>'.$arFields['DETAIL_TEXT']); 
                CEvent::Send('obrsvyz2',SITE_ID,$arSend); 
        } 
    } 
} 


?>
ответил 29 Янв, 14 от Amentet (2,080 баллов)
00 голосов
вместо $_REQUEST['TEL'] нужно пихнуть свойство из инфоблока а где был сформирован массив $arFields ДЛЯ ЭТОГО ФАЙЛА я незнаю
ответил 18 Май, 14 от Amentet (2,080 баллов)
00 голосов
ну дак и напишите как-нибудь так:
Код
 function OnAfterIBlockElementAddHandler(&$arFields) 
    { 
        if ($arFields["IBLOCK_ID"] == 5) 
        {  $arIBlockElement = GetIBlockElement($arFields["ID"]);
                $arSend = array( 
'TEXT' => '<b>Телефон: </b>'.$arIBlockElement["PROPERTIES"]["4"]["VALUE"].'<br/><b>ФИО: </b>'.$arFields['NAME'].'<br/> <b>Заказ: </b>'.$arFields['PREVIEW_TEXT'].'<br/> <b>Общая стоимость: </b>'.$arFields['DETAIL_TEXT']);
 
ответил 15 Сен, 14 от Rogarond (820 баллов)
00 голосов
eddy_embers ты был прав но ты не те методы используешь
используй классы а не старые функции
ответил 20 Янв, 15 от Amentet (2,080 баллов)
00 голосов
это первое что в голову пришло, без подглядывания в документацию)))
ответил 05 Май, 15 от Rogarond (820 баллов)

Похожие вопросы

0 голосов
8 ответов
спросил 29 Май, 13 от maxdj (480 баллов)
0 голосов
4 ответов
0 голосов
2 ответов
спросил 21 Авг, 13 от Shiori (180 баллов)
0 голосов
2 ответов
спросил 22 Июль, 13 от Cmeptb (160 баллов)
0 голосов
3 ответов
спросил 17 Май, 13 от Chemikals (840 баллов)