Verschachtelte ifsets/ifnotsets und neu: ifvalue
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
- baluo
- ConPresso-Experte
- Beiträge: 607
- Registriert: 14.11.2005 12:17
- Hat sich bedankt: 216 Mal
- Danksagung erhalten: 11 Mal
Hmmm, ich habe in cpo4.09 alle Modul-Elemente installiert wie vorgeschrieben: die mehrfache ifset-Verschachtelung scheint korrekt zu funktionieren, in einer Testversion wird auch iffirst/iflast verarbeitet (auch wenn ich das noch nicht richtig eingesetzt habe); aber ich bekomme das ifvalue nicht zum Einsatz.baluo hat geschrieben:Ich werde es in meinen beiden naechsten Projekten testen und berichten.
Der Markus'sche Modellvorschlag
Code: Alles auswählen
<div>ifvalue-2 <!-- ifvalue: Preis>50 -->Das ist aber sehr teuer!<!-- /ifvalue --></div>
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Leider verschweigst Du, was in "Preis" steht. Eigentlich muß es dann ja auch von mir ignoriert werden, oder?
Benutze doch mal
und zeige das Ergebnis (auch den entstehenden Seitencode als Ausschnitt)
Benutze doch mal
Code: Alles auswählen
<div>Preis: <!-- Text: Preis;--> Euro <!-- ifvalue: Preis>50 -->ist aber sehr teuer!<!-- /ifvalue --></div>
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- baluo
- ConPresso-Experte
- Beiträge: 607
- Registriert: 14.11.2005 12:17
- Hat sich bedankt: 216 Mal
- Danksagung erhalten: 11 Mal
danke, das war's -- ich war mir nicht im Klaren ueber die Zuordnung zwischen Text- und ifvalue-Platzhalter. Mehr spaeter, aber erst in den naechsten Tagen.
Ach ja, noch eine Frage:
In diesem Beispielcode ergibt der Eintrag "51" im Textplatzhalter, dass dieser Wert und der IfValue-Wert gleichzeitig ausgegeben werden. Kann ich denn ueber IfValue die Ausgabe des Text-Platzhalterwertes verhindern, hier also die "51"?
Nochmals Danke fuer das Modul,
Gerhard
Ach ja, noch eine Frage:
In diesem Beispielcode ergibt der Eintrag "51" im Textplatzhalter, dass dieser Wert und der IfValue-Wert gleichzeitig ausgegeben werden. Kann ich denn ueber IfValue die Ausgabe des Text-Platzhalterwertes verhindern, hier also die "51"?
Nochmals Danke fuer das Modul,
Gerhard
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Hä? Wie?baluo hat geschrieben:danke, das war's -- ich war mir nicht im Klaren ueber die Zuordnung zwischen Text- und ifvalue-Platzhalter. Mehr spaeter, aber erst in den naechsten Tagen.
Du glaubst also tatsächlich keinen Preis anzugeben, prüfst dann, ob dieser Preis über 50 liegt und fragst dann hier, warum keine Ausgabe erfolgt?
Welcher Beispielcode? Meiner? Deiner? Oder einer an den Du gerade denkst?baluo hat geschrieben:Ach ja, noch eine Frage:
In diesem Beispielcode ergibt der Eintrag "51" im Textplatzhalter, dass dieser Wert und der IfValue-Wert gleichzeitig ausgegeben werden. Kann ich denn ueber IfValue die Ausgabe des Text-Platzhalterwertes verhindern, hier also die "51"?
Werde doch bitte ausführlicher...
Link zur Seite...
Code...
Quelltext...
Genaue Beschreibung der Schritte...
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
Ich verstehe zwar nicht wo und warum in Markus' Beispiel der Wert 51 zweimal ausgegeben werden soll, aber die Ausgabe verhindern kannst du ja bspw. so:baluo hat geschrieben:danke, das war's -- ich war mir nicht im Klaren ueber die Zuordnung zwischen Text- und ifvalue-Platzhalter. Mehr spaeter, aber erst in den naechsten Tagen.
Ach ja, noch eine Frage:
In diesem Beispielcode ergibt der Eintrag "51" im Textplatzhalter, dass dieser Wert und der IfValue-Wert gleichzeitig ausgegeben werden. Kann ich denn ueber IfValue die Ausgabe des Text-Platzhalterwertes verhindern, hier also die "51"?
Nochmals Danke fuer das Modul,
Gerhard
Code: Alles auswählen
<div>Preis: <!-- ifvalue: Preis>50; --><!-- Text: Preis;--> Euro<!-- /ifvalue --></div>
Und du kannst auch die Ausgabe des gesamten div verhindern, wenn der Preis zu niedrig ist:
Code: Alles auswählen
<!-- ifvalue: Preis>50; --><div>Preis: <!-- Text: Preis;--> Euro</div><!-- /ifvalue -->
<!-- ifvalue: Preis>50; -->
Das ist ganz wichtig, wenn's nicht in die Hose gehen soll!
@Markus: Kannst du das auf deinen Manualseiten korrigieren/ergänzen?
Noch'n Nachtrag: Vergesst das mit dem Semikolon! Das macht alles hübscher, spielt aber keine Rolle.
Zuletzt geändert von Mr. Magpie am 10.02.2010 00:43, insgesamt 2-mal geändert.
Günther Ludwig
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Hast Du das beobachtet?immer mit einem Semikolon abgeschlossen werden sollte
Sollte eientlich nicht so sein. ifvalue funktioniert eigentlich wie ein ifset. Beide werden durch die gleiche Funktion ausgelesen und das Ergebnis zur Prüfung weitergegeben...
Ich mache die Semikolons ohnehin immer aus Gewohnheit und habe daher vermutlich nie ein Problem beobachten können...
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
Nun, ich wollte vorhin deinen Beispiel-Code an einem PLZ-Feld in einem meiner Projekte testen und hatte so im Template stehen:
... <!-- ifValue: PLZ>999 --><!-- Text: PLZ; --><!-- /ifValue --> ...
Wenn im PLZ-Feld bspw. 32145 eingegeben war, wurde die PLZ nicht ausgegeben, sobald ich aber das Semikolon ergänzt hatte, hat's funktioniert.
Wie oben schon gesagt, müsstest du dann evtl. auch auf deinen Manpages ergänzen.
... <!-- ifValue: PLZ>999 --><!-- Text: PLZ; --><!-- /ifValue --> ...
Wenn im PLZ-Feld bspw. 32145 eingegeben war, wurde die PLZ nicht ausgegeben, sobald ich aber das Semikolon ergänzt hatte, hat's funktioniert.
Wie oben schon gesagt, müsstest du dann evtl. auch auf deinen Manpages ergänzen.
Günther Ludwig
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Ich habe es gerade mit
getestet und es funktioniert wunderbar auch ohne Semikolon...
Der Fachmann staunt und der Laie wundert sich...
Ist das ein Server im Web oder ein lokales System?
Code: Alles auswählen
PLZ: <!-- Text: PLZ --><!-- ifValue: PLZ>999 --> passt<!-- /ifValue --><!-- ifValue: PLZ<999 --> passt nicht<!-- /ifValue -->
Der Fachmann staunt und der Laie wundert sich...
Ist das ein Server im Web oder ein lokales System?
Zuletzt geändert von MarkusR am 10.02.2010 00:21, insgesamt 1-mal geändert.
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Ist das ein Server im Web oder ein lokales System?
Aktiviere doch mal die Array-Ausgabe, dann sollte man sehen können, was als Inhalt gehandelt wird, wenn Du mit bzw. ohne Semikolon arbeitest.
Aktiviere doch mal die Array-Ausgabe, dann sollte man sehen können, was als Inhalt gehandelt wird, wenn Du mit bzw. ohne Semikolon arbeitest.
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
Variablen-Kollision mod_menu vs. Enhanced Parser
Ich wollte gestern ein älteres Projekt (CPO 4.0.6) auf einen aktuelleren Stand (CPO 4.0.10) bringen. Dieses Projekt verwendet mod_menu zur Ausgabe einer Sitemap.
Nach dem Updaten erhielt ich in ebendieser - nun auch unansehnlichen - Sitemap eine Anzahl Warnungen:
"Warning: Cannot use a scalar value as an array in ...../mod_menu/includes/inc_build_nav.inc.php on line 115" (bei mod_menu 4.1)
Die entsprechende Zeile in dieser Datei lautet:
Intuitiv hatte ich sofort den Enhanced Parser in Verdacht. Ich habe daraufhin einmal versuchsweise im Parser, also in der Datei ../_include/parser.php, alle Vorkommen von $level ersetzt durch $Ebenenstufe und siehe da, das Problem war behoben.
Es gibt sicher noch eine professionellere Lösung...
Nach dem Updaten erhielt ich in ebendieser - nun auch unansehnlichen - Sitemap eine Anzahl Warnungen:
"Warning: Cannot use a scalar value as an array in ...../mod_menu/includes/inc_build_nav.inc.php on line 115" (bei mod_menu 4.1)
Die entsprechende Zeile in dieser Datei lautet:
Code: Alles auswählen
$level[$nav_nr] = $navArray[$i]['level'];
Es gibt sicher noch eine professionellere Lösung...
Günther Ludwig