Moin zusammen,
ich hänge an einer Stelle bei einer geplanten Funktionserweiterung gewaltig fest. Ich möchte den Reviews eine weitere Information anhängen. Dazu habe ich entsprechend im Template das Feld im Formular hinterlegt und alles vorbereitet und muss es nun “nur noch” in die Datenbank schreiben. Der Tabelle oxreviews habe ich ein weiteres Feld “OXIMAGEREF” verpasst.
Beim speichern der Reviews baut sich OXID nun ein neues Review-Objekt zusammen, was im Original so aussieht:
public function saveReview()
{
if ( $this->canAcceptFormData() &&
( $oUser = $this->getUser() ) && ( $oProduct = $this->getProduct() ) ) {
...
if ( ( $sReviewText = trim( ( string ) oxConfig::getParameter( 'rvw_txt', true ) ) ) ) {
$oReview = oxNew( 'oxreview' );
$oReview->oxreviews__oxobjectid = new oxField( $oProduct->getId() );
$oReview->oxreviews__oxtype = new oxField( 'oxarticle' );
$oReview->oxreviews__oxtext = new oxField( $sReviewText, oxField::T_RAW );
$oReview->oxreviews__oxlang = new oxField( oxLang::getInstance()->getBaseLanguage() );
$oReview->oxreviews__oxuserid = new oxField( $oUser->getId() );
$oReview->oxreviews__oxrating = new oxField( ( $dRating !== null ) ? $dRating : null );
$oReview->save();
}
}
}
Mein Ansatz wäre nun im ersten Schritt, dem Objekt das neue Feld einfach mit auszudrücken, also folgendes zu tun:
$oReview->oxreviews__oximageref = new oxField( oxConfig::getParameter( 'rvw_image'), oxField::T_RAW );
Leider tut sich auf diese Weise gar nichts. Die save-Methode in der oxBase habe ich mir auch schon angeschaut, ohne das es mich weiter gebracht hat.
Hat jemand eine Idee warum ich an der Stelle so auf dem Schlauch stehe?
Danke und Grüße