Есть интернет магазин. в нем через комплексный компонент bitrix:catalog с шаблоном .defaults выводятся
товара(здесь все хорошо было)
Заказчик потребовал чтобы выводились его характеристики из 1С.
Выгрузка проходит хорошо все выгружается.
Есть вызов характеристик в шаблоне offers, оттуда я взял часть кода но он неработал(непоказывал добавить в корзину) из-за этого я решил убрать условие на проверку товара по которому выводится ссылка и напрямую задать url но для этого требуется считать поле ID про которое я и спрашивал
Вот код .parametrs.php из папки /bitrix/templates/store_light_red_copy/components/new1/catal
og/.default
____________________________________________________________
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
if(!CModule::IncludeModule("iblock"))
return;
$arProperty_LNS = array();
$rsProp = CIBlockProperty::GetList(Array("sort"=>"asc", "name"=>"asc"), Array("ACTIVE"=>"Y", "IBLOCK_ID"=>$arCurrentValues["LINK_IBLOCK_ID"]));
while ($arr=$rsProp->Fetch())
{
$arProperty[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
if (in_array($arr["PROPERTY_TYPE"], array("L", "N", "S")))
{
$arProperty_LNS[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
}
}
$arTemplateParameters = array(
"OFFERS_FIELDS" => Array(
"NAME" => GetMessage("TP_BC_OFFERS_FIELDS"),
"TYPE" => "LIST",
"MULTIPLE" => "Y",
"VALUES" => array(
"NAME" => GetMessage("IBLOCK_FIELD_NAME"),
),
"ADDITIONAL_VALUES" => "Y",
"DEFAULT" => "NAME",
),
"OFFERS_PROPERTIES" => Array(
"NAME" => GetMessage("TP_BC_OFFERS_PROPERTIES"),
"TYPE" => "LIST",
"MULTIPLE" => "Y",
"ADDITIONAL_VALUES" => "Y",
"VALUES" => $arProperty_LNS,
"ADDITIONAL_VALUES" => "Y",
),
);
?>
______________________________
вот код element.php из папки /bitrix/templates/store_light_red_copy/components/new1/catal
og/.default
_________________________________
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?
if($arParams["USE_COMPARE"]=="Y"):
$APPLICATION->IncludeComponent(
"bitrix:catalog.compare.list",
"store",
Array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"NAME" => $arParams["COMPARE_NAME"],
"DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["element"],
"COMPARE_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["compare"],
),
$component
);
endif;
?>
<?$ElementID=$APPLICATION->IncludeComponent(
"bitrix:catalog.element",
"",
Array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"PROPERTY_CODE" => $arParams["DETAIL_PROPERTY_CODE"],
"META_KEYWORDS" => $arParams["DETAIL_META_KEYWORDS"],
"META_DESCRIPTION" => $arParams["DETAIL_META_DESCRIPTION"],
"BROWSER_TITLE" => $arParams["DETAIL_BROWSER_TITLE"],
"BASKET_URL" => $arParams["BASKET_URL"],
"ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
"PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
"PRODUCT_QUANTITY_VARIABLE" => $arParams["PRODUCT_QUANTITY_VARIABLE"],
"PRODUCT_PROPS_VARIABLE" => $arParams["PRODUCT_PROPS_VARIABLE"],
"SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"],
"DISPLAY_PANEL" => $arParams["DISPLAY_PANEL"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"SET_TITLE" => $arParams["SET_TITLE"],
"SET_STATUS_404" => $arParams["SET_STATUS_404"],
"PRICE_CODE" => $arParams["PRICE_CODE"],
"USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"],
"SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"],
"PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"],
"PRICE_VAT_SHOW_VALUE" => $arParams["PRICE_VAT_SHOW_VALUE"],
"LINK_IBLOCK_TYPE" => $arParams["LINK_IBLOCK_TYPE"],
"LINK_IBLOCK_ID" => $arParams["LINK_IBLOCK_ID"],
"LINK_PROPERTY_SID" => $arParams["LINK_PROPERTY_SID"],
"LINK_ELEMENTS_URL" => $arParams["LINK_ELEMENTS_URL"],
"ELEMENT_ID" => $arResult["VARIABLES"]["ELEMENT_ID"],
"ELEMENT_CODE" => $arResult["VARIABLES"]["ELEMENT_CODE"],
"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
"SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"],
"DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["element"],
"OFFERS_FIELDS" => $arParams["OFFERS_FIELDS"],
"OFFERS_PROPERTIES" => $arParams["OFFERS_PROPERTIES"],
"USE_COMPARE" => $arParams["USE_COMPARE"],
"COMPARE_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["compare"],
"COMPARE_NAME" => $arParams["COMPARE_NAME"],
"ADD_SECTIONS_CHAIN" => "Y"
),
$component
);?>
<?if($arParams["USE_REVIEW"]=="Y" && IsModuleInstalled("forum") && $ElementID):?>
<br />
<?$APPLICATION->IncludeComponent(
"bitrix:forum.topic.reviews",
"",
Array(
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"MESSAGES_PER_PAGE" => $arParams["MESSAGES_PER_PAGE"],
"USE_CAPTCHA" => $arParams["USE_CAPTCHA"],
"PATH_TO_SMILE" => $arParams["PATH_TO_SMILE"],
"FORUM_ID" => $arParams["FORUM_ID"],
"URL_TEMPLATES_READ" => $arParams["URL_TEMPLATES_READ"],
"SHOW_LINK_TO_FORUM" => $arParams["SHOW_LINK_TO_FORUM"],
"ELEMENT_ID" => $ElementID,
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"POST_FIRST_MESSAGE" => $arParams["POST_FIRST_MESSAGE"],
"URL_TEMPLATES_DETAIL" => $arParams["POST_FIRST_MESSAGE"]==="Y"? $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["element"] :"",
),
$component
);?>
<?endif?>
<?if($arParams["USE_ALSO_BUY"] == "Y" && IsModuleInstalled("sale") && $ElementID):?>
<?$APPLICATION->IncludeComponent("bitrix:sale.recommended.products", ".default", array(
"ID" => $ElementID,
"MIN_BUYES" => $arParams["ALSO_BUY_MIN_BUYES"],
"ELEMENT_COUNT" => $arParams["ALSO_BUY_ELEMENT_COUNT"],
"LINE_ELEMENT_COUNT" => $arParams["ALSO_BUY_ELEMENT_COUNT"],
"DETAIL_URL" => $arParams["DETAIL_URL"],
"BASKET_URL" => $arParams["BASKET_URL"],
"ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
"PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
"SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"PRICE_CODE" => $arParams["PRICE_CODE"],
"USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"],
"SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"],
"PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"],
),
$component
);
?>
<?endif?>
________________________________________
вот код шаблона компонента который я переделывал
___________________________________________
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?if (is_array($arResult['DETAIL_PICTURE_350']) || count($arResult["MORE_PHOTO"])>0):?>
<script type="text/javascript">
$(function() {
$('div.catalog-detail-image a').fancybox({
'transitionIn': 'elastic',
'transitionOut': 'elastic',
'speedIn': 600,
'speedOut': 200,
'overlayShow': false,
'cyclic' : true,
'padding': 20,
'titlePosition': 'over',
'onComplete': function() {
$("#fancybox-title").css({ 'top': '100%', 'bottom': 'auto' });
}
});
});
</script>
<?endif;?>
<div class="catalog-detail">
<?
if (is_array($arResult['DISPLAY_PROPERTIES']) && count($arResult['DISPLAY_PROPERTIES']) > 0):
?>
<?$arProperty = $arResult["DISPLAY_PROPERTIES"]["RECOMMEND"]?>
<?if(count($arProperty["DISPLAY_VALUE"]) > 0):?>
<div class="catalog-detail-recommends">
<h4><?=$arProperty["NAME"]?></h4>
<div class="catalog-detail-recommend">
<?
global $arRecPrFilter;
$arRecPrFilter["ID"] = $arResult["DISPLAY_PROPERTIES"]["RECOMMEND"]["VALUE"];
$APPLICATION->IncludeComponent("bitrix:store.catalog.top", "", array(
"IBLOCK_TYPE" => "",
"IBLOCK_ID" => "",
"ELEMENT_SORT_FIELD" => "sort",
"ELEMENT_SORT_ORDER" => "desc",
"ELEMENT_COUNT" => $arParams["ELEMENT_COUNT"],
"LINE_ELEMENT_COUNT" => $arParams["LINE_ELEMENT_COUNT"],
"BASKET_URL" => $arParams["BASKET_URL"],
"ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
"PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"DISPLAY_COMPARE" => "N",
"PRICE_CODE" => $arParams["PRICE_CODE"],
"USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"],
"SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"],
"PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"],
"FILTER_NAME" => "arRecPrFilter",
"ELEMENT_COUNT" => 30,
),
$component
);
?>
</div>
</div>
<?unset($arResult["DISPLAY_PROPERTIES"]["RECOMMEND"])?>
<?endif;?>
<?endif;?>
<?
if (is_array($arResult['DISPLAY_PROPERTIES']) && count($arResult['DISPLAY_PROPERTIES']) > 0):
?>
<div class="catalog-detail-properties">
<h4><?=GetMessage('CATALOG_PROPERTIES')?></h4>
<div class="catalog-detail-line"></div>
<?foreach($arResult["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<div class="catalog-detail-property">
<span><?=$arProperty["NAME"]?></span>
<? if(is_array($arProperty["DISPLAY_VALUE"])): echo implode(" / ", $arProperty["DISPLAY_VALUE"]); elseif($pid=="MANUAL"): ?> [url=<?=$arProperty[]"><?=GetMessage("CATALOG_DOWNLOAD")?>[/url] <? else: echo $arProperty["DISPLAY_VALUE"]; endif; ?> </div>
<?endforeach;?>
</div>
<?endif;?>
<?if($arResult["DETAIL_TEXT"]):?>
<div class="catalog-detail-full-desc">
<h4><?=GetMessage('CATALOG_FULL_DESC')?></h4>
<div class="catalog-detail-line"></div>
<?=$arResult["DETAIL_TEXT"];?>
</div>
<?endif;?>
<?if(count($arResult["LINKED_ELEMENTS"])>0):?>
<a name="buy"></a>
<thead> <?if(is_array($arParams["OFFERS_FIELDS"])):?> <?foreach($arParams["OFFERS_FIELDS"] as $FIELD_CODE):?> <?if($FIELD_CODE):?><?echo GetMessage("IBLOCK_FIELD_".$FIELD_CODE)?> <?endif;?> <?endforeach;?> <?endif?> <?foreach($arResult["LINKED_ELEMENTS"][0]["DISPLAY_PROPERTIES"] as $arProperty):?><?echo $arProperty["NAME"];?> <?endforeach;?> <?foreach($arResult["LINKED_ELEMENTS"][0]["PRICES"] as $code=>$arPrice):?> <?if($arPrice["CAN_ACCESS"]):?><?echo $arResult["CAT_PRICES"][$code]["TITLE"];?> <?endif;?> <?endforeach;?><?echo GetMessage("CT_BCE_ACTION")?> <?foreach($arResult["LINKED_ELEMENTS"] as $arElement):?> <?if(is_array($arParams["OFFERS_FIELDS"])):?> <?foreach($arParams["OFFERS_FIELDS"] as $FIELD_CODE):?> <?if($FIELD_CODE):?><?echo $arElement[$FIELD_CODE]?> <?endif;?> <?endforeach;?> <?endif?> <?foreach($arElement["DISPLAY_PROPERTIES"] as $arProperty):?> <?if(is_array($arProperty["DISPLAY_VALUE"])): echo implode(" / ", $arProperty["DISPLAY_VALUE"]); elseif($arProperty["DISPLAY_VALUE"]===false): echo " "; else: echo $arProperty["DISPLAY_VALUE"];?> <?endif?> <?endforeach;?> <?foreach($arElement["PRICES"] as $code=>$arPrice):?> <?if($arPrice["CAN_ACCESS"]):?> <?if($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]):?> <?=$arPrice["PRINT_VALUE"]?> <span class="catalog-price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span> <?else:?> <span class="catalog-price"><?=$arPrice["PRINT_VALUE"]?></span> <?endif?> <?endif;?> <?endforeach;?> <?$url12='';$url11='';$url10='';$url10=$arelement[id];$url11='?action=ADD2BASKET&id='.$url10;$url12=$arElement["ADD_URL"].$url11;?> <noindex><?echo GetMessage("CATALOG_ADD_TO_BASKET")?> <noindex> <?if((count($arElement["PRICES"]) > 0) || is_array($arElement["PRICE_MATRIX"])):?> <?=GetMessage("CATALOG_NOT_AVAILABLE")?> <?endif?> <?endforeach;?>
<?endif?>
</div>
___________________________________________________
P.S. сначала был код такой на показ ссылки добавить в корзину
_____________________________________________________
<?if($arElement["CAN_BUY"]):?> <noindex>[url=<?echo $arElement[]" rel="nofollow"><?echo GetMessage("CATALOG_BUY")?>[/url] [url=<?echo $arElement[]" rel="nofollow"><?echo GetMessage("CATALOG_ADD_TO_BASKET")?>[/url]<noindex> <?elseif((count($arElement["PRICES"]) > 0) || is_array($arElement["PRICE_MATRIX"])):?> <?=GetMessage("CATALOG_NOT_AVAILABLE")?> <?endif?>_________________________________________________________