Hab nun etwas funktionierendes.
Für alle die mal auf das Problem stoßen schreibe ich nochmal zusammengefasst was ich geändert habe:
In der Datei typo3conf/extTables.php folgende Zeilen hinzufügen um im Seitentyp Shortcut und Standard die Felder Stichworte und Beschreibung zu erhalten:
$GLOBALS['TCA']['pages']['types']['4']['showitem'] = 'hidden;;;;1-1-1, doktype, title;;3;;2-2-2, keywords, description;;;;4-4-4, subtitle, nav_hide, shortcut;;;;3-3-3, shortcut_mode, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, l18n_cfg;';
$GLOBALS['TCA']['pages']['types']['1']['showitem'] = 'hidden;;;;1-1-1, doktype;;2;button, title;;3;;2-2-2, keywords, description;;;;4-4-4, subtitle, nav_hide, TSconfig;;6;nowrap;5-5-5, storage_pid;;7, l18n_cfg';
Die Datei user_meta.php in einem beliebigen Verzeichnis ablegen:
<?
class user_meta {
function getData() {
global $user_meta_data;
if(!is_array($user_meta_data)) {
$id = $GLOBALS['TSFE']->page['uid'];
$data = array();
while($id!=0) {
$getrow = mysql(TYPO3_db, "SELECT pid, description, keywords FROM pages WHERE uid='".$id."'");
$row = mysql_fetch_array($getrow,MYSQL_ASSOC);
if($data['description']=="" && $row['description']!="")
$data['description'] = $row['description'];
if($row['keywords']!="") {
if($data['keywords']=="")
$data['keywords']=$row['keywords'];
else
$data['keywords']=$row['keywords'].",".$data['keywords'];
}
$id = $row['pid'];
}
$user_meta_data=$data;
}
return $user_meta_data;
}
function description($content, $conf) {
$data = $this->getData();
return $data['description'];
}
function keywords($content, $conf) {
$data = $this->getData();
return $data['keywords'];
}
}
?>
Und zu guter letzt im Haupttemplate:
includeLibs.user_meta = beliebigesVerzeichnis/user_meta.php
page.meta.description.preUserFunc =user_meta->description
page.meta.keywords.preUserFunc =user_meta->keywords
Für Anregungen wie man das ganze "schöner" gestalten kann bin ich nach wie vor zu haben.