Подскажите где ошибка в плагине
Структура такая:
Код (не смейтесь, я только учусь):
В итоге при сохранении документа зависает на процессе сохранения.
Подскажите, что не так, может событие не то?
Ну, и заодно еще вопрос: ничего, что у меня «Товар 1» и «Категория 1» одинаковые алиасы?
| |-> Товар 1 |-> Категория 1 | |-> Товар 1.1 |-> Товар 1.2 |-> Товар 1.3У товаров 1.х нужно автоматически проставить того же производителя, что и у товара 1.
Код (не смейтесь, я только учусь):
$thisobj = $modx->getObject('modResource',$modx->resource->get('id'));
$thisparent = $thisobj->get('parent');
$parentobj = $modx->getObject('modResource',$thisparent);
$parentalias = $parentobj->get('alias');
$grandparent = $parentobj->get('parent');
$findobj = $modx->getObject('modResource',array(
'parent'=>$grandparent,
'alias'=>$parentalias,
'class_key'=>'msProduct'
));
$vendor = $findobj->get('vendor');
if ($thisobj->get('vendor') == 0 && $vendor > 0) {
$thisobj->set('vendor',$vendor);
$thisobj->save();
}
Срабатывает на событие OnDocFormSave.В итоге при сохранении документа зависает на процессе сохранения.
Подскажите, что не так, может событие не то?
Ну, и заодно еще вопрос: ничего, что у меня «Товар 1» и «Категория 1» одинаковые алиасы?
Комментарии: 4
<?php
switch($modx->event->name) {
case 'onDocFormSave':
if ($parent = $resource->getOne('Parent')) {
if ($someProduct = $modx->getObject('msProduct',array('parent' => $parent->get('parent'),'alias' => $parent->get('alias'),'class_key' => 'msProduct'))) {
if ($vendor = $someProduct->getOne('Vendor')) {
$resource->addOne($vendor,'Vendor');
$resource->save();
}
}
}
break;
}
Код не запускал и не проверял.
Спасибо за ответ.
К сожалению нечего так и не работает.
К сожалению нечего так и не работает.
Скинь доступ к админке на почту, вечером гляну.
Решил сделать обычную структуру. Спасибо.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.