1

我尝试完成一个将数据导入我的craftcms项目的插件。我已经创建了一个基于控制台的方法/服务,我在我的 shell 中触发/运行它。在我的方法中,我收到数据(XML or JSON)我解析我的数据并尝试创建和填充我已经创建的特定通道的条目。

我试过"saveElement()"哪个不起作用。

我找到了一些关于 craftcms v2 的 tuts 和信息(例如:https ://docs.craftcms.com/api/v2/craft-entriesservice.html#public-methods )

现在我被卡住了,我找不到任何关于如何用craftcms v3解决这个问题的信息。

这是我经过数小时不同尝试后的最后一个代码版本:(

$section = Craft::$app->sections->getSectionByHandle('testentry');
$entryTypes = $section->getEntryTypes();
$entryType = $entryTypes[0];
// Save Entry
//$entry = new EntryModel();
$entry = new \craft\elements\Entry();
$entry->sectionId = $section->id;
$entry->typeId = $entryType->id;
//$entry->locale = Craft::$app->i18n->getPrimarySiteLocaleId();
//$entry->authorId = 1;  // TODO:  Set author
$entry->enabled = true;
$entry->postDate = $post['post_date'];
$entry->slug = $post['post_name'];
//      $entry->getContent()->title = $post['post_title'];
//      $entry->setContentFromPost(array(
//          'body' => $postContent,
//          'categoryCareer' => NULL,
//      ));

if (Craft::$app->elements->saveElement($entry)) {
    $result = true;
} 
else {
    echo 'Could not save the Job entry.'."\n";
    $result = false;
}
4

0 回答 0