Используется bitrix:catalog, конкретнее шаблон catalog.element.
Выборка сделана с параметрами, указанными ниже.
Вопрос в следующем: как сделать, чтобы пользователи, состоящие в определённых группах, видели только свои типы цен?
В панели управления (Рабочий стол / Магазин / Торговый каталог / Типы цен) указал ограниченные привилегии:
- Группы пользователей, имеющие права на просмотр этого типа цен
- Группы пользователей, имеющие права на покупку по этому типу цен
Но не смотря на это, пользователь состоящий в группе "Зарегистрированные пользователи" видит все цены, выведенные в шаблоне catalog.element.
Я вижу решение методом "костылей" в том, чтобы до подключения компонента "bitrix:catalog" проверить, в какой группе состоит пользователь, и в зависимости от результата указывать параметр "PRICE_CODE".
[I]Но будет ли при этом правильно работать заказ товара? Тем более в интеграции с 1С.[/I]
Вот код подключения каталога:
[CODE]
<?$APPLICATION->IncludeComponent("bitrix:catalog", "my_offers", array(
"IBLOCK_TYPE" => "1c_catalog",
"IBLOCK_ID" => "74",
"BASKET_URL" => "/personal/cart/",
"ACTION_VARIABLE" => "action",
"PRODUCT_ID_VARIABLE" => "id",
"SECTION_ID_VARIABLE" => "SECTION_ID",
"SEF_MODE" => "N",
"SEF_FOLDER" => "/e-store/xml_catalog/",
"AJAX_MODE" => "N",
"AJAX_OPTION_SHADOW" => "Y",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
"DISPLAY_PANEL" => "N",
"SET_TITLE" => "N",
"SET_STATUS_404" => "N",
"USE_FILTER" => "Y",
"FILTER_NAME" => "",
"FILTER_FIELD_CODE" => array(
0 => "NAME",
1 => "",
),
"FILTER_PROPERTY_CODE" => array(
0 => "",
1 => "CML2_ARTICLE",
2 => "CML2_BAR_CODE",
3 => "",
),
"FILTER_PRICE_CODE" => array(
),
"USE_REVIEW" => "N",
"USE_COMPARE" => "N",
"PRICE_CODE" => array(
0 => " МЕЛКООПТОВЫЕ без НДС",
1 => " ОПТОВЫЕ без НДС+ДОСТАВКА"
),
"USE_PRICE_COUNT" => "N",
"SHOW_PRICE_COUNT" => "1",
"PRICE_VAT_INCLUDE" => "N",
"PRICE_VAT_SHOW_VALUE" => "N",
"SHOW_TOP_ELEMENTS" => "N",
"PAGE_ELEMENT_COUNT" => "20",
"LINE_ELEMENT_COUNT" => "2",
"ELEMENT_SORT_FIELD" => "id",
"ELEMENT_SORT_ORDER" => "asc",
"LIST_PROPERTY_CODE" => array(
0 => "",
1 => "CML2_ARTICLE",
2 => "CML2_BASE_UNIT",
3 => "CML2_BAR_CODE",
4 => "",
),
"INCLUDE_SUBSECTIONS" => "Y",
"LIST_META_KEYWORDS" => "-",
"LIST_META_DESCRIPTION" => "-",
"LIST_BROWSER_TITLE" => "-",
"DETAIL_PROPERTY_CODE" => array(
0 => "",
1 => "CML2_ARTICLE",
2 => "CML2_BASE_UNIT",
3 => "CML2_BAR_CODE",
4 => "CML2_ATTRIBUTES",
5 => "",
),
"DETAIL_META_KEYWORDS" => "-",
"DETAIL_META_DESCRIPTION" => "-",
"DETAIL_BROWSER_TITLE" => "-",
"LINK_IBLOCK_TYPE" => "1c_catalog",
"LINK_IBLOCK_ID" => "75",
"LINK_PROPERTY_SID" => "CML2_LINK",
"LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#",
"USE_ALSO_BUY" => "N",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"PAGER_TITLE" => "Товары",
"PAGER_SHOW_ALWAYS" => "Y",
"PAGER_TEMPLATE" => "",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "Y",
"OFFERS_FIELDS" => array(
0 => "NAME",
1 => "",
),
"OFFERS_PROPERTIES" => array(
0 => "",
1 => "",
),
"AJAX_OPTION_ADDITIONAL" => "",
"VARIABLE_ALIASES" => array(
"SECTION_ID" => "SECTION_ID",
"ELEMENT_ID" => "ELEMENT_ID",
)
),
false
);?>[/CODE]
P.S.: Смотрите [URL=http://dev.1c-bitrix.ru/community/forums/forum6/topic27336/]тему касательно ошибки выборки типов цен[/URL].