Last active
May 24, 2019 13:56
-
-
Save alex28742/b2dbc70c7f193fa15672a090f64892dd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
область включаемая по параметру: | |
<? if($_GET["cmd"]=="slider"): ?> | |
... | |
<? endif; ?> | |
работать будет при указании в доп. параметрах /?cmd=slider | |
--------------------------------------------------------------------------------------------- | |
Константы файла after_connect.php (bitrix/php_interface/after_connect.php) | |
<? | |
$DB->Query("SET NAMES 'utf8'"); | |
$DB->Query('SET collation_connection = "utf8_unicode_ci"'); | |
$DB->Query("set sql_mode=''"); | |
?> | |
--------------------------------------------------------------------------------------------- | |
поиск подстроки в строке | |
<? if(strpos($_SERVER[REQUEST_URI], 'actual') == 0) echo " not-actual" ?> | |
--------------------------------------------------------------------------------------------- | |
В noindex тег на странице | |
<? if(strpos($_SERVER['REQUEST_URI'],'/rybopromyslovaya-firma-variant/piksha/')!==false) echo "<noindex>"; ?> | |
<a href="?action=ADD2BASKET&id=<?=$arResult['ID']?>" class="bttn">купить</a> | |
<? if(strpos($_SERVER['REQUEST_URI'],'/rybopromyslovaya-firma-variant/piksha/')!==false) echo "</noindex>"; ?> | |
--------------------------------------------------------------------------------------------- | |
<? if ($APPLICATION->GetCurPage(false) == '/'): ?> | |
<!-- проверка на главную --> | |
<? endif; ?> | |
--------------------------------------------------------------------------------------------- | |
Ошибка Error Переменная sql_mode в MySQL должна быть пустая, текущее значение: NO_ENGINE_SUBSTITUTION | |
Решение: | |
В файле /bitrix/php_interface/after_connect.php, строку $DB->Query("SET sql_mode='NO_ENGINE_SUBSTITUTION'"); | |
Меняем на $DB->Query("SET sql_mode=''"); | |
--------------------------------------------------------------------------------------------- | |
добавление доп. параметров в форму contact-form7 (в файле plugins/contact-form-7/includes/contact-form.php) | |
if($_SERVER['REQUEST_URI'] == "/otpravit-zapros/") | |
$body = "yaCounter31050146.reachGoal('zapros'); return true;"; | |
else $body = ""; | |
$atts = array( | |
'action' => esc_url( $url ), | |
'method' => 'post', | |
'class' => $class, | |
'enctype' => wpcf7_enctype_value( $enctype ), | |
'autocomplete' => $autocomplete, | |
'novalidate' => $novalidate ? 'novalidate' : '', | |
'role' => $body, | |
); | |
--------------------------------------------------------------------------------------------- | |
замена подстроки в строке | |
$html = str_replace ( "form" , "my_form", $html ); в строке $html заменит "form" на "my_form" | |
--------------------------------------------------------------------------------------------- | |
добавление подстроки в строку | |
$html = substr_replace($html, " 465465", 126, 0); в строку $html добавим "465465" начиная с 126 символа | |
--------------------------------------------------------------------------------------------- | |
формирование ссылки для возврата в список элементов из детальной | |
<a href="<?=$arResult["FOLDER"].$arResult["VARIABLES"]["SECTION_CODE"]?>/"><?=GetMessage("T_NEWS_DETAIL_BACK")?></a> | |
--------------------------------------------------------------------------------------------- | |
in atom do not work emmet - solution: | |
I had found myself solution. In your keymap.cson (File -> Settings -> Keybindings -> Click to your keymap file) please add following: | |
'atom-text-editor[data-grammar="text html php"]:not([mini])': | |
'tab': 'emmet:expand-abbreviation-with-tab' | |
--------------------------------------------------------------------------------------------- | |
Правильное подключение стилей и скриптов в bitrix | |
после <?$APPLICATION->ShowHead();?> | |
подключаем ядро D7 | |
use Bitrix\Main\Page\Asset; | |
после чего подключаем файлы (если сайты в папке шаблона: SITE_TEMPLATE_PATH) | |
CJSCore::Init(array("jquery")); | |
Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . '/bootstrap.min.css'); | |
Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . '/js/plugins/....'); | |
Asset::getInstance()->addString("<link rel='shortcut icon' href='/local/favicon.ico' />"); | |
Asset::getInstance()->addString("<meta name='viewport' content='width=device-width, initial-scale=1'>"); | |
Asset::getInstance()->addString("<link href='https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i&subset=cyrillic,cyrillic-ext' rel='stylesheet'>"); | |
--------------------------------------------------------------------------------------------- | |
watermark добавление водяного знака | |
добавить в шаблон компонента (карточки) | |
<? | |
$arWaterMark = Array( | |
array( | |
"name" => "watermark", | |
"position" => "center", // Положение | |
"type" => "image", | |
"size" => "real", | |
"file" => $_SERVER["DOCUMENT_ROOT"].'/images/wm300.png', // Путь к картинке от корня сайта | |
"fill" => "exact", | |
"alpha_level" => 30 | |
) | |
); | |
?> | |
в конец строк, поставить переменную | |
$renderImage = CFile::ResizeImageGet($arResult['DETAIL_PICTURE'], Array("width" => 400, "height" => 400), BX_RESIZE_IMAGE_EXACT, false, $arWaterMark); | |
доработка ватермарки для миниатюр: | |
<span class="thumb"> | |
<span> | |
<img src="<? | |
$arWaterMark = Array( | |
array( | |
"name" => "watermark", | |
"position" => "center", | |
"type" => "image", | |
"size" => "real", | |
"file" => $_SERVER["DOCUMENT_ROOT"].'/bitrix/templates/fishorder/images/water/w1.png', | |
"fill" => "exact", | |
"alpha_level" => 30 | |
) | |
); | |
$renderImage = CFile::ResizeImageGet($item['PREVIEW_PICTURE']['ID'], Array("width" => 210, "height" => 150), BX_RESIZE_IMAGE_EXACT, false, $arWaterMark); | |
echo $renderImage['src']?>" alt="<?=$item['NAME']?>"> | |
</span> | |
</span> | |
--------------------------------------------------------------------------------------------- | |
danio ARtudgYHb2MMdQgebRtmG24A | |
--------------------------------------------------------------------------------------------- | |
Переводим битрикс на MySQLi с MySQL при переносе на PHP 7 | |
# vi /home/bitrix/www/bitrix/php_interface/dbconn.php | |
define("BX_USE_MYSQLI", true); | |
# vi /home/bitrix/www/bitrix/.settings.php | |
array ( | |
'default' => | |
array ( | |
'className' => '\\Bitrix\\Main\\DB\\MysqliConnection', | |
'host' => 'localhost', | |
--------------------------------------------------------------------------------------------- | |
Убираем атрибуты type='text/javascript' в Bitrix | |
Необходимо с помощью события onEndBufferContent отлавливать атрибут type в исходном коде и вырезать регулярным выражением. Для этого разместите в init.php (/bitrix/php_interface/init.php или /local/php_interface/init.php) следующий код: | |
AddEventHandler("main", "OnEndBufferContent", "removeType"); | |
function removeType(&$content) | |
{ | |
$content = replace_output($content); | |
$content = replace_output_style($content); | |
} | |
function replace_output($d) | |
{ | |
return str_replace(' type="text/javascript"', "", $d); | |
} | |
function replace_output_style($d) | |
{ | |
return str_replace(' type="text/css"', "", $d); | |
} | |
--------------------------------------------------------------------------------------------- | |
WP - передача GET параметра в форму | |
[text* your-name default:get] | |
--------------------------------------------------------------------------------------------- | |
тобоган подключение языковых данных | |
<? | |
$h = 'Что такое Тобогган?'; | |
$t = 'Картинка лучше тысячи слов…'; | |
if (strpos($_SERVER['REQUEST_URI'],'/eng/')!==false) { | |
$h = 'What is Toboggan?'; | |
$t = 'A picture is worth a thousand words…'; | |
} | |
if (strpos($_SERVER['REQUEST_URI'],'/arm/')!==false) { | |
$h = 'Իսկ ի՞ նչ է Տոբոգանը'; | |
$t = 'Պատկերներն արդեն իսկ հազարավոր բառեր արժեն…'; | |
?><style type="text/css">.elementor-25288 .elementor-element.elementor-element-b82a4d1 .elementor-heading-title {font-family: "fedrasansarm-bold", Sans-serif;text-transform: none;}</style><? | |
} | |
if (strpos($_SERVER['REQUEST_URI'],'/ara/')!==false) { | |
$h = 'ما هو توبوغان؟'; | |
$t = 'صورة تساوي ألف كلمة…'; | |
} | |
?> | |
--------------------------------------------------------------------------------------------- | |
путь к файлу | |
echo "<div>--<span style='display:none;'>Полный путь к скрипту и его имя: ".$_SERVER['SCRIPT_FILENAME']."</span></div>"; | |
--------------------------------------------------------------------------------------------- | |
google analitics цель на нажатие кнопки | |
onClick="gtag('event', 'click', {'event_category' : 'категория', 'event_label' : 'действие'});" | |
--------------------------------------------------------------------------------------------- | |
Включаемая область "MODE"=>"text" или "MODE"=>"php" | |
<? $APPLICATION->IncludeFile(SITE_TEMPLATE_PATH."/include/work.php",Array(),Array("MODE"=>"php")); ?> | |
--------------------------------------------------------------------------------------------- | |
превышено время обращения к БД | |
в файле dbconn.php дописать: | |
<? | |
//$DB->Query("SET NAMES 'utf8'"); | |
//$DB->Query('SET collation_connection = "utf8_unicode_ci"'); | |
//$DB->Query("set sql_mode=''"); | |
$DB->Query("SET wait_timeout=28800"); | |
?> | |
--------------------------------------------------------------------------------------------- | |
если есть SSH, то чтобы не терять время пока скачается/закачается - с командной строки команда | |
wget "https://www.1c-bitrix.ru/download/small_business_encode.zip" | |
это скачать малый бизнес, т.е. внутрь кавычек подставить ссылку на нужный архив - скачается за считанные секунды | |
--------------------------------------------------------------------------------------------- | |
php_value mbstring.internal_encoding UTF-8 | |
php_value mbstring.func_overload 2 | |
php_value max_input_vars 10000 | |
--------------------------------------------------------------------------------------------- | |
file_put_contents('log.txt', print_r($_REQUEST, true)); | |
--------------------------------------------------------------------------------------------- | |
Проверка на админа admin | |
global $USER; | |
if ($USER->IsAdmin()) echo "Вы администратор!"; | |
--------------------------------------------------------------------------------------------- | |
noidex для элемента на странице | |
<? // SEO | |
if($APPLICATION->GetCurPage(false) == '/catalog/mebelnye-fasady/'){ | |
$noindex_start = "<noindex>"; | |
$noindex_end = "</noindex>"; | |
} | |
else { | |
$noindex_start = ""; | |
$noindex_end = ""; | |
} | |
?> | |
<?=$noindex_start;?>......<?=$noindex_end;?> | |
--------------------------------------------------------------------------------------------- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment