1. aspro.ru
  2. Аспро: Оптимус
  3. Настройка
  4. Раздел покупателя D7

Раздел покупателя D7


Раздел покупателя D7 от 1С-Битрикс доступен в решениях «Аспро: Оптимус» (версия 1.0.4 и выше), «Аспро: Маркет» (версия 1.2.10 и выше) и «Аспро: Крутой шоп» (версия 1.1.4).

Преимущества нового раздела:
  1. Вся информация о пользователе и его заказах собрана в одном месте.
  2. Возможность управлять профилями покупателей, задавая для каждого из них свои способы оплаты, доставки и т.д.
  3. Поддержка разделения заказов и оплаты.
  4. Различные сценарии работы со счетом, который можно пополнить и без оформления заказа.
Вы можете переключиться на раздел покупателя D7 самостоятельно, отредактировав или заменив файлы решения. 
Архив с файлами index.php и .left.menu.php

Внимание! Перед внесением правок в код обязательно создайте резервную копию сайта. Мы настоятельно не рекомендуем редактировать код компонента, если вы не обладаете базовыми знаниями в веб-разработке. В этом случае обратитесь в техническую поддержку Аспро с запросом о подключении раздела покупателя D7.

Переключитесь на административную часть сайта и перейдите в Рабочий стол → Контент → Структура сайта → Файлы и папки → personal. Найдите файл index.php и откройте его для редактирования как PHP.

f22978b0-7b64-11f1-8fe4-fa163e2ff576

Удалите существующий код и скопируйте новый. Ниже приводим нужные фрагменты кода. 

Для решения «Аспро: Маркет» и «Аспро: Крутой шоп»:

<?
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()" 
	)
);
?>

Переключитесь на публичную часть сайта и активируйте режим правки. Перейдите в личный кабинет и нажмите всплывающую кнопку с шестеренкой, чтобы войти в режим редактирования параметров компонента.

7018d01c-7b5c-11f1-8fe4-fa163e2ff576

Откроется окно настроек личного кабинета. Не внося изменения, нажмите кнопку «Сохранить».  

После проделанных операций сбросьте кэш сайта. Инструкция

Предыдущая статья Настройка отображения для свойств типа «Справочник»
Следующая статья Кнопка «Поделиться» в соцсетях