Переход на раздел покупателя D7
Раздел покупателя D7 от 1С-Битрикс доступен в решениях «Аспро: Оптимус» и «Аспро: Маркет».
Преимущества нового раздела:
1. Вся информация о пользователе и его заказах собрана в одном месте.
2. Возможность управлять профилями покупателей, задавая для каждого из них свои способы оплаты, доставки и т.д.
3. Поддержка разделения заказов и оплаты.
4. Различные сценарии работы со счетом, который можно пополнить и без оформления заказа.
Подробнее о преимуществах – в блоге Аспро.
Вы можете переключиться на раздел покупателя D7 самостоятельно, отредактировав файлы решения.
Внимание! Перед внесением правок в код обязательно создайте резервную копию сайта. Мы настоятельно не рекомендуем редактировать код компонента, если вы не обладаете базовыми знаниями в веб-разработке. В этом случае обратитесь в техническую поддержку Аспро с запросом о подключении раздела покупателя D7.
Переключитесь на административную часть сайта и перейдите в Рабочий стол → Контент → Структура сайта → Файлы и папки → personal. Найдите файл index.php и откройте его для редактирования как PHP.
Удалите существующий код и вставьте новый.
Для «Аспро: Маркет»:
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Личный кабинет");
?>
<?
global $USER;
if(!$USER->isAuthorized()){
LocalRedirect(SITE_DIR.'auth/?backurl='.SITE_DIR.'personal/');
}
else{
//LocalRedirect(SITE_DIR.'personal/personal-data');?>
<div class="left_block">
<?$APPLICATION->IncludeComponent("bitrix:menu", "left_menu", array(
"ROOT_MENU_TYPE" => "left",
"MENU_CACHE_TYPE" => "A",
"MENU_CACHE_TIME" => "3600",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => array(
),
"MAX_LEVEL" => "1",
"CHILD_MENU_TYPE" => "left",
"USE_EXT" => "N",
"DELAY" => "N",
"ALLOW_MULTI_SELECT" => "N"
),
false
);?>
</div>
<div class="right_block">
<div class="personal_wrapper">
<?$APPLICATION->IncludeComponent(
"bitrix:sale.personal.section",
"main",
array(
"ACCOUNT_PAYMENT_ELIMINATED_PAY_SYSTEMS" => array(
0 => "0",
),
"ACCOUNT_PAYMENT_PERSON_TYPE" => "1",
"ACCOUNT_PAYMENT_SELL_SHOW_FIXED_VALUES" => "Y",
"ACCOUNT_PAYMENT_SELL_TOTAL" => array(
0 => "100",
1 => "200",
2 => "500",
3 => "1000",
4 => "5000",
5 => "",
),
"ACCOUNT_PAYMENT_SELL_USER_INPUT" => "Y",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
"CACHE_GROUPS" => "Y",
"CACHE_TIME" => "3600",
"CACHE_TYPE" => "A",
"CHECK_RIGHTS_PRIVATE" => "N",
"COMPATIBLE_LOCATION_MODE_PROFILE" => "N",
"CUSTOM_PAGES" => "",
"CUSTOM_SELECT_PROPS" => array(
),
"NAV_TEMPLATE" => "",
"ORDER_HISTORIC_STATUSES" => array(
0 => "F",
),
"PATH_TO_BASKET" => "/basket/",
"PATH_TO_CATALOG" => "/catalog/",
"PATH_TO_CONTACT" => "/contacts",
"PATH_TO_PAYMENT" => "/order/payment",
"PER_PAGE" => "20",
"PROP_1" => array(
),
"PROP_2" => array(
),
"SAVE_IN_SESSION" => "Y",
"SEF_FOLDER" => "/personal/",
"SEF_MODE" => "Y",
"SEND_INFO_PRIVATE" => "N",
"SET_TITLE" => "Y",
"SHOW_ACCOUNT_COMPONENT" => "Y",
"SHOW_ACCOUNT_PAGE" => "Y",
"SHOW_ACCOUNT_PAY_COMPONENT" => "Y",
"SHOW_BASKET_PAGE" => "Y",
"SHOW_CONTACT_PAGE" => "Y",
"SHOW_ORDER_PAGE" => "Y",
"SHOW_PRIVATE_PAGE" => "Y",
"SHOW_PROFILE_PAGE" => "Y",
"SHOW_SUBSCRIBE_PAGE" => "Y",
"USER_PROPERTY_PRIVATE" => "",
"USE_AJAX_LOCATIONS_PROFILE" => "N",
"COMPONENT_TEMPLATE" => "main",
"ACCOUNT_PAYMENT_SELL_CURRENCY" => "RUB",
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO",
"SEF_URL_TEMPLATES" => array(
"index" => "index.php",
"orders" => "orders/",
"account" => "account/",
"subscribe" => "subscribe/",
"profile" => "profiles/",
"profile_detail" => "profiles/#ID#",
"private" => "private/",
"order_detail" => "orders/#ID#",
"order_cancel" => "cancel/#ID#",
)
),
false
);?>
</div>
</div>
<?}
?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
Код для «Аспро: Оптимус»:
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Личный кабинет");
?>
<?
global $USER;
if(!$USER->isAuthorized()){
LocalRedirect(SITE_DIR.'auth/?backurl='.SITE_DIR.'personal/');
}
else{
//LocalRedirect(SITE_DIR.'personal/personal-data');?>
<?$APPLICATION->IncludeComponent(
"bitrix:sale.personal.section",
"main",
array(
"ACCOUNT_PAYMENT_ELIMINATED_PAY_SYSTEMS" => array(
0 => "0",
),
"ACCOUNT_PAYMENT_PERSON_TYPE" => "1",
"ACCOUNT_PAYMENT_SELL_SHOW_FIXED_VALUES" => "Y",
"ACCOUNT_PAYMENT_SELL_TOTAL" => array(
0 => "100",
1 => "200",
2 => "500",
3 => "1000",
4 => "5000",
5 => "",
),
"ACCOUNT_PAYMENT_SELL_USER_INPUT" => "Y",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
"CACHE_GROUPS" => "Y",
"CACHE_TIME" => "3600",
"CACHE_TYPE" => "A",
"CHECK_RIGHTS_PRIVATE" => "N",
"COMPATIBLE_LOCATION_MODE_PROFILE" => "N",
"CUSTOM_PAGES" => "",
"CUSTOM_SELECT_PROPS" => array(
),
"NAV_TEMPLATE" => "",
"ORDER_HISTORIC_STATUSES" => array(
0 => "F",
),
"PATH_TO_BASKET" => "/basket/",
"PATH_TO_CATALOG" => "/catalog/",
"PATH_TO_CONTACT" => "/contacts",
"PATH_TO_PAYMENT" => "/order/payment",
"PER_PAGE" => "20",
"PROP_1" => array(
),
"PROP_2" => array(
),
"SAVE_IN_SESSION" => "Y",
"SEF_FOLDER" => "/personal/",
"SEF_MODE" => "Y",
"SEND_INFO_PRIVATE" => "N",
"SET_TITLE" => "Y",
"SHOW_ACCOUNT_COMPONENT" => "Y",
"SHOW_ACCOUNT_PAGE" => "Y",
"SHOW_ACCOUNT_PAY_COMPONENT" => "Y",
"SHOW_BASKET_PAGE" => "Y",
"SHOW_CONTACT_PAGE" => "Y",
"SHOW_ORDER_PAGE" => "Y",
"SHOW_PRIVATE_PAGE" => "Y",
"SHOW_PROFILE_PAGE" => "Y",
"SHOW_SUBSCRIBE_PAGE" => "Y",
"USER_PROPERTY_PRIVATE" => "",
"USE_AJAX_LOCATIONS_PROFILE" => "N",
"COMPONENT_TEMPLATE" => "main",
"ACCOUNT_PAYMENT_SELL_CURRENCY" => "RUB",
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO",
"SEF_URL_TEMPLATES" => array(
"index" => "index.php",
"orders" => "orders/",
"account" => "account/",
"subscribe" => "subscribe/",
"profile" => "profiles/",
"profile_detail" => "profiles/#ID#",
"private" => "private/",
"order_detail" => "orders/#ID#",
"order_cancel" => "cancel/#ID#",
)
),
false
);?>
<?}?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
Сохраните изменения. Найдите и откройте для редактирования как PHP файл «Меню типа «left» или .left.menu.php.
Аналогичным образом замените код на новый.
Для решения «Аспро: Маркет»:
<?
$aMenuLinks = Array(
Array(
"Мой кабинет",
"/personal/",
Array(),
Array(),
""
),
Array(
"Текущие заказы",
"/personal/orders/",
Array(),
Array(),
""
),
Array(
"Личный счет",
"/personal/account/",
Array(),
Array(),
"CBXFeatures::IsFeatureEnabled('SaleAccounts')"
),
Array(
"Личные данные",
"/personal/private/",
Array(),
Array(),
""
),
Array(
"Сменить пароль",
"/personal/change-password/",
Array(),
Array(),
""
),
Array(
"История заказов",
"/personal/orders/?filter_history=Y",
Array(),
Array(),
""
),
Array(
"Профили заказов",
"/personal/profiles/",
Array(),
Array(),
""
),
Array(
"Корзина",
"/basket/",
Array(),
Array(),
""
),
Array(
"Подписки",
"/personal/subscribe/",
Array(),
Array(),
""
),
Array(
"Контакты",
"/contacts/",
Array(),
Array(),
""
),
Array(
"Выйти",
"?logout=yes&login=yes",
Array(),
Array("class"=>"exit"),
""
)
);
?>
Для решения «Аспро: Оптимус»:
<?
$aMenuLinks = Array(
Array(
"Мой кабинет",
"/personal/index.php",
Array(),
Array(),
""
),
Array(
"Текущие заказы",
"/personal/orders/",
Array(),
Array(),
""
),
Array(
"Личный счет",
"/personal/account/",
Array(),
Array(),
"CBXFeatures::IsFeatureEnabled('SaleAccounts')"
),
Array(
"Личные данные",
"/personal/private/",
Array(),
Array(),
""
),
Array(
"Сменить пароль",
"/personal/change-password/",
Array(),
Array(),
""
),
Array(
"История заказов",
"/personal/orders/?filter_history=Y",
Array(),
Array(),
""
),
Array(
"Профили заказов",
"/personal/profiles/",
Array(),
Array(),
""
),
Array(
"Корзина",
"/basket/",
Array(),
Array(),
""
),
Array(
"Подписки",
"/personal/subscribe/",
Array(),
Array(),
""
),
Array(
"Контакты",
"/contacts/",
Array(),
Array(),
""
),
Array(
"Выйти",
"?logout=yes&login=yes",
Array(),
Array("class"=>"exit"),
"\$GLOBALS['USER']->isAuthorized()"
)
);
?>
Сохраните изменения.
Переключитесь на публичную часть сайта и активируйте режим правки. Перейдите в личный кабинет и нажмите всплывающую кнопку с шестеренкой, чтобы войти в режим редактирования параметров компонента.
Откроется окно настроек личного кабинета. Не внося изменения, нажмите кнопку «Сохранить».
После проделанных операций сбросьте кэш сайта. Инструкция (ссылка на урок).