Переход на раздел покупателя 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()"

        )

);

?>

Сохраните изменения.

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

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

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