Как программно вставлять категории в Magento?
Это сценарий:
- Я делаю вызов SOAP из Magento на CMS
CMS создаст и вернет в Magento закодированный в json объект с новыми именами категорий и некоторыми свойствами категории (Заголовок, URL, отношения родитель/потомок, вот и все).
Мне нужно выполнить итерацию по этому объекту, взять имена категорий и вставить их в базу данных Magento, чтобы Magento мог управлять ими категории. Мне также нужно будет добавить любые свойства категорий в каждую категорию, которых нет в объекте, и мне нужно правильно вставить эти категории, чтобы они отображались в разделе администратора в разделе Управление категориями.
Мой вопрос: Мне просто нужно знать, как работать с API Magento, чтобы правильно вставлять категории в базу данных. Кто-нибудь может указать мне правильное направление?
Примечание: Я использую Magento CE 1.6.1.0. С помощью плагина в моем случае это не сработает, потому что мне нужно, чтобы это происходило плавно при входе пользователя в административную область. Если кто-то знает о плагине с открытым исходным кодом и в нем есть функции, которые я ищу, пожалуйста, поделитесь именем, чтобы я мог изучить этот код.
Спасибо за любую помощь!
1 answers
Magento также имеет API, доступный через SOAP и XML-RPC, и включает в себя возможность создавать категории.
Если вы не заинтересованы в изучении того, как выполнить вызов SOAP в Magento, вы можете взглянуть на реализацию метода создания категорий в
#File: app/code/core/Mage/Catalog/Model/Category/Api.php
public function create($parentId, $categoryData, $store = null)
{
//...PHP code to create a category is here
}
И вы могли бы вызвать метод создания категории вручную с помощью чего-то вроде этого
Mage::getModel('catalog/category_api')->create($parentId, $categoryData);
Я никогда не видел полного объяснения структуры необработанной базы данных, лежащей в основе категории, что еще больше сбивает с толку, учитывая, что это и EAV, и представление древовидной структуры в таблице SQL. Я бы не стал пытаться вставить категорию с помощью необработанных вызовов SQL.