Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Сортировать по: Производителю

00 голосов
8
Здравствуйте - помогите пожалуйста нужно реализовать .

Сортировать по: Производителю

вот файл catalog - section


Код
 <?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;
?>
<!--noindex-->
<?if($arParams["USE_FILTER"]=="Y"):?>
<?$APPLICATION->IncludeComponent(
   "bitrix:store.catalog.filter",
   "",
   Array(
      "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
      "IBLOCK_ID" => $arParams["IBLOCK_ID"],
      "FILTER_NAME" => '',
      "FIELD_CODE" => $arParams["FILTER_FIELD_CODE"],
       "PROPERTY_CODE" => $arParams["FILTER_PROPERTY_CODE"],
      "PRICE_CODE" => $arParams["FILTER_PRICE_CODE"],
      "OFFERS_FIELD_CODE" => $arParams["FILTER_OFFERS_FIELD_CODE"],
      "OFFERS_PROPERTY_CODE" => $arParams["FILTER_OFFERS_PROPERTY_CODE"],
      "CACHE_TYPE" => $arParams["CACHE_TYPE"],
      "CACHE_TIME" => $arParams["CACHE_TIME"],
      "CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
   ),
   $component
);
?>
<?endif?>

<?
$arAvailableSort = array(
   "name" => Array("name", "asc"), 
   //"price" => Array('catalog_PRICE_'.$arResult['_PRICE_ID'], "asc"),
   "price" => Array('PROPERTY_MINIMUM_PRICE', "asc"),
    

);

$sort = array_key_exists("sort", $_REQUEST) && array_key_exists(ToLower($_REQUEST["sort"]), $arAvailableSort) ? $arAvailableSort[ToLower($_REQUEST["sort"])][0] : "name";
$sort_order = array_key_exists("order", $_REQUEST) && in_array(ToLower($_REQUEST["order"]), Array("asc")) ? ToLower($_REQUEST["order"]) : $arAvailableSort[$sort][1];   

?>

<div class="catalog-item-sorting">
   <label><?=GetMessage('SECT_SORT_LABEL')?>:</label>

   <?foreach ($arAvailableSort as $key => $val):
      $className = $sort == $val[0] ? 'selected' : '';
      if ($className) 
         $className .= $sort_order == 'asc' ? ' asc' : ' desc';
      $newSort = $sort == $val[0] ? $sort_order == 'desc' ? 'asc' : 'desc' : $arAvailableSort[$key][1];
   ?>

   <a href="<?=$APPLICATION->GetCurPageParam('sort='.$key.'&order='.$newSort,    array('sort', 'order'))?>" class="<?=$className?>" rel="nofollow"><?=GetMessage('SECT_SORT_'.$key)?></a>
   
   <?endforeach;?>
</div>

<!--/noindex-->
<?$APPLICATION->IncludeComponent(
   "bitrix:catalog.section",
   "",
   Array(
      "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
      "IBLOCK_ID" => $arParams["IBLOCK_ID"],
      "ELEMENT_SORT_FIELD" => $sort,//$arParams["ELEMENT_SORT_FIELD"],
      "ELEMENT_SORT_ORDER" => $sort_order,//$arParams["ELEMENT_SORT_ORDER"],
       "PROPERTY_CODE" => $arParams["LIST_PROPERTY_CODE"],
      "META_KEYWORDS" => $arParams["LIST_META_KEYWORDS"],
      "META_DESCRIPTION" => $arParams["LIST_META_DESCRIPTION"],
      "BROWSER_TITLE" => $arParams["LIST_BROWSER_TITLE"],
      "INCLUDE_SUBSECTIONS" => $arParams["INCLUDE_SUBSECTIONS"],
      "BASKET_URL" => $arParams["BASKET_URL"],
      "ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
      "PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
      "SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"],
      "FILTER_NAME" => $arParams["FILTER_NAME"],
      "DISPLAY_PANEL" => $arParams["DISPLAY_PANEL"],
      "CACHE_TYPE" => $arParams["CACHE_TYPE"],
      "CACHE_TIME" => $arParams["CACHE_TIME"],
      "CACHE_FILTER" => $arParams["CACHE_FILTER"],
      "CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
      "SET_TITLE" => $arParams["SET_TITLE"],
      "SET_STATUS_404" => $arParams["SET_STATUS_404"],
      "DISPLAY_COMPARE" => $arParams["USE_COMPARE"],
      "PAGE_ELEMENT_COUNT" => $arParams["PAGE_ELEMENT_COUN
спросил 02 Июнь, 13 от Odwin (420 баллов)

8 Ответы

00 голосов
Если вам нужно сортировать по производителя а это отдельно свойства , вам нужно использыватьй arFiler
ответил 02 Июнь, 13 от MAPKOBKA (380 баллов)
00 голосов
Если "Производитель" - свойство, то попробуйте $arAvailableSort сделать таким:
Код
$arAvailableSort = array(
   "name" => Array("name", "asc"), 
   //"price" => Array('catalog_PRICE_'.$arResult['_PRICE_ID'], "asc"),
   "price" => Array('PROPERTY_MINIMUM_PRICE', "asc"),
   "producer" => Array('PROPERTY_PRODUCER', "asc"),
);

В 'PROPERTY_PRODUCER' подставьте свой символьный код свойства "Производитель (тут - "PRODUCER").
ответил 08 Июнь, 13 от Fenozipam (420 баллов)
00 голосов
Спасибо попробую вставить ваш код.
ответил 09 Сен, 13 от Odwin (420 баллов)
00 голосов
Здравствуйте дошло дело до внедрения этого кода - вставил код - производитель -

Код
 "MANUFACTURER" => Array('PROPERTY_MANUFACTURER', "asc"),

Не чего не открывает - ссылки сортировать по производителю нет .
помогите пожалуйста
ответил 08 Дек, 13 от Odwin (420 баллов)
00 голосов
Попробуйте ключ массива исправить на строчные
Код
"manufacturer" => ...
ответил 21 Март, 14 от Fenozipam (420 баллов)
00 голосов
это как будет в целом выглядеть я вас не совсем понял
ответил 14 Июль, 14 от Odwin (420 баллов)
00 голосов
Код
$arAvailableSort = array(
   "name" => Array("name", "asc"), 
   //"price" => Array('catalog_PRICE_'.$arResult['_PRICE_ID'], "asc"),
   "price" => Array('PROPERTY_MINIMUM_PRICE', "asc"),
   "manufacturer" => Array('PROPERTY_MANUFACTURER', "asc"),
);
И почистите кеш.
ответил 14 Ноя, 14 от Fenozipam (420 баллов)
00 голосов
И так попробовал smile:cry:

Код
"manufacturer" => Array('PROPERTY_MANUFACTURER', "asc"),
 

и так

Код
    "manufacturer" => Array('PROPERTY_manufacturer', "asc"),

и вот так


Код
"manufacturer" => Array('manufacturer', "asc"),
 

кеш сбросил во всех браузерах и результата не какого (( версия битрикса 11
ответил 11 Март, 15 от Odwin (420 баллов)

Похожие вопросы

0 голосов
5 ответов
0 голосов
7 ответов
спросил 06 Июль, 13 от Aypuka (340 баллов)
0 голосов
9 ответов