Einbinden von TagLibs in bestehende TagLibs

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Einbinden von TagLibs in bestehende TagLibs

Beitrag von MrNiceGuy » 09.08.2009, 10:07:54

Moin!

Also: Es gibt ja den html:iterator. Soweit so gut. Es funktioniert ja mitlerweile auch, den Text um das Item auch auszugeben. Allerdings funktioniert ein html:getstring in dem Item-umliegenden Code nicht. Wie kann ich eine TagLib erstellen, die dieses Feature bereitstellt und diese dann in html:iterator integrieren, damit diese automatisch geladen wird? Irgendwie steige ich bei der Erstellung von TagLibs nämlich noch nicht so ganz durch...

MfG
Lutz
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Einbinden von TagLibs in bestehende TagLibs

Beitrag von dr.e. » 09.08.2009, 22:01:03

Hallo Lutz,

wie per Skype besprochen, habe ich nun den <html:iterator /> um zwei weitere TagLibs ergänzt:

  • <iterator:addtaglib />: damit lassen sich nun beliebige TagLibs bekannt machen.
  • <iterator:getstring />: Anzeige von sprachabhängigen Werte. Funktion ist identisch zur Taglib <html:getstring />.
Die Dokumentation erweitere ich entsprechend. Im SVN findest du die neuen Versionen unter http://adventurephpfra.svn.sourceforge.net/viewvc/adventurephpfra/branches/php5/1.10/tools/html/taglib/. Sag mir bitte Bescheid, ob die Änderung deinen Vorstellungen entspricht.

Viele Grüße,
Christian
Viele Grüße,
Christian

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: Einbinden von TagLibs in bestehende TagLibs

Beitrag von MrNiceGuy » 10.08.2009, 08:10:32

Fast. Entweder wolltest du "$objectId" haben und hast in Zeile 212 fälschlicher Weise "$objectID" geschrieben oder du wolltest zweiteres haben und hast in den Zeilen 209 und 211 "$objectId" geschrieben... Nach der Korrektur läuft es jedoch problemlos :)

Zur Veranschaulichung: Original-Code

Code: Alles auswählen

         foreach($this->__Children as $objectId => $DUMMY){

            if(get_class($this->__Children[$objectId]) !== 'iterator_taglib_item'){
               $iterator = str_replace('<'.$objectID. ' />',$this->__Children[$objectID]->transform(),$iterator);
             // end if
            }

          // end foreach
         }


Funktionierender Code:

Code: Alles auswählen

         foreach($this->__Children as $objectID => $DUMMY){

            if(get_class($this->__Children[$objectID]) !== 'iterator_taglib_item'){
               $iterator = str_replace('<'.$objectID. ' />',$this->__Children[$objectID]->transform(),$iterator);
             // end if
            }

          // end foreach
         }
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Einbinden von TagLibs in bestehende TagLibs

Beitrag von dr.e. » 10.08.2009, 09:13:53

Hallo Lutz,

das hatte ich bei den Tests auch bemerkt und ausgebessert. Ich fürchte, ich hatte danach nicht mehr eingecheckt. :roll: Fixe das gleich heute Abend.

Viele Grüße,
Christian
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast