Artikeltitel statt Nummer für die Anzeige der Detailseite

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:

Artikeltitel statt Nummer für die Anzeige der Detailseite

Beitrag von MarkusR »

Um es möglichst zu vermeiden, daß Redakteure Links von Hand erzeugen müssen, hatte ich den Wunsch, die Detailseite eines Artikels NICHT über die Artikelnummer mittels nr= zu erreichen, sondern den Artikeltitel benutzen zu können.

Hintergrund: Ich habe in verschiedenen Rubriken immer wieder die gleichen Artikeltitel, die sich eben mit verschiedenen Themen aber immer dem gleichen Teilgebiet beschäftigen.
Um jetzt von Thema zu Thema zu verlinken hätten die Redakteure immer zumindest die Artikelnummer rauskríegen und eingeben müssen. Keine gute Idee.

Also habe ich i_detail.php so "gepimpt", daß ich statt der Nummer auch den Titel eingeben kann, der sich im Template aus dem Titel-Platzhalter (oder auch einem Textfeld) erzeugen lässt.

Die Links können dann statt
_rubric/detail.php?nr=4711&rubric=Thema
auch so aussehen
_rubric/detail.php?title=Teilgebiet&rubric=Thema

So kann ich nun im Template Links zu allen Detailartikeln dieses Themas erzeugen...
z.B. <a href="../_rubric/detail.php?title=<!-- Value: Title -->&rubric=Thema">Thema</a>


Hier der Code

suche

Code: Alles auswählen

if (!defined('CPO')) exit;
danach einfügen

Code: Alles auswählen

if (!isset($_REQUEST['nr']) && isset($_REQUEST['title'])) {
	$query = "SELECT article_nr "
			."FROM ".CPO_NEWS." "
			."WHERE titel='".$_REQUEST['title']."' "
			."AND rubric_id=".$cpoRubricId." AND artikel_archiv=0";
	DEBUG(2, $query, __FILE__, __LINE__);   
	$db = new DB;
	$db->query($query);
	$db->next_record();
	$_REQUEST['nr'] = $db->v('article_nr');
	$_GET['nr'] = $db->v('article_nr');
}
Ich schätze mal. daß Google auch auf solche "sprechenden" URLs abfährt...
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

Re: Artikeltitel statt Nummer für die Anzeige der Detailseit

Beitrag von baluo »

MarkusR hat geschrieben:Hintergrund: Ich habe in verschiedenen Rubriken immer wieder die gleichen Artikeltitel, die sich eben mit verschiedenen Themen aber immer dem gleichen Teilgebiet beschäftigen.
kannst du mal einen beispiel-link geben ??

ciao, 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 »

Hier z.B.
http://www.kft-online.de/_rubric/detail ... eportraits

auf der Seite selbst sind unten auch einige Links, die sich in jedem Artikel nur durch den Namen der Hunderasse unterscheiden.
So kann ich in verschiedenen Rubriken die gleiche Themen (Rassen) behandeln und automatisch zwischen den korrespondierenden Artikeln der Rubriken verlinken...
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
KRALdesign
ConPresso-Newbie
Beiträge: 23
Registriert: 24.08.2006 13:18

Beitrag von KRALdesign »

SUPER, das klappte hervorragend.

DANKE für den tollen kleinen, aber sehr nützlichen Hack!
Benutzeravatar
Eichi
ConPresso-Checker
Beiträge: 133
Registriert: 17.08.2005 13:14
Hat sich bedankt: 24 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Beitrag von Eichi »

Da man mittlerweile auch per Platzhalter die Rubrik ausgeben kann, möchte ich gern ein Snippet beisteuern wie es aussehen könnte:

<a href="../_rubric/detail.php?title=<!-- VALUE: Title; -->&rubric=<!-- VALUE: Rubric; name; -->">...</a>

Kann sicher mal jemand gebrauchen. :wink:
pixel&leben - Er fand einen neuen Kunstbegriff - damals, als er Kunst begriff.
Benutzeravatar
Eichi
ConPresso-Checker
Beiträge: 133
Registriert: 17.08.2005 13:14
Hat sich bedankt: 24 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Beitrag von Eichi »

Kurze Frage noch: Ist es eigentlich auch möglich die Leerzeichen vom Titel in + statt %20 ausgeben zu lassen?

Oder wäre das irreführend für Suchmaschinenbots? :roll:
pixel&leben - Er fand einen neuen Kunstbegriff - damals, als er Kunst begriff.
Dani1978
ConPresso-Checker
Beiträge: 217
Registriert: 15.12.2005 09:27
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Beitrag von Dani1978 »

Ist diese Lösung auch für CPO 3.9 anwendbar?
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 »

Dani1978 hat geschrieben:Ist diese Lösung auch für CPO 3.9 anwendbar?
So oder so ähnlich ist es auch für 3.4.x anwendbar. Musst du eben vergleichen mit dem restlichen Code in der i_detail.php (oder wie die bei 3.4.x auch immer heißt) anpassen.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Dani1978
ConPresso-Checker
Beiträge: 217
Registriert: 15.12.2005 09:27
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Beitrag von Dani1978 »

Kann man beide Lösungen parallel betreiben?
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 »

Dani1978 hat geschrieben:Kann man beide Lösungen parallel betreiben?
Klar!!

Oder wie würdest du diese Zeile hier deuten?

Code: Alles auswählen

if (!isset($_REQUEST['nr']) && isset($_REQUEST['title']))
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Lufine
ConPresso-Checker
Beiträge: 127
Registriert: 01.09.2006 10:15
Hat sich bedankt: 1 Mal

Beitrag von Lufine »

Meine Frage hat nur indirekt mit dem Hack zu tun...

Wenn ich im Template einen Link in dieser Art eingebe

Code: Alles auswählen

http://www.docrembert.de/_rubric/detail.php?nr=12&rubric=Kontaktformular
wird daraus im Frontend

Code: Alles auswählen

http://www.docrembert.de/_rubric/detail.php?nr=12&rubric=Kontaktformular
und die gewünschte Seite wird nicht aufgerufen. Wie kann ich denn vermeiden, dass in diesem Fall aus "&" automatisch "&" wird bzw. wie erreiche ich, dass die Seite auch mit "&" korrekt aufgerufen wird?

Ratlose Grüße
Lufine
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 kann ich das nicht reproduzieren.

Dennoch: wie sind in Deiner PHP-Version die Werte für
arg_separator.output und arg_separator.input ?
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 »

Nachtrag:

das scheint kein ConPresso-Problem zu sein, sondern eines von
http://www.docrembert.de/_cfg/skripte/FormMail.pl

Du hast ja folgendes im Formular stehen (übrigens mit & statt & also NICHT umgewandelt)

Code: Alles auswählen

<form action="http://www.docrembert.de/_cfg/skripte/FormMail.pl" method="get">
<input type="hidden" name="recipient" value="info@formtreu.de" />
<input type=hidden name="subject" value="Anfrage über das Kontaktformular">
<input type="hidden" name="required" value="realname,email,Nachricht" />
<input type="hidden" name="redirect" value="http://www.docrembert.de/_rubric/detail.php?nr=12&rubric=Kontaktformular" />
<input type="hidden" name="missing_fields_redirect" value="http://www.docrembert.de/_rubric/detail.php?nr=17&rubric=Kontaktformular" />
Nun erhält das Perl-Script also diese Daten und führt einen Redirect auf http://www.docrembert.de/_rubric/detail ... ktformular durch, wandelt dabei aber & zu & um.

Du solltest dieses Script mal prüfen.
Vielleicht solltest Du einfach mal method="post" probieren, da für ein korrektes GET diese Umwandlung erforderlich ist.

edit: nein, POST hilft auch nicht, habe es mit einer Kopie getestet, das Perl-Script wandelt es trotzdem um... Du solltest eine URL ohne & benutzen... oder mod_form... oder mache es eben so wie bei http://www.paritaet-bremen.de wo Du auf & verzichtet hast
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 »

Du solltest eine URL ohne & benutzen... oder mod_form... oder mache es eben so wie bei http://www.paritaet-bremen.de wo Du auf & verzichtet hast
Das hat allerdings den Nachteil, dass ich die Fehlermeldung in einer anderen Rubrik unterbringen muss und sich dementsprechend die Navigation verändert: die aktive Rubrik wird immer farblich hervorgehoben. Und wenn ich die Rubrik keinem Naviagtionspunkt zuordne, ist überhaupt kein Menüpunkt mehr ausgewählt.

mod_menu habe ich auch schon ausprobiert, soweit ich mich erinnere gab`s da aber das Problem, dass es nur einmal installiert werden kann und ich bräuchte für dieses Projekt drei verschiedene Kontaktformulare.

Was mich wundert ist, dass Du in Deinem Hack auch ein & verwendest und dort scheint es ohne Probleme zu funktionieren...

Die phpinfo sieht übrigens so aus:

arg_separator.input
Local: &
Master: &

arg_separator.output:
Local: &
Master: &
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 »

Lufine hat geschrieben:Was mich wundert ist, dass Du in Deinem Hack auch ein & verwendest und dort scheint es ohne Probleme zu funktionieren...
Eben... "&" funktioniert... warum auch nicht? Tut es bei Dir ja auch...
Lufine hat geschrieben:Die phpinfo sieht übrigens so aus:

arg_separator.input
Local: &
Master: &

arg_separator.output:
Local: &
Master: &
Dann ändere diese doch mal auf &
Ich weiß dann aber nicht was mit den bisherigen Links passiert
Das hat allerdings den Nachteil, dass ich die Fehlermeldung in einer anderen Rubrik unterbringen muss und sich dementsprechend die Navigation verändert: die aktive Rubrik wird immer farblich hervorgehoben. Und wenn ich die Rubrik keinem Naviagtionspunkt zuordne, ist überhaupt kein Menüpunkt mehr ausgewählt.
Dein Problem ist doch die Angabe der Rubrik.
Schon mal drüber nachgedacht eine Kopie von _rubric zu erstellen (z.B. _contact) und dies ausschließlich für dieses Kontaktformular zu verwenden? Wenn man dann das &rubric= weglässt sollte dennoch korrekt die rubrik erkannt werden.
mod_menu habe ich auch schon ausprobiert, soweit ich mich erinnere gab`s da aber das Problem, dass es nur einmal installiert werden kann und ich bräuchte für dieses Projekt drei verschiedene Kontaktformulare.
mod_form :wink:
und ja, die frei verfügbare Version funzt auf manchen Servern nur einmal... ich habe aber auch eine, die sich immer mehrfach installieren und nutzen lässt... eben mal schnell erstellt
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