Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function removeBOM($data) {
- if (0 === strpos(bin2hex($data), 'efbbbf')) {
- return substr($data, 3);
- }
- return $data;
- }
- function getAllImagesProduct($productId,$IBlockId){
- $cdnImages = array();
- $localImages = array();
- $localImageMain = array();
- $cdnImage = array();
- $arSelect = Array("ID", "NAME", "DETAIL_PICTURE", "PROPERTY_MORE_PHOTO", "PROPERTY_CDN_MAIN_IMAGE", "PROPERTY_CDN_IMAGES","PROPERTY_KARTINKI_V_CDN");
- $arFilter = Array("IBLOCK_ID"=>IntVal($IBlockId), "ID"=>$productId, "ACTIVE"=>"Y");
- $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
- while($ob = $res->GetNextElement()){
- $arFields = $ob->GetFields();
- $cdnImageMainUrl = $arFields["PROPERTY_CDN_MAIN_IMAGE_VALUE"];
- $cdnImageUrl = $arFields["PROPERTY_CDN_IMAGES_VALUE"];
- $arFields['PROPERTY_KARTINKI_V_CDN_VALUE'] = str_replace('"', '"', $arFields['PROPERTY_KARTINKI_V_CDN_VALUE']);
- $cdnImageFrom1C = json_decode($arFields["PROPERTY_KARTINKI_V_CDN_VALUE"],1);
- $localImageMainSrc = CFile::GetPath($arFields["DETAIL_PICTURE"]);
- if(!in_array($cdnImageMainUrl,$localImageMain) && $cdnImageMainUrl){
- $cdnImage[] = $cdnImageMainUrl;
- }
- if(!in_array($localImageMainSrc,$localImageMain) && $localImageMainSrc){
- $localImageMain[] = $localImageMainSrc;
- }
- if(!in_array($cdnImageUrl,$cdnImages) && $cdnImageUrl){
- $cdnImages[] = $cdnImageUrl;
- }
- $localImageSrc = CFile::GetPath($arFields["PROPERTY_MORE_PHOTO_VALUE"]);
- if(!in_array($localImageSrc,$localImages) && $localImageSrc){
- $localImages[] = $localImageSrc;
- }
- }
- //картинки из 1с
- //Отделяем главную картинку от остальных(картинки загруженные из 1с)
- foreach ($cdnImageFrom1C as $key => $value){
- if($value['main']) {
- $cdnImageMainUrl1C = $value['URL'];
- }
- else {
- $cdnImageUrl1C[]=$value['URL'];
- }
- }
- if(isset($cdnImageMainUrl1C) && isset($cdnImageUrl1C)){
- array_unshift($cdnImageUrl1C,$cdnImageMainUrl1C);
- }
- if(empty($cdnImage) && !empty($cdnImageMainUrl1C)){
- $cdnImage[] = $cdnImageMainUrl1C;
- }
- if(empty($cdnImages) && !empty($cdnImageUrl1C)){
- $cdnImages = $cdnImageUrl1C;
- }
- //
- $noImage = array("/local/templates/main/i/no_photo.png");
- if(count($cdnImages)){
- return $cdnImages;
- }else{
- if(count($cdnImage)) {
- return $cdnImage;
- } else {
- if(count($localImages)){
- $localImagesMain =array_merge($localImageMain, $localImages);
- return $localImagesMain;
- }else{
- if(count($localImageMain)){
- return $localImageMain;
- } else {
- return $noImage;
- }
- }
- }
- }
- }
- function getMainImageProduct($productId,$IBlockId){
- $arSelect = Array("ID", "NAME", "DETAIL_PICTURE", "PROPERTY_CDN_MAIN_IMAGE", "PROPERTY_KARTINKI_V_CDN");
- $arFilter = Array("IBLOCK_ID"=>IntVal($IBlockId), "ID"=>$productId, "ACTIVE"=>"Y");
- $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
- while($ob = $res->GetNextElement()){
- $arFields = $ob->GetFields();
- $cdnImage = $arFields["PROPERTY_CDN_MAIN_IMAGE_VALUE"];
- $localImage = CFile::GetPath($arFields["DETAIL_PICTURE"]);
- $arFields['PROPERTY_KARTINKI_V_CDN_VALUE'] = str_replace('"', '"', $arFields['PROPERTY_KARTINKI_V_CDN_VALUE']);
- $cdnImageFrom1C = json_decode($arFields["PROPERTY_KARTINKI_V_CDN_VALUE"],1);
- foreach ($cdnImageFrom1C as $key => $value){
- if($value['main']) {
- $cdnImageMainUrl1C = $value['URL'];
- break;
- }
- }
- if(isset($cdnImageMainUrl1C)){
- $cdnImage = $cdnImageMainUrl1C;
- }
- }
- $noImageUrl = "/local/templates/main/i/no_photo_small.png";
- if($cdnImage){
- return $cdnImage;
- }else{
- if($localImage){
- return $localImage;
- }else{
- return $noImageUrl;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement