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 »

Das erklär mal den Kunden ;-)

Nee, in diesem Fall ist das aber ok - das Glossar ist ja "nur" eine Material-Info, d.h. es geht nicht um Fremdwörter.

Also doch ein Artikel nur aus einer Überschrift bestehend? Gibt es denn die Möglichkeit, diesen Artikel automatisch an die erste Stelle zu setzen und bei den anderen eine manuelle Sortierung zu erlauben? Obwohl... quatsch - dann wird der Titel eben nicht verglossariert! Schluss. Ende. 8)
Jürgen´s
ConPresso-User
Beiträge: 45
Registriert: 29.12.2007 13:02

ist das so was?

Beitrag von Jürgen´s »

HALLO HABE MIR DAS MAL ANGESEHEN
Da ich auf meiner Seite auch bestimmte Wörter zu der passenden Seite innerhalb des Projektes verlinken möchte, es soll aber nur einmal das passende Wort innerhalb des Artikels verlinkt werden und nur vom Artikel und nicht was vom Bild oder von derArtikelüberschrift berücksichtigt werden.

Dazu habe ich das hier gefunden, hört sich prima an nur wie und wo man das einbaut, ????

Würde mich freuen, wenn mir einer Tipps geben könnte.

Gruß
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 lufine,
Lufine hat geschrieben:Schon installiert!
laesst sich das irgendwo mal "anschauen" ???

danke, und gutes neues jahr,
gerhard
Jürgen´s
ConPresso-User
Beiträge: 45
Registriert: 29.12.2007 13:02

Beitrag von Jürgen´s »

auf dem Link den ich angegeben habe, da ist eine Musterseite.

wäre schön, wenn mir hier einer helfen könnte
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 juergen.

php-laie, der ich bin (zum leidwesen der hiesigen experten), kann ich dir leider auch nicht weiterhelfen, und meine anfrage betraf auch eher lufine's beitraege. aber ich bin sicher, die conpresso-experten hier werden dir tips geben, wenn sie aus dem neujahrsschlaf wieder erwacht sind (ich schreibe aus suedaustralien, 9,5 stunden voraus).
Jürgen´s hat geschrieben:wäre schön, wenn mir hier einer helfen könnte
gruss, gerhard
Jürgen´s
ConPresso-User
Beiträge: 45
Registriert: 29.12.2007 13:02

Beitrag von Jürgen´s »

schade, das mir keiner helfen möcht :(
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 »

Jürgen´s hat geschrieben:schade, das mir keiner helfen möcht :(
Nette Formulierung...

Schon mal darüber nachgedacht, daß es weniger am "möchten" als am "können" hapert?
Ich zumindest verstehe den von Dir geposteten Code nicht und kann daher auch nichts dazu sagen.
Du hast Dich ja an einen Thread mit einer voll entwickelten und erprobten Lösung angeklinkt und möchtest ihn in eine andere Richtung drängen. Das sei Dir ungenommen, aber nicht jeder wird Dir folgen...
Das einzige, was ich an Deiner Lösung verstehe ist, daß sie schwer zu pflegen ist und ein Redakteur ohne PHP-Kenntnisse und FTP-Zugriff das Glossar nicht bearbeiten oder ergänzen kann... im Gegensatz zu der hier entwickelten Lösung.
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
Jürgen´s
ConPresso-User
Beiträge: 45
Registriert: 29.12.2007 13:02

Beitrag von Jürgen´s »

HALLO
danke für deine Antwort.
Ja du hast recht, nur ich habe das nicht so ganz verstanden, wie ich das einpflegen könnte. (Die Lösung die hier vorgestellt wurde)

Würde gerene die Lösung von euch nutzen.

LG
Jürgen
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 »

Allerdings stellt sich noch das Problem, daß schon Lufine das Thema etwas verbogen hat und eine Lösung für ConPresso4 dabei rausgekommen ist. Ich kenne Deine Webseite nicht, schätze aber, daß sie unter ConPresso3.x läuft.
Hast Du denn schon eine Rubrik also Glossar angelegt, auf die dann verlinkt werden kann?
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
Jürgen´s
ConPresso-User
Beiträge: 45
Registriert: 29.12.2007 13:02

Beitrag von Jürgen´s »

hmm...
ja ich habe Conpresso 3
aber ich dachte, dass ich nicht so eine Rubrik erstellen muss.
Ich möchte lieber autmatisch auf bestimmte Rubriken verweisen also z. B. das Wort Kirchen auf die Rubrik ../kirchen/index.php

deshalb wäre es für mich auch ausreichend gewesen, wenn ich im Code die Wörter inkl Link schreiben müsste.
Es müssen nur so um die 15-20 Wörter automatisch verlinkt werden.

Und wenn mal ein Wort dazu kommen würde, könnte man dass dann auch ruhig im Code machen, muss kein anderer machen....

Daher hatte ich so an die eine Version gedacht.
Nur ich habe eben keine Ahnung von PHP, hast du ja schon beim Kontaktformular bemerkt, also weiß ich auch nicht wie und wo ich was einfügen muss.
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 »

Dann probiere mal folgendes:

öffne _include/parser.php
suche das schließende ?>
und füge davor noch den Code ein

Code: Alles auswählen

if (!function_exists("cmp")) {
	function cmp($a,$b)
	{
		$bool = strlen($a) < strlen($b);
		return $bool;
	}
}
if (!function_exists("gimmeTheLink")) {
	function gimmeTheLink($k, &$map)
	{
		$r = '';
		if (isset($map[$k])){
			$r = $map[$k];
			unset($map[$k]);
		}else{
			$r = $k;
		}
		return $r;
	}
}

$targets = array(
'Urwaldbaum' => 'http://de.wikipedia.org/wiki/Urwald',
'Klopapier' => 'http://www.umwelt.org/robin-wood/german/trowa/urwaldpapier/index.htm',
'Gitarre' => 'http://de.wikipedia.org/wiki/Gitarre',
'viel' => 'http://www.pril.de',
'Zeug' => 'http://www.zeug.de',
'viel unnützes Zeug' => 'http://www.ebay.de',
'etwas wirklich sinnvolles' => 'http://www.internetabschalten.de' // wichtig: in der letzten Zeile kein Komma!
);

$map = array();

foreach ($targets as $k => $v){
    $key2use = preg_quote($k);
    $map[$key2use] = sprintf('<a href="%s">%s</a>', $v, $k);
}

uksort($map, 'cmp');

$tmp = '(\b'.join ('\b|\b', array_keys($map)).'\b)';

$regexp = "/".$tmp."(?![^<]+>)/e";

$template_datei = preg_replace($regexp,'gimmeTheLink("\1", $map)',$template_datei);
Ich habe aber keine Ahnung ob sowas überhaupt funktioniert, da diese Art des Einsatzes von preg_replace nicht dokumentiert ist.
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
Jürgen´s
ConPresso-User
Beiträge: 45
Registriert: 29.12.2007 13:02

Beitrag von Jürgen´s »

DANKE,
ja funzt super gut!

Schöner wäre oder besser lieber wäre es mir noch, wenn die Links nur auf der Detail - Seite erscheinen würde, aber das geht sicherlich nicht, oder?

Nochmals besten Dank!
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, probiere mal Markus seinen Code zwischen diese beiden Zeilen zu schreiben:

Code: Alles auswählen

if (basename($_SERVER['PHP_SELF'],".php")=='detail' {
}
Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Jürgen´s
ConPresso-User
Beiträge: 45
Registriert: 29.12.2007 13:02

Beitrag von Jürgen´s »

hmm, diese Zeilen finde ich nicht inder parser, oder habe ich jetzt was falsch verstanden?
Danke
Gruß
Jürgen
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 »

Diese Zeilen gibt es noch nicht.

Schreibe vor meinen Code die Zeile

if (basename($_SERVER['PHP_SELF'],".php")=='detail' {

und danach die Zeile

}


Das meinte Matthias mit "zwischen diese beiden Zeilen"... :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
Antworten