it-swarm.com.de

Wie erstelle ich Massenartikel mit PHP-Skript?

Ich habe diesen Beitrag gesehen und er war wirklich hilfreich

Kategorien, Unterkategorien und Artikel mit PHP erstellen

ich kann jedoch keine Artikel mit demselben Skript erstellen.

Ich habe das Skript geändert, aber jedes Mal wird mir dieser Fehler angezeigt

Aufruf der undefinierten Methode CategoriesHelper :: validateCategoryId ()

Gibt es eine andere Möglichkeit, Massenartikel zu erstellen oder Daten zur Joomla-Tabelle #__content hinzuzufügen?

2
Joomler

Ich war auch einmal mit dem ähnlichen Problem konfrontiert und habe den Code wie folgt geändert, was für mich funktioniert hat. Sie müssen auch access und metadata in den Artikelparametern übergeben.

$article_data = array(
    'id' => 0,
    'catid' => 2,
    'title' => 'My article title',
    'alias' => 'my-article-alias',
    'introtext' => 'My intro text',
    'fulltext' => 'My full text',
    'state' => 1, //if you want to keep the article published else 0
    'alias' => 'my-article-alias',
    'state'=>1,
    'language' => '*',
    'access' => 1,
    'metadata' => json_encode(array('author' => '', 'robots' => ''))
);

$article_id = createArticle($article_data);
if(!$article_id){
    echo "Article create failed!";
}
else{
    echo 'Article created';
}

function createArticle($data)
{
    $data['rules'] = array(
        'core.edit.delete' => array(),
        'core.edit.edit' => array(),
        'core.edit.state' => array(),
    );

    $basePath = JPATH_ADMINISTRATOR.'/components/com_content';
    require_once $basePath.'/models/article.php';
    $article_model =  JModelLegacy::getInstance('Article','ContentModel');
    // or  $config= array(); $article_model =  new ContentModelArticle($config);
    if(!$article_model->save($data)){
        $err_msg = $article_model->getError();
        return false;
    }else{
        $id = $article_model->getItem()->id;
        return $id;
    }

}

Hinweis: Bei statischen Elementen funktioniert dies nur einmal, da der Artikel-Artikel-Alias ​​eindeutig sein muss.

Hoffe das hilft.

3
Liz.

Sie können Daten mithilfe eines CVS-Imports in die Tabelle #__articles In phpMyAdmin importieren.

Beachten Sie, dass die in der Tabelle #__assets Erstellten Einträge für die Stabilität der Website nicht erforderlich sind. Wir betreiben viele, viele Joomla-Websites, bei denen den Artikeln keine Einträge in der Tabelle #__assets Zugeordnet sind.

0
itoctopus