ConPresso Community

Fragen, Antworten, Diskussionen rund um das Content Management System ConPresso

 
mod_parser
Gehe zu Seite 1, 2, 3  Weiter
 
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Kleine und neue Module
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 999
Wohnort: Wuppertal

BeitragVerfasst am: 18.01.2010 11:57    Titel: mod_parser Antworten mit Zitat

Markus Rösel hatte im Mai 2007 unter dem Titel

"Verschachtelte ifsets/ifnotsets und neu: ifvalue"

hier einen neuen, alternativen Parser für ConPresso vorgestellt.

Nun haben wir Markus überzeugen können, diesen "Enhanced Parser" weiter zu entwickeln und ihn kostenlos allen Interessenten zur Verfügung zu stellen.

Zum Verständnis hier ein Auszug aus Markus' Beschreibung:

Für komplexe Anwendungen stellen sich mit dem in ConPresso integrierten Parser einige Probeme, die durch den "verbesserten" Parser gelöst werden sollen:

1. ifSets und ifNotSets lassen sich korrekt und mehrfach verschachteln
2. Fehler bei der Templateerstellung werden analysiert
3. Neue Bedingungen:
    * ifValue - erlaubt die Prüfung auf bestimmte Werte mit >, <, = etc.
    * ifFirst und ifLast erlauben die spezielle Behandlung des ersten und letzten Artikels auf einer Seite

4. Umfangreiche Debugging-Funktionen (strukturierte Darstellung, Dokumentation des Parsing-Prozesses)

Trotz der neuen Funktionen ist der Parser vollständig kompatibel zu jeder original ConPresso-Installation. Wird der Original-Parser ersetzt, verhält sich das System wie zuvor und alle Anwendungen wie Module werden weiterhin korrekt laufen.


Die aktuelle Anleitung und Beschreibung findet ihr hier: http://manual.conpresso4.de/_rubric/index.php?rubric=parser_index

Feedback erwünscht, ja erwartet!





mod_parser_enhanced_RC2.zip - 11.46 KB
1068 mal


_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen

 
Für dieses Posting bedanken sich die folgenden User: hscha, leh00
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
hscha
ConPresso-Checker


Anmeldungsdatum: 22.02.2006
Beiträge: 497
Wohnort: Berlin

BeitragVerfasst am: 18.01.2010 21:09    Titel: ifNotvalue Antworten mit Zitat

Hallo,

mod_parser (neu) läuft bislang prima auf meinen Seiten! Ich habe inzwischen auch Verschachtelungen über 3-4 Ebenen eingebaut, die zuverlässig interpretiert werden.
Heute ist mir aufgefallen, dass neben <!-- ifvalue --> auch ein <!-- ifNotvalue --> nützlich wäre Idea , um z.B. ein Nichtsetzen einer Auswahl von Werten einbauen zu können.
<!-- iffirst --> und <!-- iflast --> sind einfach genial für eine zuverlässige Tabellengenerierung!

Grüße aus Berlin von
Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 999
Wohnort: Wuppertal

BeitragVerfasst am: 18.01.2010 21:45    Titel: Antworten mit Zitat

Der Vergleichsoperator != (vgl. http://manual.conpresso4.de/_rubric/index.php?rubric=parser_application ) reicht dir nicht?
_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
hscha
ConPresso-Checker


Anmeldungsdatum: 22.02.2006
Beiträge: 497
Wohnort: Berlin

BeitragVerfasst am: 18.01.2010 21:56    Titel: Antworten mit Zitat

Hallo Magpie,
Zitat:
Der Vergleichsoperator != reicht dir nicht?


O.K., du hast gewonnen. Den hatte ich glatt überlesen! Embarassed Das, was ich vorhabe, lässt sich damit machen!

Danke!

Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7016

BeitragVerfasst am: 02.06.2010 22:19    Titel: Antworten mit Zitat

Nachdem sich zeigt, daß ConPresso 4.1.x bei Benutzung von Seitentemplates inkompatibel zu mod_parser ist, habe ich eine angepasste RC3 erstellt, die es bitte zu testen gilt.

In dieser ist auch die Verknüpfung von Bedingungen mittels || und && realisiert, also z.B <!-- ifSet: PLZ && Ort; --> aus
http://community.conpresso.de/viewtopic.php?p=25597#25597

Das Archiv enthält nur die Datei parser.php, die ins _include-Verzeichnis von ConPresso gehört.

Bitte in Verbindung mit ConPresso 4.1.1 testen!





parser.zip - 5.38 KB
1039 mal


_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7

 
Für dieses Posting bedanken sich die folgenden User: hscha
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hscha
ConPresso-Checker


Anmeldungsdatum: 22.02.2006
Beiträge: 497
Wohnort: Berlin

BeitragVerfasst am: 03.06.2010 09:24    Titel: Antworten mit Zitat

Hallo Markus,
bei meinen ersten Tests hat alles funktioniert, auch die Debugging-Ausgabe!
Dazu zwei Fragen:
1) Ist die neue parser-Version auch für 4.0.9 anwendbar?
2) Muss die Änderung in _admin/templates.php noch durchgeführt werden?

Vielen Dank für deine Problemlösungen!

Grüße aus dem endlich sonnigen
Berlin von
Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7016

BeitragVerfasst am: 03.06.2010 09:52    Titel: Antworten mit Zitat

zu 1.) ja (es ist der 4.0.9-Parser mit ein paar neuen Zeilen)
zu 2.) ja (wenn man Wert auf das Highlighting in den Templates legt. Ich selbst mache das nicht, daher reicht es für mich alles auf den Server zu kopieren...)

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7

 
Für dieses Posting bedanken sich die folgenden User: hscha
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hscha
ConPresso-Checker


Anmeldungsdatum: 22.02.2006
Beiträge: 497
Wohnort: Berlin

BeitragVerfasst am: 04.07.2010 15:01    Titel: iffirst funktioniert nicht Antworten mit Zitat

Hallo Markus,

ich habe heute versucht, mit CPO 4.1.2 und mod_parser den bedingten Platzhalter <!-- iffirst -->Ausgabetext<!-- /iffirst --> anzuwenden.
Leider wird auch beim ersten Artikel (Sortierung: manuell) kein Ausgabetext ausgegeben.

Im Debug-Modus des Parsers sieht alles normal aus, nur dass der Ausgabetext fehlt. Es scheint, dass der Parser nicht erkennen kann, welches der erste Artikel ist.

Liegt das am neuen CPO 4.1.2 oder an mir Laughing

Grüße von
Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7016

BeitragVerfasst am: 04.07.2010 20:02    Titel: Antworten mit Zitat

Ich habe es gerade mal gegencecheckt und konnte keine Probleme feststellen.
Code:
<!--iffirst -->Anfang
<table border="1"><!-- /iffirst -->
<tr><td>Tabellenzeile</td></tr>
<!--iflast --></table>
Ende<!-- /iflast -->

gibt mit 3 Artikeln korrekt eine Tabelle in der Form
Code:
Anfang
<table border="1">
<tr><td>Tabellenzeile</td></tr>
<tr><td>Tabellenzeile</td></tr>
<tr><td>Tabellenzeile</td></tr>
</table>
Ende

aus.

Hast Du das Template denn auch benutzt?
Ist es denn wiklich der erste Artikel in der Rubrik oder nur der erste, der dieses Template benutzt?

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hscha
ConPresso-Checker


Anmeldungsdatum: 22.02.2006
Beiträge: 497
Wohnort: Berlin

BeitragVerfasst am: 04.07.2010 21:27    Titel: Antworten mit Zitat

Hallo Markus,

leider klappt es nicht!
Mit <!-- iffirst --> verschwindet der Ausgabetext, mit <!-- iflast --> wird er in jedem Artikel ausgegeben (was ich gerade vermeiden wollte).

Das Template wird in allen drei Artikeln der Rubrik benutzt. Die Sortierung ist auf "manuell" eingestellt.

Ich sende dir die Zugangsdaten zur Website per PM, falls du näher drübergucken möchtest...

Grüße von
Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7016

BeitragVerfasst am: 04.07.2010 22:22    Titel: Antworten mit Zitat

Tja... entweder am Sever stimmt was nicht oder Du hast da selbst was zerschossen ... oder natürlich ein Fehler am Parser, der eben nur bei Deinem System auftritt.

Was ist denn iss-postparsing.inc.php?

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hscha
ConPresso-Checker


Anmeldungsdatum: 22.02.2006
Beiträge: 497
Wohnort: Berlin

BeitragVerfasst am: 05.07.2010 15:22    Titel: Antworten mit Zitat

Hallo Markus,

die postparsing.inc.php enthält diesen Code:
Code:
$template_datei = str_replace($inlineReplace,$inlineContent,$template_datei);


Grüße von
Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7016

BeitragVerfasst am: 05.07.2010 15:34    Titel: Antworten mit Zitat

Schön, aber wie kriegen wir jetzt raus, warum das bei Dir nicht funktioniert?
Die Teile werden ja alle korrekt erkannt und abgearbeitet. Nur bei iffirst und iflast stimmt was nicht.
Bei meinen Test funktioniert das problemlos.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hscha
ConPresso-Checker


Anmeldungsdatum: 22.02.2006
Beiträge: 497
Wohnort: Berlin

BeitragVerfasst am: 06.07.2010 13:25    Titel: Antworten mit Zitat

Hallo Markus,
ich muss dieses Problem leider zurückstellen, weil ich bis zum 19. Juli nicht da bin. Ich melde mich dann wieder hier...

Vielen Dank und Grüße von
Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hscha
ConPresso-Checker


Anmeldungsdatum: 22.02.2006
Beiträge: 497
Wohnort: Berlin

BeitragVerfasst am: 02.08.2010 17:08    Titel: Antworten mit Zitat

Hallo Markus,
da bin ich wieder und habe eine Vermutung, woran es liegen könnte:
Innerhalb von <!-- iffirst --> binde ich über einen Platzhalter eine andere Rubrik ein, wie in http://community.conpresso.de/viewtopic.php?t=2375&postdays=0&postorder=asc&start=75 diskutiert.
Dadurch könnte die Artikel-Zählung durcheinander kommen. Ich müsste wahrscheinlich die entsprechende Variable am Anfang des Skripts auslesen und am Ende zurückschreiben.
Wenn ich wüsste, welche Variablen <!-- iffirst -->/<!-- iflast --> nutzen, könnte ich das ausprobieren.

Grüße von
Horst
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Kleine und neue Module Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2, 3  Weiter
Seite 1 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen