Откройте настройки модуля (Настройки → Интернет-магазин). В списке модулей (слева) у магазина появится дерево настроек. Откройте раздел «Настройки». На первой вкладке «Организация» заполните данные вашей компании.
На второй вкладке «Настройки» проверьте чтобы был выбран компонент заказов который используется на сайте. Остальные поля заполните опционально.
Попеременно настройте следующие разделы:
В новом магазине будут использоваться данные из этих разделов вместо компонентов в предыдущей версии модуля интернет-магазина..
Полная информация по настройке компонента товаров есть в документации.
Проверьте список обязательных полей, возможно у вас некоторых не хватает. Свои поля, если они у вас есть остаются. В компоненты товаров нужно внести следующие изменения.
В объекте в списке компонента товара нужно инициализировать объект свойств товара:
$item = new nc_netshop_item($res[$f_RowNum]);
Для отображения вариантов товаров прежний код заменить на:
echo nc_netshop_item_variant_admin_table($item);
Варианты товаров можно отобразить в любом удобном виде.
Вывод цены нужно заменить с
$f_Price или $shop->FormatCurrency($f_Price, $f_Currency)
на
$item['OriginalPriceF'] или другой вариант цены, например со скидкой $item['ItemPriceF'].
Полный список полей в документации.
Обертку $shop->FormatCurrency($row['OriginalPrice']) везде убираем, используем готовые форматированные свойства объекта $item['OriginalPriceF'] или добавляем новую обертку $netshop->format_price($item['OriginalPrice']).
Объект автоматически форматирует цену в зависимости от валюты.
В форме корзины заменить атрибуте action с
action='<?= $SUB_FOLDER . $HTTP_ROOT_PATH; ?>modules/netshop/post.php'
на
action='<?=$netshop->get_add_to_cart_url();?>'
Создать объект:
$item = new nc_netshop_item($resMsg);
Для отображения вариантов товаров прежний код заменить на:
echo nc_netshop_item_variant_admin_table($item);
Вывод кнопки добавления в корзину аналогичный предыдущему.
Для фиксирования последних просмотренных товаров добавить:
$netshop->goodslist_recent->add($f_RowID, $classID);
Убрать код, относящийся к прежнему модулю магазина, это все связанное с объектом $shop, если непонятно что относится к старому магазину, то можно пока оставить или обратиться в техподдержку.
Вместо этого нужно в любом месте (в системных настройках или в шаблоне вывода навигации) добавить инициализацию объекта:
$netshop = nc_netshop::get_instance();
В макете пропишите вывод корзины. Пример вывода есть на странице документации.
Добавьте раздел с компонентом «Страница Заказ оформлен» и впишите ссылку на него в коде действия после добавления заказа,
в строке
header("Location: {$nc_core->SUB_FOLDER}/orders/added" . ($invoice ? ("?invoice=" . $invoice->get('id')) : ""));
замените /orders/added на свой путь, например /ishop/added
Также в самом компоненте "Страница Заказ оформлен" впишите адрес возврата в ссылке
<a href="<?= $nc_core->SUB_FOLDER; ?>/ishop/">Вернуться к покупкам</a>
В личном кабинете используйте основной компонент заказов вместо шаблона "для личного кабинета".
Если вы переделываете старый комопнент заказов, вместо уствновки нового, добавьте шаблон для режима администрирования.
В новом модуле интернет-магазина вы можете воспользоваться виджетами:
Подключите их при необходимости.
Здесь вы можете скачать некоторые компоненты с комментариями:
После настройки нового магазина можно удалить некоторые инфоблоки из каталога магазина, они все относятся к старому магазину и не используются в новом:
1. При использовании старого компонента заказов нужно добавить в него поля:
user_hash: недоступно никому
без этого поля неавторизованный пользователь не увидит страницу после добавления.
TotalGoods: количество товаров, целое число, недоступно никому, остальное по умолчанию
TotalPrice: сумма заказа, число с плавающей запятой, недоступно никому, остальное по умолчанию
без этих полей в настройках модуля магазина могут вылезти ошибки вида:
Warning: Unknown column 'TotalGoods' in 'where clause' in /home/www/netcat/system/nc_db.class.php on line 212
Warning: Unknown column 'TotalPrice' in 'field list' in /home/www/netcat/system/nc_db.class.php on line 212
Также добавьте в компонент заказов поля:
City - Город, список, формат Region
Zip - Индекс, строка
они нужны для расчета почтовой доставки.
2. Если будет отсутствовать возможность выбора автоматического расчета доставки EMS или почты, выполните в SQL-консоли команду:
INSERT INTO `Classificator_ShopDeliveryService` (`ShopDeliveryService_Name`, `ShopDeliveryService_Priority`, `Value`, `Checked`) VALUES ('Почта России', 1, 'nc_netshop_delivery_service_russianpost', 1), ('EMS', 2, 'nc_netshop_delivery_service_ems', 1);
3. Если в настройках модуля платежей будет отсутствовать возможность настройки платежек для сайта, необходимо выполнить в SQL-консоли две команды:
TRUNCATE TABLE `Classificator_PaymentSystem`;
INSERT INTO `Classificator_PaymentSystem` (`PaymentSystem_ID`, `PaymentSystem_Name`, `PaymentSystem_Priority`, `Value`, `Checked`) VALUES (1, 'По квитанции Сбербанка', 1, 'nc_payment_system_sberbank', 1), (2, 'Payonline', 2, 'nc_payment_system_payonline', 1), (3, 'WebMoney', 3, 'nc_payment_system_webmoney', 1), (4, 'Robokassa', 4, 'nc_payment_system_robokassa', 1), (5, 'Qiwi', 5, 'nc_payment_system_qiwi', 1), (6, 'PayPal', 6, 'nc_payment_system_paypal', 1), (7, 'Paymaster', 7, 'nc_payment_system_paymaster', 1), (8, 'MailMoney', 8, 'nc_payment_system_mailru', 1), (9, 'Яндекс.Деньги', 9, 'nc_payment_system_yandexcpp', 1), (10, 'Яндекс.Деньги (устаревшее API)', 10, 'nc_payment_system_yandexemail', 1), (11, 'Assist', 11, 'nc_payment_system_assist', 1), (12, 'Platidoma', 12, 'nc_payment_system_platidoma', 1), (13, 'Счет на юр. лицо', 13, 'nc_payment_system_bank', 1);
Комментарии 3