I really think that your application is unique. Regardless, it is going to require that you learn a little bit of PHP so that you can modify your snippets.
Here is a place to start. It is a modification to the Etomite API that will allow you to pull the docvars for your document.
In the root of your website, edit the file index.php, around line 725, after the following code:
function getDocument($id=0, $fields="*") {
if($id==0) {
return false;
} else {
$tmpArr[] = $id;
return $this->getDocuments($tmpArr, 1, 0, $fields);
}
}
You need to add this API function:
function getDocVars($id=0, $fields="*") {
if($id==0) {
return false;
} else {
$tbl = $this->dbConfig['dbase'].".".$this->dbConfig['table_prefix']."docvars_values";
$resourceArray = array();
$sql = "SELECT * FROM $tbl WHERE $tbl.id=$id;";
$result = $this->dbQuery($sql);
for($i=0;$i<@$this->recordCount($result);$i++) {
$tmp = $this->fetchRow($result);
if(($fields=="*")||(stristr($fields,$tmp['field_name']))){
$resourceArray[$tmp['field_name']] = $tmp['field_value'];
}
}
return $resourceArray;
}
}
This is definitely not clean, but it should allow you to modify your snippets to call the database and retrieve the variables that you need for the document...
the function is called like this:
$etomite->getDocVars($id,'extra_content');
you can use a comma separated list for the fields that you want, or to just get all docvars, you can call like this:
$etomite->getDocVars($id);
I don't use the News* snippets that you are talking about. I suggest that you study the code a little to see how you can modify it (and other snippets) that you need.
Here is something that you could do in the NewsListing snippet for example:
etomite->getDocVars($resource[$x]['id'],'extra_content');
This basically says to get the docvar called 'extra_content' related to the page numbered by $resource[$x]['id']
Good luck.