Ich hab mir die Slice Funktionen nochmal angeschaut und leider keine bessere Alternative gefunden als mir selber was zu bauen
Hier mein Loesungsweg:
Code: Alles auswählen
$slice = OOArticleSlice::getFirstSliceForArticleWithCType($referenceArticle->_id, 1);
$val = $slice->getValue("1");
echo $val;
Wie man sieht habe ich eine neue Funktion in class.ooarticleslice.inc.php eingebaut aehnlich der getFirstSliceForArticle:
Code: Alles auswählen
/*
* CLASS Function:
* Return the first slice for an article with special CType.
* This can then be used to iterate over all the
* slices in the order as they appear using the
* getNextSlice() function.
* Returns an OOArticleSlice object
*/
function getFirstSliceForArticleWithCType($an_article_id, $an_article_ctype=NULL) {
global $REX;
$table = '';
$table = $REX['TABLE_PREFIX']."article_slice";
$sql = new sql;
// nanko
if($an_article_ctype != NULL) {
$ctype_query = ' AND ctype = '.$an_article_ctype;
}
$query = <<<EOD
SELECT
id,re_article_slice_id,value1,value2,value3,value4,value5,value6,
value7,value8,value9,value10,file1,file2,file3,file4,file5,file6,
file7,file8,file9,file10,link1,link2,link3,link4,link5,link6,link7,
link8,link9,link10,php,html,article_id,modultyp_id
FROM $table
WHERE article_id = $an_article_id $ctype_query GROUP BY article_id ORDER BY re_article_slice_id
EOD;
$sql->setQuery($query);
if ($sql->getRows() == 1) {
return new OOArticleSlice(
$sql->getValue("id"),$sql->getValue("re_article_slice_id"),$sql->getValue("value1"),
$sql->getValue("value2"),$sql->getValue("value3"),$sql->getValue("value4"),
$sql->getValue("value5"),$sql->getValue("value6"),$sql->getValue("value7"),
$sql->getValue("value8"),$sql->getValue("value9"),$sql->getValue("value10"),
$sql->getValue("file1"),$sql->getValue("file2"),$sql->getValue("file3"),
$sql->getValue("file4"),$sql->getValue("file5"),$sql->getValue("file6"),
$sql->getValue("file7"),$sql->getValue("file8"),$sql->getValue("file9"),
$sql->getValue("file10"),$sql->getValue("link1"),$sql->getValue("link2"),
$sql->getValue("link3"),$sql->getValue("link4"),$sql->getValue("link5"),
$sql->getValue("link6"),$sql->getValue("link7"),$sql->getValue("link8"),
$sql->getValue("link9"),$sql->getValue("link10"),$sql->getValue("php"),
$sql->getValue("html"),$sql->getValue("article_id"),$sql->getValue("modultyp_id")
);
}
return null;
}
Wenn jemand noch einen Redaxo konformen Weg weiss, bin ich natuerlich dafuer offen, falls es nicht geht, kann bei gefallen ja auch obige Funktion verwendet werden.
Gruss,
Andreas