if (is_numeric($identifier)) {
$width = str_replace(",",".",$sheet->getCell("B$nb")->getValue());
$long = str_replace(",",".",$sheet->getCell("C$nb")->getValue());
$serial_number = str_replace(",",".",$sheet->getCell("D$nb")->getValue());
$c = $this->modx->newQuery('modResource');
$c->leftjoin('modTemplateVarResource','TV','contentid=modResource.id');
$c->where(array('TV.value'=> $identifier));
if ($resource = $this->modx->getObject('modResource',$c)){
$this->log('info', 'Ресурс найден ' . $resource->get('id'));
$fields = array(
'id' => $resource->get('id'),
'name' => 'ОБРЕЗКИ ' . $resource->get('pagetitle')
);
$response = $this->modx->runProcessor('resource/duplicate', $fields);
if ($response->isError()) {
$this->log('info', 'Не удалось копировать ресурс ' . $resource->get('id'));
} else {
$this->log('info', 'Скопирован ресурс с ID: ' . $resource->get('id'));
}
$newRes = $response->getObject();
$resource = $this->modx->getObject('modResource', $newRes->get('id'));
$resource->set('parent', 549);
if ($resource->save() == false) {
$this->log('info', 'Не удалось обновить новый ресурс ' . $resource->get('id'));
} else {
$this->log('info', 'Обновлены параметры нового ресурса ' . $resource->get('id'));
}
}
}
После получаю ответ:
Ресурс найден 440
PHP notice: Undefined variable: id
PHP notice: Undefined variable: id
PHP notice: Undefined variable: id
Скопирован ресурс с ID: 440
Ресурс у меня копируется, но после этого скрипт зависает получается и всё. Подскажите плиз почему он не обновляется?
С виду все корректно.
т.е. 1й раз норм срабатывает и потом вилы?
Попробуй поменять $newRes = $response->getObject(); $resource = $this->modx->getObject('modResource', $newRes->get('id')); на $resource = $this->modx->getObject('modResource', $response['object']['id']);
Ну пожалуйста
Да я имею ввиду что не работает
парент меняется?
$response = $this->modx->runProcessor('resource/duplicate', $fields); if ($response->isError()) { $this->log('info', 'Не удалось копировать ресурс ' . $resource->get('id')); } else { $this->log('info', 'Скопирован ресурс с ID: ' . $resource->get('id')); $newid = $response->response['object']['id']; $resource = $this->modx->getObject('modResource', $newid); $resource->set('parent', 549); if ($resource->save() == false) { $this->log('info', 'Не удалось обновить новый ресурс ' . $resource->get('id')); } else { $this->log('info', 'Обновлены параметры нового ресурса ' . $resource->get('id')); } }
++Точно $response->response['object']['id'])))
Через 15 мин проверю, спасибо пока что!
незачто. и конечно, будет работать, но не все )
Обсуждают сегодня