Как забарть параметр id находящийся в торговых предложениях в 1с каталоге
30.05.2011 17:29:48
Как забарть параметр id находящийся в торговых предложениях в 1с каталоге
|
|
|
|
30.05.2011 17:52:14
Опишите задачу подробнее.
Не надо сверлить зубы через задний проход дрелью от Сваровски
|
|
|
|
30.05.2011 19:43:39
Есть интернет магазин. в нем через комплексный компонент bitrix:catalog с шаблоном .defaults выводятся
товара(здесь все хорошо было) Заказчик потребовал чтобы выводились его характеристики из 1С. Выгрузка проходит хорошо все выгружается. Есть вызов характеристик в шаблоне offers, оттуда я взял часть кода но он неработал(непоказывал добавить в корзину) из-за этого я решил убрать условие на проверку товара по которому выводится ссылка и напрямую задать url но для этого требуется считать поле ID про которое я и спрашивал Вот код .parametrs.php из папки /bitrix/templates/store_light_red_copy/components/new1/catal ____________________________________________________________ <? 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 _________________________________ <?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>
</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?> _________________________________________________________ |
||||||||||||
|
|