Back to Campsite API.
Example Usage of Article API
To create a new article, you would do the following:
// Create the article object (does not create anything in the database). $article =& new Article(languageId); // Create the row in the database. $article->create(articleType, optional_name_of_article); // Get the article number. $articleNumber = $article->getArticleNumber();
To display the input fields of the article, you would do the following:
// To retrieve an article from the database, specify the language ID and // article number in the constructor. $article =& new Article(languageId, articleNumber); // The article type object stores the dynamic data for an article. $articleData = $article->getArticleTypeObject(); // Get all the dynamic fields in the article (this returns // an array of DbColumn objects). $fields = $articleData->getUserDefinedColumns(); // Iterate through all the fields and display each one. foreach ($fields as $field) { // Prompt the user with the name of the field. echo $field->getPrintName().":"; // Article types can be "char", "date", or "blob". switch ($field->getType()) { case "char": ... break; case "date": ... break; case "blob": echo '<textarea name="' .$field->getName().'"></textarea><br>'; break; } }
To save an article:
$article =& new Article(languageId, articleId); $articleData =& $article->getArticleTypeObject(); $fields = $articleData->getUserDefinedColumns(); foreach ($fields as $field) { $dbColumnName = $field->getName(); if (isset($_REQUEST[$name])) { $articleData->setProperty($name, $_REQUEST[$name]); } }
Reference files (in a default install):
/usr/local/campsite/www-common/html/classes/Article.php /usr/local/campsite/www-common/html/classes/ArticleType.php /usr/local/campsite/www-common/html/classes/DbColumn.php /usr/local/campsite/www-common/html/priv/articles/edit.php /usr/local/campsite/www-common/html/priv/articles/do_edit.php