Multi-vendor

Панель администратора¶

Для удобного управления объектами панель управления имеет 3 режима:


  • All stores — режим управления всеми витринами. В этом режиме администратору доступны управление всеми объектами и параметрами интернет магазина.
  • Selected storefront — режим управления витриной. В этом режиме панель настроена на эффективное управление данными конкретной витрины.
  • Simple Ultimate — частный случай, когда в магазине всего лишь одна витрина. В таком режиме администратор не имеет никаких ограничений и может управлять любыми объектами. В этом режиме опускаются ряд проверок, связанных с определением владельца того или иного объекта, что ускоряет работу скриптов. В режиме Simple ultimate значение будет определено в , таким образом можно разделять логику внутри кода.

Текущий идентификатор витрины можно получить следующим образом:

Соответственно, если в текущий момент администратор находится в режиме All stores, значением этого ключа будет . Нужно отметить, что в режиме Simple ultimate значение также будет равно , для получения текущего идентификатора витрины необходимо использовать .

Общие вопросы¶

CS-Cart – это готовое решение для интернет-торговли, оно включает в себя все возможности, необходимые для построения успешного и конкурентоспособного онлайн-бизнеса.

Разработанный с использованием технологии открытого исходного кода, PHP/MySQL, Smarty, магазин CS-Cart является гибкой системой, которую можно легко настроить под потребности конкретного бизнеса. Функционал программы может быть без проблем расширен в соответствии с Вашими требованиями и нуждами. Платформа CS-Cart устанавливается только на Ваш веб-сайт (центральный сервер), его панель администратора и витрина управляются через браузер, позволяя зайти в магазин отовсюду, где есть интернет-соединение.

CS-Cart — новейшая система с функционалом мультивитринности, позволяющая управлять несколькими витринами с общей базой данных из одной панели администратора;

Чтобы узнать больше о платформе CS-Cart, Вы можете посмотреть список ее основных характеристик, прочитать полную документацию или просто протестировать онлайн демо-магазин и увидеть, как можно легко начать свой бизнес с CS-Cart.

Хотя CS-Cart работает на Windows и системах семейства Unix одинаково хорошо, мы бы порекомендовали устанавливать CS-Cart на такие системы, как Linux или FreeBSD, так как в них улучшена система безопасности и управления правами доступа.

CS-Cart работает со всеми наиболее популярными браузерами, включая FireFox, Internet Explorer, Netscape, Opera и Safari.

CS-Cart можно использовать и как отдельный магазин, и как часть уже существующего сайта, в обоих случаях CS-Cart будет работать превосходно.

Вы также можете изменять дизайн магазина CS-Cart на свое усмотрение, чтобы он совпадал с дизайном основного сайта.

Новые версии CS-Cart с обновленными модулями, темами и т.д. выпускаются 2-3 раза в год. О новых релизах мы сообщаем в нашем блоге.

В CS-Cart 100% открытый доступ к коду, поэтому его легко изменять. Вы можете вносить любые изменения в исходный код и расширять стандартную функциональность. Но помните, что ответственность за возможные последствия будет лежать на Вас. Если возникнут проблемы, наша техподдержка не сможет Вам помочь, потому что в их обязанности не входит анализ изменений, внесенных пользователями CS-Cart или сторонними разработчиками.

Также наши партнеры-разработчики с радостью помогут изменить Ваш магазин на платной основе в соответствии с Вашими требованиями и нуждами.

Да. CS-Cart поддерживает платежные системы Яндекс.Касса и PayPal, а также в него полностью интегрированы более 70 систем оплаты. Полный список платёжных систем для России Вы можете найти на странице «Способы оплаты». Если необходимой Вам системы оплаты нет в списке, то Вы всегда сможете поискать нужный модуль в Маркете или обратиться к интеграторам, чтобы они разработали нужный модуль для Вашего магазина.

Структура контроллера¶

Контроллер — php-файл, состоящий из трёх логических блок:

  1. Секция обработки -запросов.
  2. Секция обработки -запросов.
  3. Локальные функции контроллера.

Секции и разделены на блоки по режимам (mode) работы — .

Применяется для обработки данных с форм, AJAX-запросов и т.д. Когда Вы нажимаете кнопку в панели администратора или витрине, то обработка запроса будет происходить именно в этой секции контроллера. Обычно работа контроллера в данной секции завершается переходом на другой (или этот же) контроллер, где вступает в работу секция обработки -запросов.

Секция всегда расположена перед секцией в файле контроллера и заключена в условие:

if ($_SERVER'REQUEST_METHOD' == 'POST') {

    // ...

}

Секция разделена на блоки в зависимости от режима (mode) работы — :

if ($_SERVER'REQUEST_METHOD' == 'POST') {

    if ($mode == 'update') {
        //  — update
    }

    if ($mode == 'delete') {
        //  — delete
    }

    return array(CONTROLLER_STATUS_OK, "");
}

В конце секции обязательно необходимо вернуть массив с результатом работы, включающий статус и URL перенаправления:

return array(CONTROLLER_STATUS_OK, "");

где:

— константа со статусом работы контроллера.

— URL для перенаправления после обработки запроса.

После обработки секции управление будет передано в функцию , и будет осуществлён последующий переход на .

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

if ($_SERVER'REQUEST_METHOD' == 'POST') {

    if ($mode == 'update') {

        $data = array (
            'amount' => 5,
            'status' => 'A',
        );

        $product_id = 3;

        db_query('UPDATE ?:products SET ?u WHERE product_id = ?i', $data, $product_id);

    }

    return array(CONTROLLER_STATUS_OK, "products.update");
}

// Начало секции GET 
if ($mode == 'update') {
    //.......
}

Применяется при открытии страниц или для получения информации из базы данных и вывода на экран. Когда Вы открываете страницу в браузере, именно данный раздел контроллера работает над данными для открытия страницы.

Секция -запросов всегда располагается после секции в файле контроллера и разделена на блоки режимов (mode) работы:

if ($mode == '') {

} elseif ($mode == '') {

}

Блоки выполняются в зависимости от значения параметра URL параметра

Работа контроллера в данной секции обычно заканчивается:

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

В первом случае Вам необходимо передать информацию на отображение с помощью функции:

$view->assign('template_var_name', $php_var_name);

// где $view = Registry::get('view');

В данном случае в шаблоне будет доступна smarty-переменная , равная .

После завершения работы контроллера работу автоматически продолжит функция . Шаблон отображения будет определён автоматически, в нём будут доступны переменные, переданные контроллером.

Рассмотрим страницу “Заказы” в панели администратора — отображает список заказов.

URL:

Из URL мы можем определить:

  1. Название контроллера —


    Будет подключен и выполнен файл контроллера:

  2. Режим (mode) работы контроллера —

    В контроллере будет исполнен код из блока:

    if ($mode == 'manage') {
    
    }
    
  3. Для отображения будет автоматически подключен шаблон:

    Примечание

    Для панели администратора подключаются шаблоны:

    Для витрины подключаются шаблоны:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

// Подключение класса Registry
use Tygh\Registry; 

if ($_SERVER'REQUEST_METHOD' == 'POST') {
    //......
}

// Секция GET
if ($mode == 'update') {

    $id = $_REQUEST'product_id'];

    $data = db_get_row("SELECT * FROM ?:products WHERE product_id = ?i", $id);

    Registry::get('view')->assign('data', $data);

} elseif ($mode == 'manage') {

    $products = fn_get_products($_REQUEST);

    Registry::get('view')->assign('products', $products);

}

Key Vendor Features in Multi-Vendor

An online vendor is the one who sells in an internet marketplace. A Multi-Vendor marketplace can have an unlimited number of vendors. To become a vendor in a Multi-Vendor shopping mall, a candidate fills in the application form, gets the admin’s approval, and starts showcasing the products on a common storefront. Just like on eBay, every market vendor has his own mini-store with the search, filters, categories, and the vendor’s personal online storefront. Vendors pay commissions from their sales and subscribe to vendor pricing plans with monthly fees.

Separate vendor panel

Separate mini store for every vendor

26 built-in translations

Real-time and manual shipping calculations

Comments and reviews

Vendor account balance, sales reports & statistics

Functionality

  • Yes. CS-Cart software is completely search engine friendly and designed to get optimum results in the major search engines. The SEO addon, which allows you to automatically create dynamic URLs from static ones, is integrated with CS-Cart. The enabled add-on may elevate the ranking of your web site in a search engine listing. We also recommend adding metatags and keywords to all pages of your store.

  • Yes. CS-Cart is completely multilingual. Each version of CS-Cart and Multi-Vendor software contains translations that were fully or partly completed at the release date (95% and more language variables translated). Translations with less than 95% completeness are also available to download at crowdin.com/project/cs-cart-latest.

    Additionally, the content of any CS-Cart pages both in the storefront and admin panel can be easily translated into any language, allowing you to add a new language in the CS-Cart admin panel on your own.

    You can learn more about CS-Cart translation features by visiting our Knowledge Base.

  • Yes. Our admin panel features an option for closing the store to the public, while also allowing you access to the store at any time.

  • No. The CS-Cart import feature allows you to upload your entire product database at once in a CSV format (supported by MS Excel). You can also use this feature to import your user, order and translation databases.

  •  Is it possible to add options (e.g. color) to each individual product?

    Yes. Options can be added on a per-product basis. The additional product options will be displayed on the product list and product details pages in the customer front-end.

    You can add a wide range of options and use our settings to adjust them however you need. You are able to select a display type of the option: a select or a check box, a radio group, a text input text or a text area. Some options may have different variants (color — black, white, green, etc.) and it is possible to specify a separate price for each of these option variants as well as image. Moreover, you have the ability to create a global option and apply it to all selected products with one click.

  • CS-Cart software collects a wide range of statistics covering various aspects of store attendance. Analyzing this information allows store administrators to make necessary improvements and maximize store efficiency.

  •  Is there a limit to the number of products I can have in my store?

    No. With CS-Cart you can have an unlimited number of products as well as categories. Thanks to the use of the world’s most famous MySQL databases and other contemporary technologies, CS-Cart does not limit you in any way.

Purchase & Support

  • Order processing usually takes several hours, but not usually more than one business day. More details about the purchase can be found on the How will I get CS-Cart? page.

  • Begin with purchasing your first CS-Cart license on the Buy Now page of this website. As a result of the purchase, you will be provided with access to our Customer Help Desk, where you can download the program and buy the additional licenses at a discounted price once your order is complete and verified.

  • Absolutely. You can purchase a CS-Cart license even if you don’t know your future domain name at this time. Enter «localhost» into the «License URL» field at checkout and you will be allowed to install on a local computer or network. Before installing CS-Cart on a web site, you must inform us of the proper domain name, so that we can update our license database.

  • If you decide to use CS-Cart on a site with a new domain name, it is necessary to inform us of the change in the license domain name in advance. You can do so by sending the request to our Customer Help Desk and specifying the new domain name of the site.

  • Each CS-Cart license allows installation of an additional copy of CS-Cart for development and testing purposes. This copy must be unavailable for public access on the Internet, which can be done either by installing CS-Cart on a local computer or defining an access password to it.

  • Please contact us and our specialist will offer you another way to pay for the software or our services.

  •  How can I renew my technical support subscription?

    Additional support credits can be purchased on our website system. For the service terms and conditions, please refer to the Support page.

Передача данных на отображение¶

После выполнения кода контроллера работу продолжает функция fn_dispatch(), которая автоматически подключает шаблоны отображения. Шаблоны подключаются в зависимости от контроллера и будут содержать данные, переданные контроллером в шаблон.

Передача данных из контроллера в шаблон осуществляется с помощью:

$view->assign('tpl_data', $php_data);

// tpl_data - новая переменная, которая будет доступна в шаблоне
// $php_data - обработанные данные, которые передаются в шаблон

По умолчанию путь к шаблону определяется автоматически:

  • Для панели администратора: /backend/templates/views//.tpl
  • Для витрины: /themes//templates/views//.tpl

где:

— контроллер

— режим (mode) работы контроллера

— название темы (basic или responsive)

Однако шаблон может быть задан вручную прямо в контроллере, например:

Настройки¶

Есть 2 типа настроек:

  • Общие настройки. Это настройки, которые не могут быть определены отдельно для каждой витрины. Такие настройки доступны только в режиме All stores.
  • Настройки витрины. Это настройки, которые для каждой витрины могут иметь свои значения. Такие настройки доступны как в режиме Selected storefront, так и в режиме All stores, в последнем случае изменение значения настройки возможно лишь с указанием обновления значения во всех витринах.

Каждая настройка сама определяет свой тип, для этого используется поле в таблице . Если в этом поле есть строка , то настройка может иметь специфичное значение для каждой витрины, такие значения сохраняются в таблице , за исключением Simple ultimate режима, в последнем случае, данные сохраняются в таблицу .

Доступ к значениям настроек текущей витрины можно получить из , например:

Registry::get('settings.Appearance.frontend_default_language')

Приложение №2: Типы настроек¶


Варианты типов настроек указываются в файле addon.xml в параметре (см. ).

Например, добавим настройку с типом и значением по умолчанию (флажок, который по умолчанию не проставлен). Настройку нужно добавлять в файл addon.xml модуля; в данном файле настройка будет выглядеть так:

<settings edition_type="ROOT">
   <sections>
       <section id="general">
           <items>
               <item id="new_setting">
               <type>checkbox</type> // В данном параметре задаётся тип настройки,
                                     // который  определяет, как она будет отображаться
               <default_value>N</default_value>
           </item>
       </section>
   </sections>
</settings>

Возможные значения в (в скобках указано, как этот тип настройки будет храниться в базе данных):

  • () — множественный переключатель; содержит список доступных значений и список выбранных значений:

    <type>selectable_box</type>
    
  • () — флажок:

    <type>checkbox</type>
    
  • () — cкрытая настройка; не будет видна пользователю:

    <type>hidden</type>
    
  • () — файл пользовательского шаблона. Шаблоны должны находиться в папке design/backend/templates/addons//settings/. Вместо настройки будет отображаться содержимое шаблона, но только если модуль включен. Например:

    <type>template</type>
    <default_value>settings.tpl</default_value> // название шаблона, содержимое которого будет отображаться.
    

    В данном случае подключен шаблон, который содержит поле выбора категорий:

  • () — поле для выбора файла:

    <type>file</type>
    
  • () — cписок с возможностью выбора нескольких вариантов значений; варианты в этот список добавляются с помощью :

    <type>checkboxes</type>
    

    На основе данного списка формируется список значений настройки с типом (K).

  • () — заголовок для блока с настройками или для контента:

    <type>header</type>
    
  • () — строка для ввода произвольного набора символов. Можно вводить и текст, но в строке неудобно его проверять:

    <type>input</type>
    
  • () — выпадающий список с возможностью выбора одного из варинтов:

    <type>selectbox</type>
    

    Варианты формируются на основе выбранных значений настройки с типом ().

  • () — список значений с выбором нескольких значений; список представлен в виде поля со значениями и прокруткой. При добавлении списка, возможные варианты значений указываются в параметре :

    <item id="multiple_select">
       <type>multiple select</type>
       <variants>
           <item id="select_box_1"></item>
           <item id="select_box_2"></item>
           <item id="select_box_3"></item>
       </variants>
    </item>
    
  • () — Список возможных значений с возможностью выбора нескольких значений. При добавлении списка, возможные варианты значений указываются в параметре :

    <item id="multiple_checkboxes">
       <type>multiple checkboxes</type>
       <variants>
           <item id="select_box_1"></item>
           <item id="select_box_2"></item>
           <item id="select_box_3"></item>
       </variants>
       <default_value>select_box_2</default_value>
    </item>
    
  • () — результат работы функции, переданной в . Чаще всего содержит какую-либо информацию. Например, отобразим результат выполнения функции в настройке :

    <item id="information">
       <type>info</type>
       <handler>fn_get_information</handler>
    </item>
    
  • () — поле для ввода пароля. При вводе в поле с данным типом весь текст заменяется на символ :

    <type>password</type>
    
  • () — группа радиокнопок с возможностью выбора только одной из них. Сами кнопки указываются в параметре :

    <item id="radiogroup">
       <type>radiogroup</type>
       <default_value>radio_2</default_value>
       <variants>
           <item id="radio_1"></item>
           <item id="radio_2"></item>
       </variants>
    </item>
    
  • () — выпадающий список с возможностью выбора одного значения. При добавлении списка, возможные варианты значений указываются в параметре :

    <item id="selectbox">
       <type>selectbox</type>
       <variants>
           <item id="select_box_1"></item>
           <item id="select_box_2"></item>
       </variants>
    </item>
    
  • () — поле для ввода текста:

    <type>textarea</type>
    
  • () — поле для ввода только цифр; все остальные символы удаляются:

    <type>input</type>
    
  • () — выпадающий список с выбором штата или региона:

    <item id="states_list">
       <type>states_list</type>
    </item>
    
  • () — выпадающий список с выбором страны:

    <item id="countries_list">
       <type>countries_list</type>
    </item>
    
  • () — файл пользовательского шаблона. Будет доступен всегда, вне зависимости от модуля. Шаблон должен лежать в папке design/backend/templates/addons//settings.

    Например, сделаем так, чтобы в настройке отображалось содержимое шаблона permanent_template.tpl:

    <item id="permanent_template">
        <type>permanent_template</type>
        <default_value>permanent_template.tpl</default_value>
    </item>
    

db_get_hash_multi_array — массив данных (группировка, фильтрация, заданные ключи)

Вторым аргументом передаётся массив c полями по которым будет осуществляться группировка и фильтрация информации.

Пример:

// Получим список заказов, заказы будут сгрупированы по статусу,
// в массиве будет информация только о общей сумме заказа
// Для группировки передаём в плейсхолдер первым параметром: array('status','order_id', 'total')
$orders_group = db_get_hash_multi_array("SELECT order_id, total, subtotal, status FROM ?:orders WHERE user_id = ?i", array('status','order_id', 'total'), 7);

// Распечатаем результат
fn_print_r($orders_group);

Результат:

Примечание

Array
(
    C => Array
        (
            52 => 2099.35
            63 => 2425.00
            67 => 2779.90
            69 => 2600.00
            73 => 10499.65
            85 => 2232.50
            86 => 1399.30
        )

    D => Array
        (
            68 => 3298.25
        )

)

Поддержка за кредиты

Консультации специалистов техподдержки оцениваются в кредитах. Кредиты не сгорают со временем; их можно использовать в любой момент, когда вам понадобится помощь. В зависимости от сложности вашего вопроса, мы назначим ему один из следующих классов:

  • Вопросы о стандартной функциональности и настройке CS-Cart — 5 кредитов.
  • Помощь в вопросах, связанных с неправильной настройкой функциональности CS-Cart. Настройка стандартной функциональности CS-Cart инженером поддержки. Консультации по архитектуре и небольшим изменениям CS-Cart — 10 кредитов.
  • Сложные модификации — от 20 кредитов. Возможность и сложность выполнения модификации определяются специалистом поддержки по своему усмотрению. Стоимость согласуется с клиентом.
  • Изучение проблем, вызванных настройками сервера, изменениями в коде или некорректными данными в базе данных — 20 кредитов.
  • Обновление магазина и решение проблем в процессе обновления в пределах двух патч-версий — 20 кредитов. Каждое последующее обновление (не считая SP) оценивается в 5 кредитов. Например, обновление с 4.3.1 до 4.3.9 оценивается в 50 кредитов.

На вопросы первого класса мы отвечаем сразу, без вашего подтверждения. В остальных случаях понадобится ваше согласие с оценкой стоимости тикета. Чтобы сэкономить время, можно согласиться с оценкой заранее, при создании тикета. Иначе понадобится дополнительный шаг: наш сотрудник оценит стоимость запроса и спросит, можно ли начинать работу. Если вы согласитесь, нужное количество кредитов спишется с вашего счёта.

При изучении проблемы могут появиться новые факты, из-за которых класс тикета изменится. И, соответственно, изменится количество кредитов технической поддержки, которое будет снято за тикет.

Кредиты снимаются за весь тикет, и только одна проблема может обсуждаться в одном тикете. Для вопросов, которые напрямую не связаны с темой текущего тикета, мы создадим отдельные тикеты.

Функциональность¶

Да, платформа CS-Cart полностью оптимизирована для поисковых роботов и разработана таким образом, чтобы выводиться в верхних строках результатов основных поисковиков. Модуль SEO, который позволяет автоматически создать динамические URL из статических, интегрирован в CS-Cart. Включенный модуль может поднять Ваш вебсайт в рейтинге поисковых систем. Мы также рекомендуем добавлять мета-теги и ключевые слова на все страницы Вашего магазина.

Да, поддерживает. Стандартный дистрибутив CS-Cart включает 20 языков: русский, английский, испанский, французский, греческий, итальянский, немецкий и др. (некоторые переводы даны только частично). Можно выбрать необходимый язык при установке магазина.


Также контент любых страниц в CS-Cart как на витрине, так и в панели администратора можно легко перевести на любой язык. Есть возможность самостоятельно добавить новый язык в панели администратора CS-Cart. Вы можете узнать больше о функциях перевода в CS-Cart из этого видео-урока.

Да. В панели администратора есть функция закрытия магазина. Он временно не будет доступен пользователям, но Вы сможете работать в нем в любое время.

Да. Функция импорта в CS-Cart позволяет загрузить целиком базу данных товаров в формате CSV. Файлы этого формата можно редактировать в OpenOffice, LibreOffice или Excel. Вы также можете использовать данную функцию для импорта баз данных пользователей, заказов и переводов.

Скорее всего возникла проблема с кодировкой файла. Для корректного отображения нужно использовать кодировку UTF-8. Изменить кодировку файла для просмотра в Excel можно в программе NotePad++.

Да. Параметры можно добавить к каждому товару. Дополнительные параметры будут показаны на детальной странице товара и на странице списка товаров в клиентской зоне. Вы можете добавить различные параметры и использовать наши настройки для того, чтобы задать их в соответствии со своими нуждами. Можно выбрать вид отображения параметра: список с выбором или окошко-флажок, радио-группа, текстовое поле ввода или текстовая область. У некоторых параметров может быть несколько вариантов (цвет — черный, белый, зеленый и т.д.), и возможно задать отдельно цены для каждого из вариантов этих параметров. Более того, Вы можете создать общий параметр и задать его для всех выбранных товаров одним щелчком мышки.

Для этого нужно пройти в меню «Дизайн → Макеты» и нажать на знак шестерёнки во вкладке «Домашняя страница». В открывшемся окне Вы сможете внести нужные изменения.

Да, можно. Обмен с «Мой склад» можно настроить по аналогии с 1С «Управление торговлей». Подробная информация по настройке представлена в разделе «Экспорт, импорт в 1С — Обмен данными».

Да. Данная функция доступна в стандартной версии CS-Cart. Она позволяет поставщикам показывать товар в магазине, а не держать на складе. После оформления заказа система сообщает поставщику об оформленном заказе и способе доставки. В таких случаях поставщик доставляет товар покупателю и стоимость доставки рассчитывается в зависимости от адреса покупателя. Ваша прибыль составляет разницу между оптовой ценой и розничной.

Платформа CS-Cart собирает различного рода данные о посещаемости магазина. Анализ этой информации позволяет администраторам магазина делать необходимые улучшения и увеличивать производительность магазина.

Куда сообщить о баге?

Есть два основных источника, откуда мы получаем от пользователей информацию о багах:

  • Обращения в техподдержку. В этом случае у нас будет возможность изучить проблему в вашем магазине, и мы сможем быстрее помочь с её решением. Поэтому о срочных проблемах лучше писать сразу техподдержке. Если при обращении выяснилось, что проблема вызвана нашим багом, то от вас больше ничего не потребуется. Сотрудники технической поддержки сами передадут информацию разработчикам и предоставят вам решение.
  • Баг-трекер на форуме. Он больше подходит для несрочных проблем. Сообщения с баг-трекера мы проверяем на наших установках CS-Cart, без сторонних модулей и тем. Если проблема не воспроизводится у нас, то мы можем вас попросить обратиться в техподдержку. Проблемы, вызванные сторонними модификациями (модулями, темами, правками в ядре, и т.п.), не считаются багами и решаются сторонними разработчиками, которые делали модификацию.

Хранение данных настроек¶

Информация об общих настройках и настройках модулей хранится в базе данных в таблицах :

В таблице хранится перечень разделов настроек. Данная таблица содержит следующие основные поля:

  • — идентификатор раздела.

  • — идентификатор родительского раздела.

  • — ; это поле указывает на то, будет ли доступен раздел в CS-Cart или Multi-Vendor, и какой уровень доступа должен быть у пользователя. Свойство может быть указано как в единственном числе, так и несколько вариантов через запятую (например, ).

  • — название раздела.

  • — позиция раздела.

  • — тип раздела:

    • — основной раздел настроек (ядро). Все разделы этого типа перечислены на странице Настройки в панели администратора (контроллер settings.php).
    • — раздел настроек модуля. Все разделы этого типа выводятся либо во всплывающем окне, либо на отдельной странице и содержат настройки того или иного модуля (контроллер addons.php).
    • — подраздел настроек (вкладка). Может принадлежать как к разделу ядра, так и к разделу настроек модуля. У каждого такого подраздела в поле указан ID того раздела, к которому он приписан.
    • — подраздел настроек (вкладка). Может принадлежать разделу ядра и настроек модуля, но добавляется в виде отдельного контейнера. У каждого такого подраздела в поле указан ID того раздела, к которому он приписан.

    Примечание

    Подразделы могут быть приписаны к разделам с типом или .

Пример записи в базе данных раздела с настройками Внешний вид ():

section_id parent_id edition_type name position type
4 ROOT,VENDOR Appearance 20 CORE

Ниже описано, как узнать идентификатор раздела в панели администратора:

  • Общие настройки: откройте страницу Настройки и выберите какой-либо раздел. Название раздела будет в URL в адресной строке браузера (параметр ).

    Например, у раздела Внешний вид в URL в параметре будет значение . URL будет выглядеть следующим образом: example.com/admin.php?dispatch=settings.manage&section_id=Appearance

  • Настройки модуля: откройте страницу Модули → Управление модулями и нажмите на кнопку с изображением шестерёнки рядом с нужным модулем. Если навести курсор на вариант Удалить, то в нижней части окна браузера должна появиться ссылка. В ссылке будет название модуля, по которому к этому модулю можно обращаться в коде (параметр ).

    Например: для модуля С этим товаром часто покупают… наименование будет , а URL будет выглядеть примерно так (здесь приведена только интересующая нас часть): example.com/admin.php?dispatch=…&addon=customers_also_bought&…

В таблице хранится перечень общих настроек и настроек модуля и их значения. Данная таблица содержит следующие основные поля:

  • — идентификатор настройки.
  • — ; это поле указывает на то, будет ли доступна настройка в CS-Cart или Multi-Vendor, и какой уровень доступа должен быть у пользователя.
  • — название настройки.
  • — идентификатор раздела, к которому принадлежит настройка.
  • — идентификатор вкладки, если настройка располагается во вкладке.
  • — тип настройки.
  • — значение настройки.
  • — позиция настройки.

Пример записи в базе данных настройки (Company name, Название компании) из раздела Settings → Company (Настройки → Компания):

object_id edition_type name section_id section_tab_id type value position
1 ROOT,ULT:VENDOR company_name 5 I Simtech

Чтобы узнать идентификатор настройки, нужно посмотреть HTML-код страницы с настройкой. Например, узнаем идентификатор настройки (Elements per page, Количество элементов на странице) из раздела Settings → Appearance (Настройки → Внешний вид).

Для этого откройте страницу Настройки → Внешний вид, нажмите по настройке правой кнопкой мыши и выберите пункт Просмотреть код. Идентификатор настройки будет указан в атрибуте в квадратных скобках.

В таблице хранится перечень вариантов значений для настроек с типом , и . В настройках с данным типом значение выбирается из заранее определенного списка (группы).

Например, на странице Настройки → Журнал событий есть настройка Заказы. Информация о том, какие варианты выбраны, хранится в настройке (таблица ). А список возможных вариантов данной настройки хранится в таблице .

Получить список всех доступных вариантов для какой-либо настройки можно по полю . Если в таблице нет вариантов для настройки, то значит они формируются динамически с помощью .


С этим читают