Auf Meta-Daten eines Bildes zugreifen

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
frogli
Beiträge: 70
Registriert: Do 29. Apr 2004, 17:42
Kontaktdaten:

Auf Meta-Daten eines Bildes zugreifen

Beitrag von frogli »

Hallo

Ich würde gerne auf meine Meta-Daten meiner Bilder zugreifen. Vor allem geht es mir um die Interne Notiz (internalNotice).

Meine Vorgehensweise is folgende:

Code: Alles auswählen

	$n = 1;
	$artLang = new cApiArticleLanguage();
	$imgObj = $artLang->getContentObject('CMS_IMGEDITOR', $n);
	$arrayMetaData = $imgObj ->getMetadata();
	echo $internalNotice = $arrayMetaData[internalnotice];	
Ich herhalte leider nicht die gewünschte Daten. Skuril ist aber, dass ich die Daten sehr wohl umgehend erhalte wenn ich den Image Editor mit speichern (grünes Häckchen) schliesse. Nachher sind sie nicht mehr wieder zugreifbar.

array von $imgObj (Kopfteil):

Code: Alles auswählen

cContentTypeImgeditor Object
(
    [_dirname:cContentTypeImgeditor:private] => 
    [_filename:cContentTypeImgeditor:private] => 
    [_imagePath:protected] => 
    [_fileType:cContentTypeImgeditor:private] => 
    [_fileSize:cContentTypeImgeditor:private] => 
    [_medianame:cContentTypeImgeditor:private] => 
    [_description:protected] => 
    [_keywords:cContentTypeImgeditor:private] => 
    [_internalNotice:cContentTypeImgeditor:private] => 
    [_copyright:cContentTypeImgeditor:private] => 
    [_type:protected] => CMS_IMGEDITOR
    [_prefix:protected] => imgeditor
    [_settingsType:protected] => plaintext
    [_id:protected] => 1
    [_contentTypes:protected] => Array
        (
        ) 
...
Da sieht man schon, dass das Array keine Daten mitliefert, obwohl die ID richtig wäre.

Was mache ich hier falsch?

frogli
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Auf Meta-Daten eines Bildes zugreifen

Beitrag von Oldperl »

Hallo frogli,

"falsch" ist hier relativ... :wink:
Du vergisst nur etwas. Woher soll denn bitte die Klasse cApiArticleLanguage wissen von welchem Artikel sie den Content nehmen soll?
Folgende 2 Punkte sind in deinem Fall zu beachten:
  1. Handelt es sich um Bilder im aktuellen Artikel, so solltest du auch cApiArticleLanguage entsprechend verwenden. Hierbei kannst du in diesem Fall einfach die cRegistry von Contenido nutzen.

    Code: Alles auswählen

    $artLang = cRegistry::getArticleLanguage(); 
    Andernfalls musst du beim Aufruf die entsprechende Artikel- und Sprach-Id mit übergeben in der dein(e) Bild(er) sich befinden, ansonsten wird kein Content gefunden und damit auch der ImgEditor nicht korrekt initialisiert.

    Code: Alles auswählen

    $artLang = new cApiArticleLanguage();
    $artLang->loadByArticleAndLanguageId($idart, $idlang, true);
  2. Das ImgEditor-Objekt das du nutzt wird intern anhand der RAW-Content-Daten initialisiert (diese müßtest du auch übergeben wenn du die Typ-Klasse direkt nutzt).

    Code: Alles auswählen

    public function __construct($rawSettings, $id, array $contentTypes) { 
    Beim Speichern per ImgEditor ist/sind natürlich diese Content-Daten(-Variablen) entsprechend bereits vorbelegt und daher auch zu sehen bzw. zu nutzen.
Hoffe das hilft Dir etwas weiter. :)

Gruß aus Franken

Ortwin
Zuletzt geändert von Oldperl am Mi 27. Mai 2015, 14:11, insgesamt 2-mal geändert.
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Faar
Beiträge: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 15 Mal
Kontaktdaten:

Re: Auf Meta-Daten eines Bildes zugreifen

Beitrag von Faar »

Moin Ortwin,

funktioniert das hier ...

Code: Alles auswählen

$artLang = cRegistry::getArticleLanguage(); 
... auch noch mit dieser Schreibweise?

Code: Alles auswählen

$artLang = cRegistry->getArticleLanguage(); 
:roll:

Grüße,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
frogli
Beiträge: 70
Registriert: Do 29. Apr 2004, 17:42
Kontaktdaten:

Re: Auf Meta-Daten eines Bildes zugreifen

Beitrag von frogli »

Servus Ortwin,

danke für die ausführliche Erklärung und die mögliche Varianten (die ich bald in andere Modulen brauchen werde 8) ) .

In diesem Fall hast du gleich ins Schwarze getroffen: :D

Code: Alles auswählen

$artLang = cRegistry::getArticleLanguage();
freundliche Grüße
frogli
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Auf Meta-Daten eines Bildes zugreifen

Beitrag von Oldperl »

Faar hat geschrieben:Moin Ortwin
Mahlzeit :)
Faar hat geschrieben:funktioniert das hier ...
Dürfte eigentlich nicht. Du hast ja in diesem Fall keine Instanz mit "new" erzeugt. :arrow: http://www.peterkropff.de/site/php/statisches.htm
Meine IDE setzt gleich automatisch den Doppelpunkt :arrow: http://www.peterkropff.de/site/php/dopp ... lpunkt.htm wenn ich kein "new" nehme.
frogli hat geschrieben:Servus Ortwin,

danke für die ausführliche Erklärung und die mögliche Varianten (die ich bald in andere Modulen brauchen werde 8) ) .

In diesem Fall hast du gleich ins Schwarze getroffen: :D
Immer gerne, werde das mal in meine Tipps & Tricks-Ecke aufnehmen (vielleicht sollte ich doch mal ne eigene FAQ online stellen). Freut mich wenn ich helfen konnte, immer gern gesehen ein Einwurf in meine Kaffeekasse... 8)

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Faar
Beiträge: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 15 Mal
Kontaktdaten:

Re: Auf Meta-Daten eines Bildes zugreifen

Beitrag von Faar »

Oldperl hat geschrieben:Dürfte eigentlich nicht. Du hast ja in diesem Fall keine Instanz mit "new" erzeugt.
Oh ja, stimmt. Ich hatte im Kopf irgendwie das new dingens() schon vorausgesetzt.

So nebenbei: Kannst du den :: (Paamayim Nekudotayim) aussprechen? :mrgreen:
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Auf Meta-Daten eines Bildes zugreifen

Beitrag von Oldperl »

Faar hat geschrieben:So nebenbei: Kannst du den :: (Paamayim Nekudotayim) aussprechen? :mrgreen:
WIeso? :o
Ist doch einfach! :roll:

DOPPELTER DOPPELPUNKT! :mrgreen:

Gruß aus Franken

Ortwin

PS: Wir sollten mal wieder teflonieren! 8)
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Faar
Beiträge: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 15 Mal
Kontaktdaten:

Re: Auf Meta-Daten eines Bildes zugreifen

Beitrag von Faar »

Oldperl hat geschrieben:PS: Wir sollten mal wieder teflonieren! 8)
Gut, Teflon'ieren wir mal wieder :mrgreen:

Aber nicht dass dabei einer die Haftung verliert! :roll:
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Auf Meta-Daten eines Bildes zugreifen

Beitrag von Oldperl »

Ach herje, da hat sich doch ein Fehlerle eingeschlichen in meinem Code-Beispiel. Bei einem anderen als dem aktuellen Artikel muss man natürlich nicht die Artikel-Id der Klasse cApiArticleLanguage übergeben, die erwartet nämlich die idartlang, sondern die entsprechende Methode loadByArticleAndLanguageId($idart, $idlang, true) mit der Artikel- und Sprach-Id nach der Instanzierung der Klasse aufrufen. Der 3. Parameter auf TRUE lädt gleich den Artikel-Content in die Klasse.

Ich hab das mal im entsprechenden Post geändert. :arrow: http://forum.contenido.org/viewtopic.ph ... 83#p167383

Gruß aus Franken

Ortwin

@Faar: RUF - MICH - AN!!! :mrgreen:
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Antworten