Zum Inhalt springen

USER_INT, FAL und IMG_RESOURCE

Erstellt am 18. September 2013 · 2 Antworten · letzte Antwort am 27. Januar 2014

Tags: Dateien & FAL, Bilder, TYPO3 6.x, Frage

Chrissli ·

Hallo mal wieder!

Aufbauend auf meine Frage von damals zum Thema UserFunc und cObjGetSingle

Meine Parameterübergabe und das aufbauen des übergebenen Objekts per PHP funktioniert generell, übergebe ich z.B.

renderObj = FILES
renderObj {
 references {
    table = tt_content
    uid.field = uid
    fieldName = image
  }
  renderObj = COA
  renderObj {

     10 = USER_INT
	 10 {
	   userFunc = user_sdb->register_ref
	   userFunc {
		 srcpath = TEXT
		 srcpath.data = page:title        
	   }
	 }
  }
}

funktioniert das einwandfrei, mein PHP-Skript meldet immer den korrekten Wert.

<?php
class user_sourcedb {	
	public function register_img_ref($content,$conf) {
			
		$conf = $conf['userFunc.'];
		$img = $GLOBALS['TSFE']->cObj->cObjGetSingle($conf['srcpath'],$conf['srcpath.']);		
		
		var_dump($img); // da sollte der Pfad zum Bild drin stehen
		
		return $content;
    }
}
?>

ABER:
Verwende ich IMG_RESOURCE:

renderObj = FILES
renderObj {
 references {
    table = tt_content
    uid.field = uid
    fieldName = image
  }
  renderObj = COA
  renderObj {

     10 = USER_INT
	 10 {
	   userFunc = user_sdb->register_ref
	   userFunc {
		 srcpath = IMG_RESOURCE
		 srcpath.file.import.data = file:current:uid_local  
	   }
	 }
  }
}

bleibt der Rückgabewert immer leer.

Wenn ich IMG_RESOURCE normal verwende ist aber alles gut:

renderObj = FILES
renderObj {
 references {
    table = tt_content
    uid.field = uid
    fieldName = image
  }
  renderObj = COA
  renderObj {
    10 = IMG_RESOURCE
	10.file.import.data = file:current:uid_local    
  }
}

Funktioniert das generell nicht oder übersehe ich was?

Chrissli ·

... konnte den Bearbeiten-Knopf mal wieder nicht finden ...

Ich nehme natürlich auch gerne alternative Vorschläge an, wie ich den Pfad zum aktuellen Bild an meine userFunc übergeben kann.

Ziel ist, die Bildinformationen ( title, alt, usw ) aus einer anderen Datenbank zu holen, in der diese Informationen nach Bildpfad indiziert sind

[edit]
Die id des Bildes oder auch nur des aktuellen Content-Elements würde mir schon ausreichen, allerdings bekomme ich bei der übergabe von data = field:uid immer nur die ID der aktuellen Seite.
Es kann doch nicht so kompliziert sein innerhalb eines USER-Objekts unterhalb von tt_content auf die aktuelle korrekten Daten zuzugreifen...
[/edit]

digitalfreak ·

Hey,

also ich weiß (denke ich), warum es nicht geht.

Das cObj welches du in der UserFunc aufrufst ist das cObj der aktuellen Seite.
Das bedeutet, dass $this->cObj->data die Seiteneigenschaften enthält und nicht auf dein Element referenziert.

Ich habe gerade das selbe Problem und bin am überlegen, wie ich es löse. Wenn ich es gefunden habe, poste ich es hier.