Метка

PHP

Всего: 203 записи

bitrix highload get value by uf_xml_id

result_modifier.php в папке шаблона компонента детального просмотра

use Bitrix\Highloadblock as HL;
use Bitrix\Main\Entity;
if(count($arResult['PROPERTIES']["COLOR"]['VALUE'])>0){
	$XMLID=$arResult['PROPERTIES']["COLOR"]['VALUE'];
	CModule::IncludeModule("highloadblock");
	$hlblock=HL\HighloadBlockTable::getById(1)->fetch();
	$entity=HL\HighloadBlockTable::compileEntity($hlblock);
	$entity_data_class=$entity->getDataClass();
	$rsProp=$entity_data_class::getList(array(
		"select"=>array('*'),
		"filter"=>array('=UF_XML_ID'=>$XMLID),
	));
	$arResult['HLBLOCK_VALUES']["COLOR"]=array();
	while($arProp = $rsProp->Fetch()){
		$arResult['HLBLOCK_VALUES']["COLOR"][$arProp['UF_XML_ID']]=$arProp;
	}
}

где getById(1): 1 — ID Highload-блока
В шаблоне результат:

print_r($arResult['HLBLOCK_VALUES']);

Защита от SQL-инъекций

$arrs=array('_GET','_POST','_COOKIE');
foreach($arrs as $arr_key=>$arr_value){
	if(is_array($$arr_value)){
		foreach($$arr_value as $key=>$value){
			$nbz1=substr_count($value,'--');
			$nbz2=substr_count($value,'/*');
			$nbz3=substr_count($value,"'");
			$nbz4=substr_count($value,'"');
			if($nbz1>0||$nbz2>0||$nbz3>0||$nbz4>0){
				Print404();
				exit(); 
			}
		}
	}
}

http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=83821

bitrix — OpenGraph meta

На странице:

$APPLICATION->SetPageProperty("og:title","Зголовок страницы");
$APPLICATION->SetPageProperty("og:description","Описание страницы");
$APPLICATION->SetPageProperty("og:url","http://site.ru/page/");
$APPLICATION->SetPageProperty("og:image","http://site.ru/images/image.jpg");

также в /bitrix/php_interface/init.php

AddEventHandler('main','OnEpilog','onEpilog',1);
function onEpilog(){
	global $APPLICATION;
	$arPageProp=$APPLICATION->GetPagePropertyList();
	$arMetaPropName=array('og:title','og:description','og:url','og:image');
	foreach ($arMetaPropName as $name){
		//$key=mb_strtoupper($name,'UTF-8');
		$key=mb_strtoupper($name);
		if (isset($arPageProp[$key])){
			//$APPLICATION->AddHeadString('<meta property="'.$name.'" content="'.htmlspecialchars($arPageProp[$key]).'">',$bUnique=true);
			$APPLICATION->AddHeadString('<meta property="'.$name.'" content="'.$arPageProp[$key].'">',$bUnique=true);
		}
	}
}

Закомментированные строки для utf-8 (заменить аналогичные).
http://max22.ru/bx-solutions/meta-tags/