Automatische Links erzeugen

Fragen zur Implementierung und/oder Anpassung von ConPresso 3.x werden in diesem Forum diskutiert.
Lufine
ConPresso-Checker
Beiträge: 127
Registriert: 01.09.2006 10:15
Hat sich bedankt: 1 Mal

Beitrag von Lufine »

Hmm, aber der Artikel "Bambus" ist gelöscht und der Text wird trotzdem noch "verglossariert"... :? Auch in anderen Browsern, am Cache liegt´s also nicht...
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 »

Der Artikel ist nur als "gelöscht" gekennzeichnet, existiert aber noch als Artikelversion.
Man müsste also die Erstellung der Liste um Freigaben etc. ergänzen, oder den Artikel im Artikelarchiv löschen...

Aber wie man Artikel korrekt auswählt ist hier weniger das Problem als eine Rückmeldung ob die Ersetzung sowie der Glossaraufruf unter allen Umständen klappt.
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
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Den Teil

Code: Alles auswählen

$db_glossar->query("SELECT titel FROM ".CPO_NEWS." WHERE rubric_id='25'"); 
müsstest Du jetzt eben ersetzen durch

Code: Alles auswählen

$where = "FROM ".CPO_NEWS." "
        ."WHERE ";

$articlestates = $cpoSystem['release'] 
    ? 'artikel_archiv<2 AND freigabe='.STATE_RELEASED.' ' 
    : 'artikel_archiv<1 AND freigabe!='.STATE_BLOCKED.' ';
$now = time();

$where .= $articlestates
         ."AND pub_datum<='".date('Y-m-d H:i:s', $now)."' "
         ."AND verfallsdatum>='".date('Y-m-d H:i:s', $now)."' "
         .'AND rubric_id='25' ';

db_glossar->query("SELECT titel ".$where); 
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
Lufine
ConPresso-Checker
Beiträge: 127
Registriert: 01.09.2006 10:15
Hat sich bedankt: 1 Mal

Beitrag von Lufine »

Bekomme jetzt folgende Fehlermeldung:

Code: Alles auswählen

Parse error: syntax error, unexpected T_LNUMBER in E:\Projekte\Teppich-Kontor\www\_include\parser.php on line 202
Das ist diese Zeile:

Code: Alles auswählen

 .'AND rubric_id='25' ';
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 »

ändere sie in

Code: Alles auswählen

."AND rubric_id='25' ";
(vorne und hinten Gänsefüsschen statt Apostroph)
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
Lufine
ConPresso-Checker
Beiträge: 127
Registriert: 01.09.2006 10:15
Hat sich bedankt: 1 Mal

Beitrag von Lufine »

Ja, habe ich auch schon versucht, dann kommt diese Meldung

Code: Alles auswählen

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in E:\Projekte\Teppich-Kontor\www\_include\parser.php on line 204

Diese Zeile ist das:

Code: Alles auswählen

db_glossar->query("SELECT titel ".$where);
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 »

Bitte mal vollständig... (oft sind die Fehler nicht in der Zeile sondern durch ein fehlendes Zeichen in der vorigen verursacht...)
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
Lufine
ConPresso-Checker
Beiträge: 127
Registriert: 01.09.2006 10:15
Hat sich bedankt: 1 Mal

Beitrag von Lufine »

Code: Alles auswählen

$db_glossar = new db;
$replace = array();
$with = array();
$where = "FROM ".CPO_NEWS." "
        ."WHERE ";

$articlestates = $cpoSystem['release']
    ? 'artikel_archiv<2 AND freigabe='.STATE_RELEASED.' '
    : 'artikel_archiv<1 AND freigabe!='.STATE_BLOCKED.' ';
$now = time();

$where .= $articlestates
         ."AND pub_datum<='".date('Y-m-d H:i:s', $now)."' "
         ."AND verfallsdatum>='".date('Y-m-d H:i:s', $now)."' "
         ."AND rubric_id='25' ";

db_glossar->query("SELECT titel ".$where);


while ($db_glossar->next_record()) {
    $glossarbegriff = trim($db_glossar->v('titel'));
	$replace[] = '/(>|\s)'.$glossarbegriff.'([.,;!?\s]|<\/p>|<\/li>|<\/strong>|<br \/>|<br>|<\/h1>|<\/h2>)/i';
	$with[] = '$1<a class="glossar" href="/_material/detail.php?title='.$glossarbegriff.'&rubric=Material-Info">'.$glossarbegriff.'</a>$2';
}
$template_datei = preg_replace($replace, $with, $template_datei);
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 »

ooops... das $ fehlt

$db_glossar->query("SELECT titel ".$where);
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
Lufine
ConPresso-Checker
Beiträge: 127
Registriert: 01.09.2006 10:15
Hat sich bedankt: 1 Mal

Beitrag von Lufine »

Habe gerade selber ein bißchen im WWW recherchiert, was das für ein Fehler sein könnte und habe ihn unter dem Namen "fehlernder Dollar Fehler" gefunden. Wusste nur nicht, wohin mit dem Dollar ;-)

Jetzt funzts! Danke!
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 »

Viel einfacher ist die Benutzung eines Editors mit "Syntax-Highlighting" z.B. EditPlus oder Notepad++ usw.
Da sieht man die Fehler direkt an der Farbe.
Ich habe es jetzt auch dadurch gesehen, daß ich den Code einfach dort reinkopiert habe und auf den ersten Blick den Fehler erkennen konnte.
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
Lufine
ConPresso-Checker
Beiträge: 127
Registriert: 01.09.2006 10:15
Hat sich bedankt: 1 Mal

Beitrag von Lufine »

Schon installiert! Danke für den Tipp...

Eine Schwäche hat mein Glossar jetzt noch... Im local_header in einem der Rubrikverzeichnisse steht:

Code: Alles auswählen

echo '<h1>'.htmlspecialchars($cpoRubricSettings['title']).'</h1>'
Dieser Codeschnipsel wird scheinbar nicht geparst. Hast Du eine Idee, wie ich das Problem elegant :wink: aus der Welt schaffen kann? Möchte auf die Erstellung eines Artikels der nur die Rubriküberschrift enthält, eigentlich möglichst verzichten...
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 »

Was heißt "scheinbar"?
Was passiert denn?

Im Original sieht er ja so aus

Code: Alles auswählen

<h1><?php echo htmlspecialchars($cpoRubricSettings['title']); ?></h1>
Es soll auch schon vorgekommen sein, daß nichts bei "Rubrik-Überschrift" eingetragen wurde und dann Beschwerden kamen, daß da nichts erscheint... :twisted:
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
Lufine
ConPresso-Checker
Beiträge: 127
Registriert: 01.09.2006 10:15
Hat sich bedankt: 1 Mal

Beitrag von Lufine »

So sieht die Stelle im Seiten-Quelltext aus:

Code: Alles auswählen

<h1>Bambus</h1>
wobei "Bambus" ein freigeschalteter Artikel im Glossar ist. Die h1-Verglossarierung funktioniert in den anderen Rubriken, bei denen die Überschrift im Template und nicht im local_header definiert wird, ohne Probleme:

Code: Alles auswählen

<h1><a class="glossar" href="/_material/detail.php?title=Kokos&rubric=Material-Info">Kokos</a></h1
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 »

Achsoooooooooooooooooooo meinst Du das....!

Nein, header und footer werden nicht durch ConPresso geparst, also auch keine Chance auf eine "Glossarisierung".
Ich dachte Du meinst das Parsen durch PHP, also Ersetzen der Variable durch die Überschrift (was ja offensichtlich funktioniert).

Rubriküberschriften sind ja ein Designelement und kein "Inhalt" oder Artikel im Sinne einer ständigen Änderung. Eine Überschrift, die noch eine Erklärung benötigt, die nicht im Text unter der Überschrift zu finden ist, sollte doch besser durch was verständlicheres ersetzt werden...
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
Antworten