<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
die();
//если файл result_modifier.php есть, код выше добавлять не надо
if(strlen($arResult['DETAIL_TEXT']) > 0){
$re = "/#(\\w+)#/";
preg_match_all($re, $arResult['DETAIL_TEXT'], $matches);
if(count($matches) > 0){
foreach($matches[0] as $match){
$TEXT_VALUE = GetMessage($match);
$arResult['DETAIL_TEXT'] = str_replace($match, $TEXT_VALUE, $arResult['DETAIL_TEXT']);
}
}
}
<?
$MESS["#TEXT_1#"] = "Первый текст";
$MESS["#TEXT_2#"] = "Второй текст";
$MESS["#TEXT_3#"] = "Третий текст";
?>
Текст бла бла бла #TEXT_1#, тут продолжение бла бла бла #TEXT_2#. И наконец #TEXT_3#.
<?php
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/header.php');
global $USER;
$USER_ID = 1; //зачастую именно он админ
$USER->Authorize($USER_ID); // авторизуем
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/footer.php');
?>
$APPLICATION->AddBufferContent('ShowCondText');
AddEventHandler("search", "BeforeIndex", Array("BeforeIndex", "BeforeIndexHandler"));
CModule::AddAutoloadClasses('', array(
'BeforeIndex' => '/bitrix/php_interface/classes/BeforeIndex.php',
)
);
class BeforeIndex {
function BeforeIndexHandler($arFields) {
$IBLOCK_ID = 1 //нужный инфоблок
if ($arFields["MODULE_ID"] == "iblock" && $arFields["PARAM2"] == $IBLOCK_ID) {
$arSelect = Array("ID", "NAME", "PROPERTY_FILE");
$arFilter = Array("IBLOCK_ID" => $IBLOCK_ID, "ID" => $arFields['ITEM_ID']);
$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
if ($ar_res = $res->GetNext()) {
//Тут узнаете есть ли файлы или нет и тянете их DESCRIPTION
...
$arFields["BODY"].= PHP_EOL.$DESCRIPTION;
}
}
return $arFields;
}
}
"USE_EXTENDED_ERRORS" => "Y",
if (is_array($arResult["FORM_ERRORS"])){
foreach($arResult["FORM_ERRORS"] as $FIELD_SID => $BITRIX_ERROR_TEXT){
$arQuestion = $arResult["QUESTIONS"][$FIELD_SID];
if(strpos($arQuestion['HTML'],'class') !== false){
$arQuestion['HTML'] = str_replace('class="','class="error ',$arQuestion['HTML']);
}
else{
$arQuestion['HTML'] = str_replace('name=',' class="error" name=',$arQuestion['HTML']);
}
$arResult["QUESTIONS"][$FIELD_SID] = $arQuestion;
}
}
$arFilter = array(
"IBLOCK_ID"=>$arParams["IBLOCK_ID"],
"IBLOCK_ACTIVE"=>"Y",
"ACTIVE"=>"Y",
"GLOBAL_ACTIVE"=>"Y",
);
if(strlen($arParams["FILTER_NAME"])<=0 || !preg_match("/^[A-Za-z_][A-Za-z01-9_]*$/", $arParams["FILTER_NAME"]))
{
$arrFilter = array();
}
else
{
$arrFilter = $GLOBALS[$arParams["FILTER_NAME"]];
if(!is_array($arrFilter))
$arrFilter = array();
}
$arFilter = array_merge(array(
"IBLOCK_ID"=>$arParams["IBLOCK_ID"],
"IBLOCK_ACTIVE"=>"Y",
"ACTIVE"=>"Y",
"GLOBAL_ACTIVE"=>"Y",
),$arrFilter);
"FILTER_NAME" => $arParams['FILTER_NAME'],
$arResult['OFFERS'] = array(
0=>array(...),
1=>array(...),
2=>array(...),
и т.д.
);
<?$APPLICATION->IncludeComponent(
"bitrix:catalog",
"",
Array(
"TEMPLATE_THEME" => "blue",
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "2",
"SELECTED_OFFER_ID"=>(isset($_GET["pid"]) && intval($_GET["pid"]) > 0 ?$_GET["pid"]:0),
.............
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.element",
"",
Array(
"SELECTED_OFFER_ID" => $arParams["SELECTED_OFFER_ID"],
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
foreach($arResult['OFFERS'] as $offer_key=>$arOffer){
if(intval($arParams["SELECTED_OFFER_ID"]) == intval($arOffer['ID'])){
$arResult["SELECTED_OFFER"] = $offer_key;
break;
}
}
<ul class="offer-list">
<? foreach ($arResult['OFFERS'] as $iKey => $arOffer): ?>
<li data-id="<?= $arOffer['ID']; ?>"<?= ($iKey == $arResult["SELECTED_OFFER"]) ? ' class="active"' : ''; ?>>
<? if ($arOffer['PRICES'][$sPriceCode]['CAN_BUY'] == 'Y' && $arOffer['CATALOG_AVAILABLE'] == 'Y'): ?>
<span><?= $arOffer['PRICES'][$sPriceCode]['PRINT_DISCOUNT_VALUE']; ?></span>
<? endif; ?>
<?= $arOffer['NAME']; ?>
</li>
<? endforeach; ?>
</ul>