Как запускать процессоры miniShop2?
Василий, привет!
Такое дело, запускаю процессор на создание категории таким вот образом:
А мне выдаёт:
У тебя класс этого процессора называется msCategoryCreateProcessor, а modx ищёт там modCategoryCreateProcessor. Как быть?
Такое дело, запускаю процессор на создание категории таким вот образом:
$category = 'CategoryName';
$categoriesFolderId = 100500;
$response = $modx->runProcessor('category/create', array(
'pagetitle' => $category,
'parent' => $categoriesFolderId
), array(
'processors_path' => $modx->getOption('core_path') .'components/minishop2/processors/mgr/'
));
А мне выдаёт:
Fatal error: Class 'modCategoryCreateProcessor' not found in /<...>/core/model/modx/modx.class.php on line 1623
У тебя класс этого процессора называется msCategoryCreateProcessor, а modx ищёт там modCategoryCreateProcessor. Как быть?
Комментарии: 7
Товары и категории MS2 — это расширенные ресурсы. Благодаря системе CRC MODX Revo, работать с ними нужно родными процессорами, передавая class_key = msCategory — и они сами загрузят, что им надо.
То есть:
Если что — смотри вывод $response->getAllErrors(); — там могут спросить alias или еще что-нибудь.
То есть:
$category = 'CategoryName';
$categoriesFolderId = 100500;
$response = $modx->runProcessor('resource/create', array(
'pagetitle' => $category,
'parent' => $categoriesFolderId,
'class_key' => 'msCategory'
));
Если что — смотри вывод $response->getAllErrors(); — там могут спросить alias или еще что-нибудь.
Как всегда оперативно :-)
Круто, спасибо большое!
Круто, спасибо большое!
Хм, а при создании категорий через процессоры, такие поля как «Содержимое» и «Шаблон», которые в настройках минишопа задаются, разве не должны автоматически заполняться?
А то у меня контент получился пустым, хотя должно быть:
Это работает, только если из админки создавать?
upd. На счёт шаблона по умолчанию для категорий ошибся — в настройках минишопа такого параметра нет, только для новых товаров. Но с контентом впосрос остался)
А то у меня контент получился пустым, хотя должно быть:
[[!getPageExt?
&element=`msProducts`
]]
<div class="pagination">
<ul>[[!+page.nav]]</ul>
</div>
И шаблон не из настроек минишопа подставился.Это работает, только если из админки создавать?
upd. На счёт шаблона по умолчанию для категорий ошибся — в настройках минишопа такого параметра нет, только для новых товаров. Но с контентом впосрос остался)
Да, контент подставляется на javascript, но никто не мешает его передавать процессору:
$category = 'CategoryName';
$categoriesFolderId = 100500;
$response = $modx->runProcessor('resource/create', array(
'pagetitle' => $category,
'parent' => $categoriesFolderId,
'class_key' => 'msCategory',
'content' => $modx->getOption('ms2_category_content_default')
));
Да, так в итоге и сделал. Но может логичнее было бы в сам процессор 'components/minishop2/processors/mgr/category/create.class.php' это добавить?
Как-то так:
Как-то так:
public function beforeSet() {
$this->setProperties(array(
'isfolder' => 1,
'content' => $this->modx->getOption('ms2_category_content_default')
));
return parent::beforeSet();
}
а как запустить
assets/components/minishop2/action.php
с параметром cart/getget: function() {
params = {
action: 'cart/get'
};
$.post(miniShop2Config.actionUrl, params, function(response) {
response = $.parseJSON(response);
if (response.success) {
if (response.message) {
miniShop2.Message.success(response.message);
}
miniShop2.Cart.status(response.data);
}
else {
miniShop2.Message.error(response.message);
}
});
}
но похоже cart/get
не предназначен для ajax запросов?
А если в виртуальную категорию добавить?
Что-то типа того:
Что-то типа того:
$miniShop2 = $modx->getService('minishop2','miniShop2',$modx->getOption('minishop2.core_path',null,$modx->getOption('core_path').'components/minishop2/').'model/minishop2/', array());
$response = $miniShop2->runProcessor('mgr/product/category', array(
'product_id' => '23',
'category_id' => '355'
));
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.