### Start Product Upload - PHP Source: https://wiki.moguta.ru/help/Libraries/Import Starts the product upload process from a specified row ID. Supports custom scheme types and download links, with an iteration parameter. Returns an array of results. ```PHP startUpload(int $rowId = false, $schemeType = default, $downloadLink = false, $iteration = 1) ``` -------------------------------- ### Get Database Configuration Source: https://wiki.moguta.ru/help/Libraries/MG Retrieves database access settings from the `config.ini` file. If directives are present, corresponding constants (HOST, USER, PASSWORD, NAME_BD, PREFIX) are created. If `config.ini` is missing, it initiates the engine's installation process. ```php MG::getConfigIni(); ``` -------------------------------- ### Start Category Upload - PHP Source: https://wiki.moguta.ru/help/Libraries/Import Initiates the upload process for categories, starting from a specified row ID. Returns an array of results. ```PHP startCategoryUpload(int $rowId = false) ``` -------------------------------- ### Get User List Source: https://wiki.moguta.ru/help/Controller/Controllers_Api Retrieves a list of users from the Moguta.ru API. Supports paginated retrieval and filtering by email. Examples demonstrate both scenarios and the corresponding GET requests. ```PHP // Постраничная выгрузка пользователей $param = array('page' => '1', 'count' => '15'); $res = $api->run('getUsers', $param, true); viewData($res); // Выгразка пользователей по Емэйлу $param['email'] = array('user@localhost/mogutasite', 'admin@admin.ru'); $res = $api->run('getUsers', $param, true); viewData($res); // вызов через GET echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getUsers¶m={"page":"1","count":"15"}'); echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getUsers¶m={"email":["user@localhost/mogutasite","admin@admin.ru"]}'); ``` -------------------------------- ### Плагин для создания демонстрационных данных шаблона Source: https://wiki.moguta.ru/devhelp/templates/gotovaya-sborka-shablona-quick-start Плагин «Создание демонстрационных данных шаблона» позволяет сохранить текущее состояние движка Moguta.CMS, включая настройки и плагины, в файл для демонстрации шаблона пользователю. Он создает папку `quickstart/` с подпапками для SQL-данных, плагинов и изображений. ```PHP ``` -------------------------------- ### Get Category List Source: https://wiki.moguta.ru/help/Controller/Controllers_Api Retrieves a list of categories from the Moguta.ru API. Supports paginated retrieval and filtering by category ID or URL. Examples show different filtering options and their GET request equivalents. ```PHP // постраничная выгрузка категорий $param['page'] = 1; $param['count'] = 15; $res = $api->run('getCategory', $param, true); viewData($res); // поиск категорий по id $param['id'] = array(1, 2); $res = $api->run('getCategory', $param, true); viewData($res); // поиск категорий по урлу $param['url'] = array('smartfony'); $res = $api->run('getCategory', $param, true); viewData($res); // вызов через GET echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getCategory¶m={"page":1,"count":20}'); // или echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getCategory¶m={"id":[1,2,3,4,5]}'); // или echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getCategory¶m={"url":["smartphone","ball"]}'); ``` -------------------------------- ### Создание демонстрационных данных шаблона (Quick start) Moguta.CMS Source: https://wiki.moguta.ru/devhelp/tasks Руководство по созданию демонстрационных данных для шаблона Moguta.CMS, используемых для быстрой настройки и демонстрации функциональности. ```PHP [ ['title' => 'Демо Продукт 1', 'price' => 1000, 'description' => 'Описание первого продукта'], ['title' => 'Демо Продукт 2', 'price' => 1500, 'description' => 'Описание второго продукта'] ], 'categories' => [ ['name' => 'Категория 1'], ['name' => 'Категория 2'] ] // ... другие типы данных ]; // Логика импорта данных (обычно выполняется через административную панель или скрипт) /* foreach ($demoData['products'] as $productData) { Models_Product::addProduct($productData); } foreach ($demoData['categories'] as $categoryData) { Models_Category::addCategory($categoryData); } */ ?> ``` -------------------------------- ### Get Path Cut to CMS Folder Source: https://wiki.moguta.ru/help/Libraries/URL Returns the part of the path leading up to the CMS folder. Useful for determining the base directory of the CMS installation. ```PHP echo URL::getCutPath(); ``` -------------------------------- ### Import Users Source: https://wiki.moguta.ru/help/Controller/Controllers_Api Imports users into the Moguta.ru system. Allows for updating existing users if specified. Includes an example of the data structure for users and the corresponding GET request. ```PHP $param['users'] = array( Array( 'id' => 1, 'email' => admin@admin.ru, 'role' => 1, 'name' => Администратор, 'sname' => , 'address' => , 'phone' => , 'date_add' => 2017-07-12 10:05:47, 'blocked' => 0, 'activity' => 1, 'inn' => , 'kpp' => , 'nameyur' => , 'adress' => , 'bank' => , 'bik' => , 'ks' => , 'rs' => , 'birthday' => , ) ); $param['enableUpdate'] = true; $res = $api->run('importUsers', $param, true); viewData($res); // вызов через GET echo file_get_content('http://site.ru/api?token=ключ-приложения&method=importUsers¶m={"users":[{"id":1,"email":"admin@admin.ru","role":1,"name":"\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440","sname":null,"address":null,"phone":null,"date_add":"2017-07-12 10:05:47","blocked":0,"activity":1,"inn":null,"kpp":null,"nameyur":null,"adress":null,"bank":null,"bik":null,"ks":null,"rs":null,"birthday":null}]}'); ``` -------------------------------- ### Создание скрипта запуска Sphinx для /etc/init.d/ Source: https://wiki.moguta.ru/settings/poisk-po-katalogu Команда для создания и открытия файла скрипта запуска Sphinx в директории /etc/init.d/ для настройки автозапуска сервиса. ```bash nano /etc/init.d/searchd ``` -------------------------------- ### Установка значения опции (PHP) Source: https://wiki.moguta.ru/help/metodadapter Функция setOption устанавливает значение для опции (настройки) сайта. Может принимать данные в виде массива или в виде пар ключ-значение. ```php $data = array( 'option' => 'sitename', 'value' => 'moguta.ru' ); setOption($data); // или setOption('sitename', 'moguta.ru'); ``` -------------------------------- ### Get Config INI Settings - Moguta CMS Source: https://wiki.moguta.ru/help/Libraries/MG Retrieves database access settings from the `config.ini` file. If directives are present, they are converted into constants. If the file is missing, it initiates the engine's installation process. ```php MG::getConfigIni(); ``` -------------------------------- ### Инициализация клиента 1С для работы с архивами Source: https://wiki.moguta.ru/help/Controller/Controllers_Exchange1c Метод `init()` сообщает клиенту 1С о поддержке работы с архивами. Это второй шаг в процессе обмена. ```PHP void init() ``` -------------------------------- ### Get URI with GET Parameters Source: https://wiki.moguta.ru/help/Libraries/URL Returns the URI including any GET parameters that were appended to it. This provides the full request URI. ```PHP echo URL::getUri(); ``` -------------------------------- ### Product Gallery - PHP Source: https://wiki.moguta.ru/devhelp/manual Returns the correctly formatted HTML for product images. It uses the 'layout_images' of the current template. ```PHP mgGalleryProduct($data); ``` -------------------------------- ### Get Orders - HTTP GET (Multiple Criteria) Source: https://wiki.moguta.ru/help/Controller/Controllers_Api Fetches orders via HTTP GET requests. Supports retrieving orders by page and count for pagination, by specific IDs, by order numbers, or by customer email addresses. Each request includes the API token and the method name. ```HTTP // вызов через GET echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder¶m={"page":1,"count":25}'); // или echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder¶m={"id":[1,2,5]}'); // или echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder¶m={"number":["M-732468","M-768743"]}'); // или echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder¶m={"email":["user1@localhost/mogutasite","user2@localhost/mogutasite"]}'); ``` -------------------------------- ### Create Product - PHP Source: https://wiki.moguta.ru/help/Libraries/Import Creates a new product in the database if it does not already exist. Requires an array of product data and the category ID. Can return void or boolean. ```PHP createProduct(array $product, int|null $catId) ``` -------------------------------- ### Получение значения опции (PHP) Source: https://wiki.moguta.ru/help/metodadapter Функция getOption возвращает значение запрошенной опции. Может вернуть только значение опции или всю информацию о ней в виде массива. ```php echo getOption('sitename'); // 'moguta.ru' $res = getOption('sitename', true); viewData($res); //$res == array( // 'option' => 'sitename', // 'value' => 'moguta.ru', // 'active' => 'Y', // 'name' => 'Имя сайта', // 'desc' => 'Настройка задает имя для сайта', //); ``` -------------------------------- ### Get Secure GET Parameter Source: https://wiki.moguta.ru/help/Libraries/URL Retrieves a secured parameter from the $_GET superglobal array. It takes the parameter name as input. ```PHP $url = URL::get('id'); ``` -------------------------------- ### PHP: Получение верстки горизонтального меню - horizontMenu Source: https://wiki.moguta.ru/help/metodadapter Возвращает верстку горизонтального меню, если оно подключено в настройках. Использует 'layout_horizontmenu' текущего шаблона. ```php echo horizontMenu(); ``` -------------------------------- ### Get PHP Content Source: https://wiki.moguta.ru/help/Libraries/MG Gets the path to a user-created file that generates page content. The file must be located in the mg-pages folder. ```PHP string | getPhpContent() * ``` -------------------------------- ### Использование пользовательских переменных из config.ini в шаблоне Source: https://wiki.moguta.ru/devhelp/templates/fayl-nastroek-shablona-config-ini Пример хранения пользовательской переменной (SHOW_SIDEBAR) в файле config.ini и ее использования в шаблоне PHP для условного вывода блока. ```INI ; Выводить сайдбар на сайте SHOW_SIDEBAR = 0 ``` ```PHP ``` -------------------------------- ### Get Product Image Path - mgImageProductPath Source: https://wiki.moguta.ru/help/metodadapter Constructs and returns a properly formatted URL for a product image. Requires the image name, product ID, and optionally the desired size (small/big/orig). ```PHP $res = mgImageProductPath($value["image_url"], $value['id'], 'small'); viewData($res); ``` -------------------------------- ### Get Clean URI Source: https://wiki.moguta.ru/help/Libraries/URL Returns the clean Uniform Resource Identifier (URI) without any GET parameters. This provides the base path of the current request. ```PHP echo URL::getClearUri(); ``` -------------------------------- ### Инициализация плагина оплаты Qiwi (PHP) Source: https://wiki.moguta.ru/devhelp/plugins/razrabotka-sposoba-oplaty Этот код инициализирует плагин оплаты Qiwi, регистрируя его для активации, генерации формы оплаты и перехвата запросов на обработку платежей. ```PHP new PaymentQiwi; class PaymentQiwi { public static $pluginName = 'payment-qiwi'; public function __construct() { mgActivateThisPlugin(__FILE__, [__CLASS__, 'activate']); mgAddAction(self::$pluginName, [__CLASS__, 'getOrderForm'], 1); mgAddAction('Models_Payment_handleRequest', [__CLASS__, 'webhookIntercept'], 1); } ... ``` -------------------------------- ### Add or Replace GET Parameter Source: https://wiki.moguta.ru/help/Libraries/URL Adds a new GET parameter to a URL or replaces an existing one. Commonly used for pagination or modifying URL parameters. ```PHP echo URL::add_get('http://site.ru/catalog?page=2', 'page', '4'); ``` -------------------------------- ### Разработка шаблонов: Демонстрационные данные (Quick start) Source: https://wiki.moguta.ru/devhelp/plugins Руководство по созданию демонстрационных данных для шаблонов Moguta.CMS, облегчающее быстрый старт и тестирование. -------------------------------- ### Delete Category - HTTP GET Source: https://wiki.moguta.ru/help/Controller/Controllers_Api Deletes categories via an HTTP GET request. The category IDs to be deleted are sent as a JSON-encoded array in the 'param' parameter. ```HTTP echo file_get_content('http://site.ru/api?token=ключ-приложения&method=deleteCategory¶m={"category":[1,2,3,4,5]}'); ``` -------------------------------- ### Печать квитанции на оплату заказа (Moguta CMS) Source: https://wiki.moguta.ru/help/Model/Models_Order Выводит на экран печатную форму квитанции для оплаты заказа. Может использоваться для печати платежных документов. ```php $model = new Models_Order; $model->printQittance(); ``` -------------------------------- ### Import Category - HTTP GET Source: https://wiki.moguta.ru/help/Controller/Controllers_Api Imports categories via an HTTP GET request to the Moguta.ru API. The category data is passed as a JSON-encoded string in the 'param' parameter. ```HTTP echo file_get_content('http://site.ru/api?token=ключ-приложения&method=importCategory¶m={"categories":[{"id":1,"title":"\u041e\u0431\u0435\u0437\u0436\u0435\u043b\u0435\u0437\u0438\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0430\u0433\u0435\u043d\u0442\u043d\u043e\u0435","url":"obezjelezivanie-reagentnoe","parent":0,"parent_url":null,"sort":1,"html_content":null,"meta_title":null,"meta_keywords":null,"meta_desc":null,"invisible":0,"1c_id":null,"image_url":null,"menu_icon":null,"rate":0,"unit":0,"export":1,"seo_content":null,"activity":1}]}); ``` -------------------------------- ### Get PHP Content Path - Moguta CMS Source: https://wiki.moguta.ru/help/Libraries/MG Gets the path to a user-created file that generates page content. This file must be located in the `mg-pages` folder. The result can be modified by the `MG_getPhpContent` hook. ```php MG::getPhpContent(); ``` -------------------------------- ### Добавление информации о складах на страницу товара (PHP) Source: https://wiki.moguta.ru/devhelp/templates/dobavlenie-funktsiy-gipermarketa Этот код добавляет информацию о наличии товара на различных складах на страницу товара. Он предполагает наличие файлов layout_storage_info.php и layout_order_storage.php в шаблоне и вставляет вызов менеджера макетов в файл product.php. ```php ``` -------------------------------- ### Переопределение настроек движка: размеры миниатюр Source: https://wiki.moguta.ru/devhelp/templates/fayl-nastroek-shablona-config-ini Пример переопределения настроек движка Moguta.CMS для установки размеров миниатюр изображений. Названия свойств соответствуют столбцу 'option' в таблице 'mg-settings'. ```INI widthPreview = 540 heightPreview = 360 widthSmallPreview = 300 heightSmallPreview = 200 ``` -------------------------------- ### Get Product Gallery HTML - mgGalleryProduct Source: https://wiki.moguta.ru/help/metodadapter Generates the correctly formatted HTML for displaying product images in a gallery. Requires product parameters as input. ```PHP mgGalleryProduct(type $data); ``` -------------------------------- ### Get Weight Unit Source: https://wiki.moguta.ru/help/Libraries/MG Handles operations related to weight units. It can be used to get a select dropdown for weight units in the admin panel or to convert values between different weight units (t, kg, g, mg). ```php string getWeightUnit (string $type, array $data) ``` -------------------------------- ### Get Product Data via API (PHP) Source: https://wiki.moguta.ru/help/Controller/Controllers_Api Demonstrates how to retrieve product data from the Moguta.ru API using GET requests. Supports filtering by page, count, ID, SKU, or title. Includes parameters for variants and properties. ```PHP echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct¶m={"page":1,"count":20,"variants":"true","property":"false"}'); ``` ```PHP echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct¶m={"id":[1,2,3],"variants":"true","property":"false"}'); ``` ```PHP echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct¶m={"code":["SKU348","SKU165"],"variants":"true","property":"false"}'); ``` ```PHP echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct¶m={"title":["Фитнес-трекер Xiaomi"],"variants":"true","property":"false"}'); ``` -------------------------------- ### Использование функций из metodadapter.php Source: https://wiki.moguta.ru/help/metodadapter Файл metodadapter.php предоставляет набор функций для построения пользовательских скриптов. Все функции в этом файле являются псевдонимами для аналогичных функций класса MG, упрощая синтаксис для пользователей. ```php ``` -------------------------------- ### Перезапуск Apache для применения настроек PHP-модуля Source: https://wiki.moguta.ru/faq/rabota-s-produktom/kak-nastroit-keshirovanie-memcache Команда для перезапуска веб-сервера Apache, чтобы изменения в модуле memcache вступили в силу. ```Bash /etc/init.d/apache2 restart ``` -------------------------------- ### Получение данных дополнительных полей заказа (get) Source: https://wiki.moguta.ru/help/Model/Models_OpFieldsOrder Метод get возвращает массив с данными о дополнительных полях выбранного заказа. Можно получить все поля или указать конкретное поле по его ID. ```PHP $orderId = 1; $opFieldsM = new Models_OpFieldsOrder($orderId); // выведет все дополнительные поля заказа $data = $opFieldsM->get(); viewData($data); // выведет только указанное дополнительное поле $fieldId = 1; $data = $opFieldsM->get($fieldId); viewData($data); ``` -------------------------------- ### Controllers_Product - Обработка действий пользователя на странице товара Source: https://wiki.moguta.ru/help/Controller/Controllers_Product Класс Controllers_Product отвечает за обработку пользовательских действий на странице товара. Он выполняет пересчет стоимости товара и подготавливает форму для вариаций товара. ```PHP get(); viewData($data); // выведет только указанное дополнительное поле $fieldId = 1; $data = $opFieldsM->get($fieldId); viewData($data); ``` -------------------------------- ### Получить URI Source: https://wiki.moguta.ru/help/Libraries/URL Возвращает URI, включая параметры GET. ```php echo URL::getUri(); ``` -------------------------------- ### Получение значения опции настроек Source: https://wiki.moguta.ru/devhelp/manual Функция getOption() возвращает значение запрошенной опции настроек. Принимает название опции и опциональный булев параметр $data для получения всей информации об опции в виде массива. ```php getOption('option_name'); ``` ```php getOption('option_name', true); ``` -------------------------------- ### Get Cart Contents - PHP Source: https://wiki.moguta.ru/devhelp/manual Retrieves the products currently in the shopping cart. ```PHP $res = mgGetCart(); viewData($res); ``` -------------------------------- ### Добавление обработчика для изменения цены товара (PHP) Source: https://wiki.moguta.ru/help/metodadapter Метод mgAddCustomPriceAction добавляет обработчик для изменения цены товара перед его добавлением в корзину. Это полезно для реализации скидок или наценок. ```php mgAddCustomPriceAction(array(__CLASS__, 'applyRate')); ``` -------------------------------- ### Перенос сайта на новый хостинг в Moguta.CMS Source: https://wiki.moguta.ru/faq/rabota-s-produktom/kak-vklyuchit-novuyu-sistemu-oplat Пошаговое руководство по миграции сайта Moguta.CMS на новый хостинг, включая перенос файлов, базы данных и обновление конфигурации. ```Bash # Шаг 1: Создание резервной копии файлов сайта # Перейдите в корневую директорию сайта # cd /path/to/your/moguta_site # Создайте архив # tar -czvf moguta_backup_$(date +%Y%m%d).tar.gz . # Шаг 2: Экспорт базы данных # Используйте mysqldump для создания дампа базы данных # mysqldump -u ваш_пользователь -p ваша_база_данных > moguta_db_backup_$(date +%Y%m%d).sql # Шаг 3: Загрузка файлов на новый хостинг # Используйте FTP или SCP для загрузки архива файлов на новый сервер # scp moguta_backup_*.tar.gz user@new_server_ip:/path/to/new/site/directory # Распакуйте архив на новом сервере # tar -xzvf moguta_backup_*.tar.gz # Шаг 4: Импорт базы данных на новый хостинг # Создайте новую базу данных и пользователя на новом хостинге # Импортируйте дамп базы данных # mysql -u новый_пользователь -p новая_база_данных < moguta_db_backup_*.sql # Шаг 5: Обновление конфигурационного файла (config.php) # Отредактируйте config.php на новом хостинге, указав новые данные для подключения к БД: # DB_HOST, DB_USER, DB_PASS, DB_NAME # Шаг 6: Обновление URL сайта (если изменился домен) # Возможно, потребуется обновить URL в базе данных или через админ-панель Moguta.CMS. # Шаг 7: Проверка работы сайта # Откройте сайт на новом хостинге и проверьте его работоспособность. ``` -------------------------------- ### Get Option Source: https://wiki.moguta.ru/help/Libraries/MG Returns the value for a requested option (setting). ```PHP string|array | getOption() ``` -------------------------------- ### Настройка шаблона: config.ini [MAIN] - Moguta.CMS Source: https://wiki.moguta.ru/devhelp/templates/fayl-nastroek-shablona-config-ini Пример конфигурации раздела [MAIN] в файле config.ini для настройки шаблона Moguta.CMS. Включает параметры наследования шаблона и подключения цветовых схем. ```ini [MAIN] TEMPLATE_INHERIT_FROM = "" TEMPLATE_INHERIT_FROM_STANDARD = 1 TEMPLATE_COLOR_FILES = "separate" ``` -------------------------------- ### Get Menu Source: https://wiki.moguta.ru/help/Libraries/MG Returns the generated HTML markup for the site menu. ```PHP string | getMenu() ``` -------------------------------- ### Product Image Path - PHP Source: https://wiki.moguta.ru/devhelp/manual Generates a URL for a product image. It takes the image name, product ID, and an optional size parameter ('small', 'big', or 'orig'). ```PHP $res = mgImageProductPath($value["image_url"], $value['id'], 'small'); viewData($res); ``` -------------------------------- ### Get Session Lifetime (PHP) Source: https://wiki.moguta.ru/help/Libraries/Storage Returns the duration of the current session as an integer. ```PHP echo Storage::getSessionLifeTime(); ``` -------------------------------- ### Get UTM Parameters from Cookie Source: https://wiki.moguta.ru/help/Libraries/MG Retrieves saved UTM parameters from cookies. ```php void | getUTM() | Возвращает UTM-метки из cookie ```