tips and tricks

доступ к битрикс api


require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

нежадное вытаскивание значение между


preg_match_all('/d="(.*)"/sU',$some_var,$matches, PREG_SET_ORDER);

логирование под админом


global $USER; if($USER->IsAdmin()):
print_r($arrResult);
endif;

масштабированное отображение на мобильных девайсах


<meta name="viewport" content="width=device-width">

вызов jQuery last version и других


<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>

Запрет прокрутки окна браузера


$('.some-class').on('focus', function(){
        OffScroll();  //Запустили отмену прокрутки
    });

$('.some-class').on('blur', function(){ $(window).unbind('scroll'); //Выключить отмену прокрутки });
function OffScroll () { var winScrollTop = $(window).scrollTop(); $(window).bind('scroll',function () { $(window).scrollTop(winScrollTop); }); }

html5 для старых версия браузеров


<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>

разбивка списка на блоки


<ul>
<li>
<?foreach($arResult["ITEMS"] as $key=>$arItem):?>
<?if(($key+1)%3==0 &&$arItem!=end($arResult["ITEMS"])):?>
</li><li>
<?endif?>
<?endforeach;?>
</li>
</ul>

css стили для placeholder


::-webkit-input-placeholder { color: #646464}
::-moz-placeholder { color: #646464}/* Firefox 19+ */
:-moz-placeholder { color: #646464}/* Firefox 18- */
:-ms-input-placeholder { color: #646464}

ссылки со слешем в конце и без:


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

заголовок файлового раздела:


$sSectionName = ""; 
$sPath = $_SERVER["DOCUMENT_ROOT"].$APPLICATION->GetCurDir().".section.php";
<h1><?=$sSectionName?></h1>

свойства физического раздела в битриксе можно получить вот так:


$APPLICATION->GetProperty("shown_menu");

подьем на верх окна jquery


$('body,html').animate({scrollTop: 0}, 400);

создание/обрезка изображения превью/большой картинки + водяной знак/watermark:

запись сего в result_modifier.php компонета


$param_sharpen = 30;
$arFilter = array("name" => "sharpen", "precision" => $param_sharpen);  //  можно просто false
foreach($arResult['ITEMS'] as $item_key=>$item){
$arFile = CFile::GetFileArray($one_pic_id);
$arFileTmp = CFile::ResizeImageGet(
$item['PREVIEW_PICTURE'],
array("width" => 183, "height" => 159),
BX_RESIZE_IMAGE_EXACT,
true, $arFilter
);
$arResult["OUR_WORKS_PICS"][$item_key] = array(
"SRC" => $arFileTmp["src"],
'WIDTH' => $arFileTmp["width"],
'HEIGHT' => $arFileTmp["height"],
);
$arBigFileTmp = CFile::ResizeImageGet(
$item['PREVIEW_PICTURE'],
array("width" => $item['PREVIEW_PICTURE']['WIDTH'], "height" => $item['PREVIEW_PICTURE']['HEIGHT']),
BX_RESIZE_IMAGE_PROPORTIONAL,
true,
$arFilters = Array(array(
"name" => "watermark",
"position" => "center",
"size"=>"real",
'type'=>'image',
'alpha_level'=>30,
"text"=>'sometext',//  это поле не выводится (
"file"=>$_SERVER['DOCUMENT_ROOT']."/bitrix/templates/.default/img/logo.png")
)
);
$arResult["OUR_WORKS_BIG_PICS"][$item_key] = array(
"SRC" => $arBigFileTmp["src"]
);
}

CIBlockSection::GetList


$arFilter = Array('IBLOCK_ID'=>$arResult['IBLOCK_ID'], 'GLOBAL_ACTIVE'=>'Y', 'ID'=>$arResult['ID']);
$db_list = CIBlockSection::GetList(Array(), $arFilter, false,array('ID','UF_ADDITIONAL_DESC'));
if($ar_result = $db_list->GetNext())
{
$arResult['UF_ADDITIONAL_DESC'] = $ar_result['~UF_ADDITIONAL_DESC'];
}

редирект с несуществующих поддоменов на основной


RewriteCond %{HTTP_HOST} !^www.webkernel.ru$ [NC]
RewriteRule ^(.*)$ http://www.webkernel.ru/$1 [R=301,L]

переопределение lang файлов компонента, если их нет в шаблоне компонента


требуется создать такой файл: /bitrix/php_interface/user_lang/ru/lang.php с требуемой lang переменной

$MESS["/bitrix/components/bitrix/catalog.section/lang/ru/component.php"]["CATALOG_SECTION_NOT_FOUND"] = "Мой раздел не найден";

градиент-эффект перетекания в прозрачный css

пример на странице интересного дизайн продукта для маковки
-webkit-mask-position: 0 0;
-webkit-mask-size: 100% 100%;
-webkit-mask-image: linear-gradient(90deg, hsla(0, 0%, 0%, 0), hsla(0, 0%, 0%, .2) 50%, hsla(0, 0%, 0%, .8) 80%, hsla(0, 0%, 0%, 1) 100%);

вызов FirePHP в init.php

прекрепляю сам файлик FirePHP.class.php
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/templates/.default/FirePHP.class.php');
$firephp = FirePHP::getInstance(true);
$options = array(
'maxObjectDepth' => 15,
'maxArrayDepth' => 15,
'maxDepth' => 15,
'useNativeJsonEncode' => true,
'includeLineNumbers' => true
);
$firephp->setOptions($options);

объявление крос шрифта css



@font-face {
font-family: 'robotolight';
src: url('../fonts/roboto-light-webfont.eot');
src: url('../fonts/roboto-light-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/roboto-light-webfont.woff') format('woff'),
url('../fonts/roboto-light-webfont.ttf') format('truetype'),
url('../fonts/roboto-light-webfont.svg#robotolight') format('svg');
font-weight: normal;
font-style: normal;
}


Вы должны авторизоваться, чтобы оставлять комментарии.

Загрузка...