Neuer Platzhalter Value: rubric

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Neuer Platzhalter Value: rubric

Beitrag von MarkusR »

Nachdem es hier ja schon als Wunsch geäußert wurde und ich es selbst bisher per mod_inline gelöst hatte, hier nun eine verbesserte Version:

in _include/parser_c_value.inc.php

Suche:

Code: Alles auswählen

global $key, $content, $_type, $_name, $db_autor, $db_email, $db_initial, $db_nr, $db_template, $db_idx, $db_pub_datum, $db_verfallsdatum, $db_titel, $db_content, $db_changer;
Ersetzen durch:

Code: Alles auswählen

global $key, $content, $_type, $_name, $db_autor, $db_email, $db_initial, $db_nr, $db_template, $db_idx, $db_pub_datum, $db_verfallsdatum, $db_titel, $db_content, $db_changer, $db_rubric_id;
Suche: (am Ende der Datei) Davor einfügen:

Code: Alles auswählen

case stristr(strtolower($key), 'rubric'):
    $db_content->query('SELECT directory, name, settings FROM '.CPO_RUBRIC." WHERE id='".addslashes($db_rubric_id)."' ");
    if ($db_content->next_record()) {
		$rub_settings = unserialize($db_content->v('settings'));
		$content[$key] = array(
			'type'          =>$_type,
			'name'          =>$_name,
            'rubricid'      => $db_rubric_id,
            'rubricname'    => $db_content->v('name'),
            'rubricdir'     => $db_content->v('directory'),
            'rubrictitle'   => $rub_settings['title']
		);
	}
    break;
in _include/parser_r_value.inc.php

Suche:

Code: Alles auswählen

    /* FIXME These fields might be used too
Davor einfügen:

Code: Alles auswählen

case stristr(strtolower($key), 'rubric'):
    $replacement = sprintf('<a href="../%s/index.php?rubric=%s">%s</a>', 
        htmlspecialchars($content[$key]['rubricdir']), 
        htmlspecialchars($content[$key]['rubricid']), 
        htmlspecialchars($content[$key]['rubrictitle'])
    );
    if (array_key_exists('rubricid', $parameters)) {
        $replacement = htmlspecialchars($content[$key]['rubricid']);
    }
    if (array_key_exists('rubricname', $parameters)) {
        $replacement = htmlspecialchars($content[$key]['rubricname']);
    }
    if (array_key_exists('rubricdir', $parameters)) {
        $replacement = htmlspecialchars($content[$key]['rubricdir']);
    }
    if (array_key_exists('rubrictitle', $parameters)) {
        $replacement = htmlspecialchars($content[$key]['rubrictitle']);
    }
    break;
Nun kann der Platzhalter <!-- Value: rubric; --> zur Ausgabe eines Links auf die Rubrik benutzt werden.

Außerdem können Parameter benutzt werden.
Diese geben folgendes aus:
<!-- Value: rubric; rubricid; --> => Rubrik-ID
<!-- Value: rubric; rubricname; --> => Rubrik-Name
<!-- Value: rubric; rubricdir; --> => Rubrik-Verzeichnis
<!-- Value: rubric; rubrictitle; --> => Rubrik-Titel

Ich benutze diese Platzhalter in Latest News, um die Rubrik mit angeben zu können:

Code: Alles auswählen

<div class="internallink"><a href="../<!-- Value: Value: rubric; rubricdir; -->/index.php?rubric=<!-- Value: rubric; rubricname; -->"><!-- Value: rubric; rubrictitle; --></a></div>
Matthias hat das wohl auch für zukünftige Versionen des Gästebuches vorgesehen
-> http://community.conpresso.de/viewtopic ... 6297#16297
aber ich habe es eben jetzt gebraucht... :wink:
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: Neuer Platzhalter Value: rubric

Beitrag von Matthias V »

MarkusR hat geschrieben:Matthias hat das wohl auch für zukünftige Versionen des Gästebuches vorgesehen
-> http://community.conpresso.de/viewtopic ... 6297#16297
aber ich habe es eben jetzt gebraucht... :wink:
Ja, aber ich habe das da nicht so komplett drinn, ich habe zur Zeit nur die Ausgabe des Rubriknamens und der Rubrik-ID. Es ist also bereits beim Gästebuch 4.0.5 enthalten.

Ich werde es bei der nächsten Version wahrscheinlich so übernehmen, wie du das hier stehen hast.

Hintergrund: Da ich beim Gästebuch den Value-Parser (also die oben beschriebenen Dateien) überschreiben muss, möchte ich damit so viele Möglichkeiten der Ausgabe geben wie möglich.
Gerade, wenn z.B. soche Rubrik-Platzhalter in anderen Modulen sehr sinnvoll sind und benötigt werden, damit Anpassungen an der Conpresso/_include/parser_c_value.inc.php und der Conpresso/_include/parser_r_value.inc.php nach der Installation vom Gästebuch nicht nocheinmal an diesen Dateien im Ordner Conpresso/mod_guestbook/_include/ durchgeführt werden müssen.

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
tylerx
ConPresso-Newbie
Beiträge: 19
Registriert: 03.08.2006 10:06
Kontaktdaten:

Parse error

Beitrag von tylerx »

Hi,

ich habe das exakt so eingegeben, aber ich bekomme dann unmittelbar zu Beginn eines Artikels, wo ich ja den rubrictitle verwenden möchte, einen "Parse error", auch wenn ich den Wert selbt gar nicht anspreche:

Parse error: parse error, unexpected T_STRINGs in D:\WEBppliance\Sitedata\Domains\vpoe.or.at\ROOT\Inetpub\wwwroot\conpresso\_include\parser_c_value.inc.php on line 104

Der Fehler passiert in parse_c_vlue.inc.php bzw. parse_r_value.inc.php.

Was mache ich da falsch?

LG Peter

PS: Bitte bedenke, dass ich in den glücklichen Zeiten von FORTRAN aufgewachsen bin und mir mit c und objektorientierten Sprachen überhaupt noch ein wenig schwer tue.
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: Parse error

Beitrag von Matthias V »

tylerx hat geschrieben:Parse error: parse error, unexpected T_STRINGs in D:\WEBppliance\Sitedata\Domains\vpoe.or.at\ROOT\Inetpub\wwwroot\conpresso\_include\parser_c_value.inc.php on line 104
Was steht denn bei dir in Zeile 104?

Und hast du alle änderungen komplett so wie beschrieben umgesetzt? steht hinter "global" die Variable "$db_rubric_id"?
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
tylerx
ConPresso-Newbie
Beiträge: 19
Registriert: 03.08.2006 10:06
Kontaktdaten:

Beitrag von tylerx »

Danke für die schnelle Antwort. Bin echt beeindruckt.

case stristr(strtolower($key), 'rubric'):
    $db_content->query('SELECT directory, name, settings FROM '.CPO_RUBRIC." WHERE id='".addslashes($db_rubric_id)."'");
    if ($db_content->next_record()) {
      $rub_settings = unserialize($db_content->v('settings'));
      $content[$key] = array(
'type'          => $_type,
         'name'          => $_name,
          'rubricid'      => $db_rubric_id,
          'rubricname'    => $db_content->v('name'),
          'rubricdir'  => $db_content->v('directory'),
          'rubrictitle'   => $rub_settings['title']
      );
   }
   break;
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 »

Was davon ist nun die Zeile 104?

Hast du in Zeile 23 hinter "global" die Variable "$db_rubric_id" stehen?
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
tylerx
ConPresso-Newbie
Beiträge: 19
Registriert: 03.08.2006 10:06
Kontaktdaten:

Beitrag von tylerx »

sorry, hab ich übersehen: die $db_rubric_id;
ist als global deklariert
Benutzeravatar
tylerx
ConPresso-Newbie
Beiträge: 19
Registriert: 03.08.2006 10:06
Kontaktdaten:

Beitrag von tylerx »

Ich arbeite mit Frontpage und weiß da keine Möglichkeit, die Zeilennummern anzuzeigen, aber wenn ich das case stristr(strtolower($key), 'rubric'): usw. auskommentiere, ist der Fehler weg. Also kann es ja nur das sein, denke ich. Sonst habe ich an den files ja nichts verändert.
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 »

tylerx hat geschrieben:Ich arbeite mit Frontpage und weiß da keine Möglichkeit, die Zeilennummern anzuzeigen, aber wenn ich das case stristr(strtolower($key), 'rubric'): usw. auskommentiere, ist der Fehler weg. Also kann es ja nur das sein, denke ich. Sonst habe ich an den files ja nichts verändert.
Wie kann man nur sowas mit Frontpage machen. Suche mal bei Google nach "Notepad++", das Ding geht super.

Bei meinem Frontpage werden Zeilennummern angezeigt, wenn du die aber nicht angezeigt bekommst, kannst du entweder die Zeilen zählen, oder die Datei in parser_c_value.inc.php.txt umbenennen, um sie hier im Forum zu posten.

Ja klar, wenn man "case stristr(strtolower($key)" auskommentiert, dann springt PHP nicht in diesen Case-Zweig rein. Das ist so als würde er nicht dastehen.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
tylerx
ConPresso-Newbie
Beiträge: 19
Registriert: 03.08.2006 10:06
Kontaktdaten:

Beitrag von tylerx »

Shame on me. Danke für den Tip, das Ding ist kühl *ggg*. Werde Frontpage gleich in den Schnitzler werfen, ich hab sowieso ein gespanntes Verhältnis zu Slick Billie ;-).

So: Zeile 104 ist:     $db_content->query('SELECT directory, name, settings FROM '.CPO_RUBRIC." WHERE id='".addslashes($db_rubric_id)."'");
Benutzeravatar
tylerx
ConPresso-Newbie
Beiträge: 19
Registriert: 03.08.2006 10:06
Kontaktdaten:

Beitrag von tylerx »

Ach Gott, bin ich doof heute morgen, jetzt steht natürlich das Kommentarzeichen da, Zeile 104 ist daher in Wirklichkeit:
case stristr(strtolower($key), 'rubric'):
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Re: Neuer Platzhalter Value: rubric

Beitrag von MarkusR »

Dein Fehler liegt hier:
MarkusR hat geschrieben:Suche: (am Ende der Datei) Davor einfügen:

Code: Alles auswählen

case stristr(strtolower($key), 'rubric'):
...
Der Code muß VOR die geschweifte Klammer!

Das Ende der Datei müßte also so aussehen:

Code: Alles auswählen

case stristr(strtolower($key), 'title'):
    $content[$key] = array(
        'type'          =>$_type,
        'name'          =>$_name,
        'title'         =>$db_titel
    );
    break;

case stristr(strtolower($key), 'rubric'):
    $db_content->query('SELECT directory, name, settings FROM '.CPO_RUBRIC." WHERE id='".addslashes($db_rubric_id)."' ");
    if ($db_content->next_record()) {
		$rub_settings = unserialize($db_content->v('settings'));
		$content[$key] = array(
			'type'          =>$_type,
			'name'          =>$_name,
            'rubricid'      => $db_rubric_id,
            'rubricname'    => $db_content->v('name'),
            'rubricdir'     => $db_content->v('directory'),
            'rubrictitle'   => $rub_settings['title']
		);
	}
    break;
}

?>
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 Markus, genau die gleiche Idee hatte ich auch gerade.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
tylerx
ConPresso-Newbie
Beiträge: 19
Registriert: 03.08.2006 10:06
Kontaktdaten:

Beitrag von tylerx »

so sieht es aber auch aus:



[/img]D:\test\conpresso.jpg[/img][[/img]
Benutzeravatar
tylerx
ConPresso-Newbie
Beiträge: 19
Registriert: 03.08.2006 10:06
Kontaktdaten:

Beitrag von tylerx »

hat wohl ned ganz funktioniert
Dateianhänge
conpresso.jpg
Antworten