template > platzhalter fuer zwei "ifSet"

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 > platzhalter fuer zwei "ifSet"

Beitrag von baluo »

hallo aus karlsruhe,

ich habe mal wieder ein kleines problem:

wir haben ein template eingerichtet, in dem es aus verschiedenen gruenden fuer die detail-seite *zwei* "artikel"-felder gibt, als "Text" **und** als HTML-Editor-Feld ("artikel1" und "artikel2").

wuerde ich sie nur alternativ nutzen, koennte ich sogar mit demselben namen fuer den platzhalter arbeiten und entsprechend verlinken. werden dann aber beide textfelder benutzt, ergibt sich ein parser-fehler (leider - ich hatte mich schon gefreut).

wie verlinke ich aber unter diesen umstaenden von der index- auf die detail-seite ? die kombination von IfNotSet und IfSet kann ja nicht funktionieren, weil ich ja potentiell - aber nicht unbedingt - beide felder mit content habe. zweimal IfSet wuerde mir den "weiterlesen"-link doppelt ausgeben ...

zu sehen zum beispiel hier (detail-seite, ende):
http://www.kirchennetz.info/kb/_start01 ... ubric=Home&

ich bin etwas ratlos und hoffe auf euch ...

danke, und guten mittag, gerhard
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 »

Leider zeigst Du nicht, was Du schon hast, daher hier eine Rohfassung mit den Platzhaltern teaser, artikel1 und artikel2 sowie einem weiter-Link

Code: Alles auswählen

<!-- Text: teaser; -->
<!-- ifSet: artikel1; --><!-- ifNotSet: artikel2; --><!-- URL: weiter; --><!-- /ifNotSet --><!-- /ifSet -->
<!-- ifSet: artikel2; --><!-- ifNotSet: artikel1; --><!-- URL: weiter; --><!-- /ifNotSet --><!-- /ifSet -->
<!-- ifSet: artikel1; --><!-- ifSet: artikel2; --><!-- URL: weiter; --><!-- /ifSet --><!-- /ifSet --> 
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:

Beitrag von Matthias V »

Hallo Baluo,

dieses Problem habe ich auch bei meinem Gästebuchmodul, denn dort muss es sein, dass es gleichnamige Platzhalter von unterschiedlichen Platzhaltertypen gibt.
Daher habe ich eine Fehlerbehebung, die den Parser wieder funktionieren lässt und die Fehlermeldung umgeht.

Hier mal ein Ausschnitt aus der Installationsanleitung des Moduls:
Gästebuchanleitung hat geschrieben:Wenn "ifSet"- und "ifNotSet"-Platzhalter im Template ungünstig gesetzt sind, kann es passieren, dass im Frontend (dem eigentlichen Gästebuch) Fehlermeldungen angezeigt werden. Diese Fehler kann man mit der folgenden Codeänderung beseitigen.

Datei _include/parser.php öffnen

* suche:

Code: Alles auswählen

      // we got content for this placeholder
      $_regex = substr($_regex, 0, -1).'(.*?)\<\!--\s*\/ifSet\s*--\>/si';
* dazwischen einfügen:

Code: Alles auswählen

      if (substr($_regex, -31, 31)=='(.*?)\<\!--\s*\/ifSet\s*--\>/si') continue;
* suche:

Code: Alles auswählen

      // we got content for this placeholder
      $_regex = substr($_regex, 0, -1).'(.*?)\<\!--\s*\/ifNotSet\s*--\>/si';
* dazwischen einfügen:

Code: Alles auswählen

      if (substr($_regex, -34, 34)=='(.*?)\<\!--\s*\/ifNotSet\s*--\>/si') continue;
Die spitzen Klammern und die Fragezeichen musst du natürlich ignorieren.

Balu wollte diese Fehlerbehebung noch nicht bei CPO 4.0.4 einbauen, weil er noch nicht einschätzen kann, was sich durch diese Änderung für ungewollte nebeneffekte ergeben. Ich denke aber, dass es keine ungewollten Nebeneffekte gibt.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Beitrag von baluo »

hallo markusR,

danke, es hat geklappt !!

das ist mein quellcode jetzt -- heute mittag hatte ich noch keine ahnung, wie ich es machen sollte.

Code: Alles auswählen

<!-- ifSet: Artikel1; -->
<p class="small-re" style="width:30%;">
<!-- ifNotSet: Artikel2; --> <!-- URL: weiter; --> <!-- /ifNotSet -->
</p>
<!-- /ifSet --> 
<!-- ifSet: Artikel2; -->
<p class="small-re" style="width:30%;">
<!-- ifNotSet: Artikel1; --> <!-- URL: weiter; --> <!-- /ifNotSet -->
</p>
<!-- /ifSet --> 
<!-- ifSet: Artikel1; -->
<span class="small-re" style="width:30%;">
<!-- ifSet: Artikel2; --> <!-- URL: weiter; --> <!-- /ifSet -->
</p>
<!-- /ifSet --> 
ueber verbesserungsvorschlaege bin ich immer dankbar.

gruss, gerhard
Antworten