линия

Главная

суббота, 28 мая 2016 г.

Bitrix работа с изображением

Вывод дополнительных изображений.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?foreach($arResult["ITEMS"] as $arItem):?>
<div class="item">
 <div class="iamges">
  <a href="<?=$arItem["PREVIEW_PICTURE"]["SRC"]?>" class="first-photo fancybox" rel="group" >
            <?  $smallImg = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"], ['width'=>200,"height" => 200], BX_RESIZE_IMAGE_EXACT, false);?>
   <img src="<?=$smallImg['src']?>'" alt="<?=$arItem["PREVIEW_PICTURE"]["ALT"]?>" title="<?=$arItem["PREVIEW_PICTURE"]["TITLE"]?>"  />
  </a>
  <? //Дополниетльные фотографии ?>
  <?foreach($arItem["PROPERTIES"]['MORE_PHOTO']['VALUE'] as $photoId):
   $imgArr = CFile::GetFileArray($photoId);
   $smallImg = CFile::ResizeImageGet($imgArr, ['width'=>200,"height" => 200], BX_RESIZE_IMAGE_EXACT, false);
  ?>
  <a href="<?=$imgArr["SRC"]?>" class="fancybox"  rel="group" >
   <img src="<?=$smallImg['src']?>'" alt="" title=""  />
  </a>
  <?endforeach;?>
 </div>                  
</div>
<?endforeach?> 

Параметры :
Тип масштабирования:
  • BX_RESIZE_IMAGE_EXACT - масштабирует в прямоугольник $arSize c сохранением пропорций, обрезая лишнее;
  • BX_RESIZE_IMAGE_PROPORTIONAL - масштабирует с сохранением пропорций, размер ограничивается $arSize;
  • BX_RESIZE_IMAGE_PROPORTIONAL_ALT - масштабирует с сохранением пропорций за ширину при этом принимается максимальное значение из высоты/ширины, размер ограничивается $arSize, улучшенная обработка вертикальных картинок.

Полная документация : дзенкую

пятница, 27 мая 2016 г.

Почтовое событие при добавлении данных в инфоблок

Задача.
Есть форма. Нужно добавить данные с формы AJAX-методом в информационный блок и  еще чтобы инициировалось почтовое событие.

Решение.
Покумекав смекнул, что трудо-время затраты можно уменьшить если все это дело запилитть самому.
1. открываем файл bitrix/php_interface/init.php
2. добавляем код
if(isset($_POST['email']) ){
 CModule::IncludeModule('iblock'); 
 $el = new CIBlockElement;
    $PROP = array();
    $PROP[1] =$_POST['email'];  // свойству с кодом 1 - email
    $PROP[2] = '';        // свойству с кодом 2 - phone

$arLoadProductArray = Array(
  "MODIFIED_BY"    => 1, // элемент изменен текущим пользователем
  "IBLOCK_SECTION_ID" => false,          // элемент лежит в корне раздела
  "IBLOCK_ID"      => 2, // номер IBLOCK_ID
  "PROPERTY_VALUES"=> $PROP,
  "NAME"           => $_POST['name'],
  "ACTIVE"         => "Y",            // активен
  //"PREVIEW_TEXT"   => "",
  //"DETAIL_TEXT"    => "",
  //"DETAIL_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/image.gif")
  );

$PRODUCT_ID = $el->Add($arLoadProductArray);
// ПОЧТОВОЕ СОБЫТИЕ
$arSend = array(
   "FIO" => $_POST['name'], 
   "PHONE" => $phone, 
   "EMAIL" =>$_POST['email'], 
   //"TEXT" => $text, 
   );
 CEvent::Send('FEEDBACK_FORM',SITE_ID,$arSend);
 
}