Zum Inhalt springen

ifEmpty+cObj (RECORDS)

Erstellt am 20. April 2005 · 9 Antworten · letzte Antwort am 22. April 2005

Tags: Frage

tomek909 ·

ich versuche hier schon den ganzen Tag das "Problem" in den Griff zu kriegen. Hab auch schon im Forum zum Thema ifEmpty etc.. gesucht aber nix paasendes gefunden.

Also ich fang mal einfach an mein Prob ein bisschen zu erläutern:
Ich muss auf der Seite die keywords aus den Metatags als <h1> und <a> Tags ausgeben. Die keywords werden entweder für alle Seiten gleich gesetzt (Constant Editor-> META) oder für jede Seite einzeln (Seitentyp "erweitert" -> Schlüsselwörter) vergeben.

Mein Script soweit:
---------------------------------------------
// globale metatags laden -> meta extension
---------------------------------------------
temp.KEY_HEADERS_GLOB = TEXT
temp.KEY_HEADERS_GLOB.value < plugin.meta.global.keywords

---------------------------------------------
// lokale metatags laden -> seitentyp "erweitert"
---------------------------------------------
temp.KEY_HEADERS_REC = RECORDS
temp.KEY_HEADERS_REC {
dontCheckPid = 1
tables = pages
source.data = leveluid : -1
conf.pages = TEXT
conf.pages.field = keywords
}

// lokale metas in temp.KEY_HEADERS kopieren
temp.KEY_HEADERS < temp.KEY_HEADERS_REC

// wenn temp.KEY_HEADERS leer ist sollen die global metas benutzt werden
temp.KEY_HEADERS.ifEmpty < temp.KEY_HEADERS_GLOB

// jeden einzelnen Eintrag mit <h1></h1> wrappen
temp.KEY_HEADERS.split{
token = ,
cObjNum = 1
1.current = 1
1.wrap = <h1>|</h1>
}
----------------------------------------

Leider klappt das nicht so wie ich will!
Was mach ich da falsch?

Bitte helft einem verwirrten Jungen 😉
Tomek909

tomek909 ·

Ich dachte es wäre keine grosse Sache für ein paar Typoi Cracks, aber antscheinend ist mein kleines Problem gar nicht so winzig...

mfg
Tomek

tomek909 ·

Wenn metatags über den seitentyp "erweitert" eingeben werden, dann werden die keywords ausgegeben.

Ist das Feld im Backend aber leer, soll er die metatag Angaben aus dem meta.plugin benutzen und genau das klappt nicht.
Anscheinend ist das Ergebniss von temp.KEY_HEADERS immer wahr und so kommt er nicht dazu temp.KEY_HEADERS zu überschreiben

Danke für die Mühe

mfg
Tomek

tomek909 ·

Folgendes Script funktioniert:

// locale (extension)
temp.KEY_HEADERS_LOC = TEXT
temp.KEY_HEADERS_LOC.value < plugin.meta.local.keywords

// globale (extension)
temp.KEY_HEADERS_GLOB = TEXT
temp.KEY_HEADERS_GLOB.value < plugin.meta.global.keywords

// lokale metas in temp.KEY_HEADERS kopieren
temp.KEY_HEADERS < temp.KEY_HEADERS_LOC

// wenn temp.KEY_HEADERS leer ist sollen die global metas benutzt werden
temp.KEY_HEADERS.ifEmpty < temp.KEY_HEADERS_GLOB

Daher müsste die ifEmpty Abfrage ja richtig sein.
Meine Frage ans Forum: Wieso klappt es nicht mit RECORDS?

mfg
Tomek

theo ·

@tomek909:
setz deine Codebeispiele doch bitte zwischen die entsprechenden Code-Tags. Das Lesen wird sonst echt zur Qual...
Merci!

tomek909 ·

@theo

Hast Du auch ne idee wieso das mit dem RECORDS nicht fluppt?

p.s. was meinst Du "mit zwischen die entsprechenden Code-Tags". (Is noch n bisschen früh heut morgen. 😉)
Meinst Du das erste script oder das zweite?
Wahrscheinlich beide. Hasse mal ein kleines Beispiel?

mfg
Tomek

tomek909 ·

das script ist mittlerweile ein bisschen schlanker geworden (gruß an theo 😉 )
aber die ifEmpty Abfrage klappt immer noch nicht.

Siehe Thread:
#23943
mfg
Tomek

theo ·
tomek909 schrieb

p.s. was meinst Du "mit zwischen die entsprechenden Code-Tags". (Is noch n bisschen früh heut morgen. 😉)

Ich meine damit deine Art und Weise hier in diesem Forum Codebeispiele zu posten.
Schau dir einfach mal die Buttons über dem Texteingabefeld an in das du deinen "Posting-text" reinschreibst... 😉

tomek909 ·

Das kann man natürlich besser lesen, stimm ich zu.

// locale (extension)
temp.KEY_HEADERS_LOC = TEXT
temp.KEY_HEADERS_LOC.value < plugin.meta.local.keywords

// globale (extension)
temp.KEY_HEADERS_GLOB = TEXT
temp.KEY_HEADERS_GLOB.value < plugin.meta.global.keywords

// lokale metas in temp.KEY_HEADERS kopieren
temp.KEY_HEADERS < temp.KEY_HEADERS_LOC

// wenn temp.KEY_HEADERS leer ist sollen die global metas benutzt werden
temp.KEY_HEADERS.ifEmpty < temp.KEY_HEADERS_GLOB

Aller Anfang ist schwer...😉

mfg
Tomek