template II > kommentare im template ??

Fragen und Diskussionen zu laufenden ConPresso 4.x Projekten werden in diesem Forum diskutiert.
Antworten
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

template II > kommentare im template ??

Beitrag von baluo »

am beispiel der frage von djmax wisst ihr ja schon, dass ich die platzhalter-funktion der templates gerne fuer lange / komplexe formulare nutze (hier z.b. der veranstaltungskalender).

wegen meiner neuen kollegen und potentiellen nachfolgern wollte ich nun auch in die templates kommentare einfuegen (<!-- ... -->). dabei hatte ich gehofft, dass sie - wie nicht genutzte platzhalter - im quelltext der webseite nicht erscheinen ... tun sie aber doch.

gibt es irgendeinen anderen trick ?

gruss, gerhard
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Du kannst ja irgenwelche ifSet's verwenden, die dann ersetzt werden.

Code: Alles auswählen

<!-- ifSet: asdf; Hier können jetzt irgenwelche Kommentare stehen --><!-- /ifSet -->
oder

Code: Alles auswählen

<!-- ifSet: asdf; --> Hier können jetzt irgenwelche Kommentare stehen <!-- /ifSet -->
Das müsste so funktionieren.

Oder du schreibst dir einen neuen Platzhalter-Typ namens "Kommentar", dessen Platzhalter Nie durch Inhalt ersetzt werden, so dass du folgende schreiben kannst:

Code: Alles auswählen

<!-- kommentar: hier steht jetzt irgend etwas; -->
Aber die IfSet-Variante, ist wahrscheinlich noch die einfachste.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Da ich die Idee mit dem Kommentar-Tag gar nicht so übel fand, habe ich mal ausprobiert, wie man sie umsetzen könnte und folgendes gemacht:

Am Ende von parser.php kommt vor das schließende ?>

Code: Alles auswählen

// Kommentare entfernen
	$kommentare = '/<!--\s*kommentar.*-->/si';
	$template_datei = preg_replace($kommentare, '', $template_datei);
// Kommentare entfernen
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
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

template > kommentar

Beitrag von baluo »

danke, matthias und markus.

zwei fragen:
@ matthias:
"adsf" ist nur eine zufallsbezeichnung oder hat das eine bedeutung ?

dieses verfahren scheint zu funktionieren:

Code: Alles auswählen

<!-- ifSet: kommentar; -->## adressen veranstaltungsort ##<!-- /ifSet -->
@markus:
wie muesste bei deinem vorschlag der platzhalter aussehen ?

dank und gruss und schoenen sonntag,
gerhard
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Re: template > kommentar

Beitrag von MarkusR »

baluo hat geschrieben:@markus:
wie muesste bei deinem vorschlag der platzhalter aussehen ?
So wie Matthias es vorgeschlagen hat:
Matthias V hat geschrieben:... einen neuen Platzhalter-Typ namens "Kommentar", dessen Platzhalter Nie durch Inhalt ersetzt werden, so dass du folgende schreiben kannst:

Code: Alles auswählen

<!-- kommentar: hier steht jetzt irgend etwas; -->
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
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Re: template > kommentar

Beitrag von Matthias V »

baluo hat geschrieben:@ matthias:
"adsf" ist nur eine zufallsbezeichnung oder hat das eine bedeutung ?
Das ist natürlich nur eine Zufallsbezeichnung. Man sollte bei einem IfSet irgend eine bezeichnung nehmen, von der es keinen Platzhlater gibt, sonst würde der entsprechende Teil ja auch wieder ausgegeben werden.

bei "asdf" habe ich einfach jede Taste, welche sich unter der linken Hand bei der 10-Finger-Grundstellung befindet einmal gedrückt.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Beitrag von hscha »

Das hier ist ein "uralter" Thread. Trotzdem möchte ich die Frage nochmal aufwerfen, ob z.B. über mod_parser eine einfache Kommentierung im Template realisiert werden kann z.B. a la php (/* kommentar */ bzw. //) oder per Doppelraute ##.
Bei komplizierten Templates mit mehreren Verschachtelungen sind Kommentare sehr hilfreich...:idea:
Hinzu kommt die Möglichkeit, durch mod_templates fremde Templates zu importieren. Durch Kommentare wäre eine Weitergabe von Ideen einfacher, z.B. in einer Template-Ideendatenbank...

Grüße aus Berlin von
Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Hat Dir die Lösung mit

Code: Alles auswählen

<!-- kommentar: hier steht jetzt irgend etwas; -->
nicht gefallen?
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
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Beitrag von hscha »

Hallo Markus,
diese Lösung macht mich nicht glücklich! (dich auch nicht, sonst hättest du die oben angeführte Code-Ergänzung längst in mod_parser eingebaut, oder? :D).

Winterliche Grüße von
Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

mod_parser hat eine offene Schnittstelle, da muß man nichts einbauen.

Einfach den Code in eine Datei schreiben und diese bei "Zusätzliches Parsing" (Post -Parser) eintragen (s.u.).

Du kannst ja einfach den regulären Ausdruck an Deine Bedürfnisse anpassen.
Dateianhänge
post-parsing.jpg
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
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Beitrag von hscha »

Danke, Markus!
Ich werd' ein bisschen experimentieren und das Ergebnis hier posten...

Grüße von
Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Hier ist eine fertige Lösung für PHP-Kommentare
http://stackoverflow.com/a/12734012
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
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Beitrag von hscha »

Hallo,

dies hier scheint zu funktionieren:

Code: Alles auswählen

//   Kommentare entfernen
   $kommentare = '#/\*[^*]*\*+([^/][^*]*\*+)*/#';
   $template_datei = preg_replace($kommentare, '', $template_datei);
// Kommentare entfernen 


Code von oben mit regulärem Ausdruck von der von Markus vorgeschlagenen Webseite.
Ich bin noch beim Testen.
Kommentare müssen in /* und */ eingeschlossen sein, dann scheinen sie zuverlässig ausgefiltert zu werden...

Gruß von
Horst
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Beitrag von hscha »

Das funktioniert (siehe Screenshot):

Code: Alles auswählen

// Kommentare entfernen
   $kommentare = '#/\*[^*]*\*+([^/][^*]*\*+)*/#';
   $template_datei = preg_replace($kommentare, '', $template_datei);
// Kommentare entfernen
Grüße von
Horst
Dateianhänge
template-scst.jpg
Antworten