$response = $modx->runProcessor('resource/create', $data);
if ($response->isError()) {
return $modx->error->failure($response->getMessage());
}
$id = $response->response['object']['id'];
return $id;Создание ресурса с помощью MODX API
17 июля 2014, 14:53
Для того, чтобы создать новый ресурс с помощью кода, нужно использовать процессор resource/create:
Объектная
$id = (int)$this->getProperty('id'); $name = trim($this->getProperty('name')); if (empty($id)) { return $this->modx->lexicon('modextra_item_err_ns'); } if (empty($name)) { $this->modx->error->addField('name', $this->modx->lexicon('modextra_item_err_name')); } elseif ($this->modx->getCount($this->classKey, array('name' => $name, 'id:!=' => $id))) { $this->modx->error->addField('name', $this->modx->lexicon('modextra_item_err_ae')); } /* Дописываем свою логику */ if ($this->getProperty('id') > 12 && $this->getProperty('name') != '') { $this->setProperty('rank', 0); } /* / Дописываем свою логику */ return parent::beforeSet();Блин дай ссылку где про это пчитать можно. А то я ломаю голову типо db->insert хз фигню какую то думаю.
И последний вопросик. Как отлаживаешь? Ну например как узнать поступающие данные. print_r или есть еще какие то способы?
В данный момент использую Tickets, но он не понимает как менять множественный выбор
Возможные значения: test||test2||test3||test4||test5||test6||test7
На странице я их сам пишу, а хотелось бы через сниппет получить
Вывод на странице
<?php $page = $modx->getObject('modResource',$tid); $tv = $page->getTVValue($tvname); // Стандартные чанки, можно переопределить if (empty($tpl)) {$tpl = '@INLINE <span>[[+value]]</span>';} if (empty($tplOuter)) {$tplOuter = '@INLINE [[+rows]]';} // Подключаем pdoTools для работы с инлайновыми чанками $pdo = $modx->getService('pdoTools'); // Разбиваем текст по символу переноса строки $rows = ''; $tmp = array_map('trim', explode("||", $tv)); foreach ($tmp as $value) { if (empty($value)) {continue;} $rows .= $pdo->getChunk($tpl, array('value' => $value)); } // Если есть, что выводить - выводим if (!empty($rows)) { return $pdo->getChunk($tplOuter, array('rows' => $rows)); } $('#services_services_current span').each(function(){ var checked = $(this).text(); $("input[value='"+checked+"']").click(); });<?php $page = $modx->getObject('modResource', $id); if($mode == 'upd' && $page->class_key == 'Ticket'){ $services_services = implode("||", $_POST['services_services']); if (!$page->setTVValue('services_services', $services_services)) { $modx->log(xPDO::LOG_LEVEL_ERROR, 'services_services - ERROR'); } }$output = ""; $tv = $modx->getObject('modTemplateVar', array('name' => 'services_services')); $elements = $tv->get('elements'); $elements = explode('||', $elements); foreach ($elements as $element) { $output .= $modx->getChunk('tpl.element', array('name' => $element)); } return $output;<!-- tpl.element --> <label> <input type="checkbox" name="services_services[]" value="[[+name]]">[[+name]] </label>modx.pro/help/4332/#comment-31922