Wunsch: Modul fuer Stichwort-Index

Diskussion zu nicht so umfangreichen Modulen und Start-Up für neue Module. Ansonsten bitte die speziellen Kategorien benutzen!
Antworten
Benutzeravatar
baluo
ConPresso-Experte
Beiträge: 607
Registriert: 14.11.2005 12:17
Hat sich bedankt: 216 Mal
Danksagung erhalten: 11 Mal

Wunsch: Modul fuer Stichwort-Index

Beitrag von baluo »

Der Website, an der ich gerade bastele (grweb.org/cpo-pirltawardli) wuerde ich gerne einen Stichwort-Index beifuegen, so ähnlich wie bei einem Sachbuch.

Optimal wäre ein Modul zwischen dem mod_footnote und der Sitemap-Funktion im mod_menu:

Neben dem entsprechenden Begriff einen Index-Eintrag einfuegen, z.B. mit einer doppelten geschweiften Klammer (mod_footnote benutzt doppelte Klammern), die alle gesammelt auf einer gesonderten Seite ausgegeben werden. Verlinkung zu den einzelnen Artikeln ueber deren Artikel-Nummer ...

Fuer verschiedene Themenbereiche (z.B. Personennamen, Ortsnamen, Sachbegriffe) unterschiedliche Symbole oder mehrfach dasselbe, z.B. {{{ oder {{{{ ...

Könnt ihr cpo-Experten einen solchen Wunsch erfuellen?
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Es ist recht aufwendig den gesamten Webauftritt zu scannen um dann einen Index erstellen zu können.
Ich kenne das von mod_tagcloud, was man nur auf Mini-Seiten oder leistungsstarken dedizierten Servern benutzen kann.

Würdest Du ja einfach die "Schlüsselwörter" in Artikeln benutzen, dann ließe sich daraus in Null-komma-Nix die gewünschte Liste erstellen.
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

Beitrag von baluo »

Danke, Markus, fuer deine erste Reaktion zu diesem Wunschmodul.

Ich habe bisher nie mit dem "Schluesselwörter"-Feld gearbeitet, weil ich nicht wusste, ob und wie die ausgelesen werden, anders als der Hinweis auf die cpo-Suchfunktion. Aber das wäre eine ernsthafte (und doppelte) Option.

Frage:
Lassen sich die Schluesselworte dann irgendwie auch kategorisieren, wie z.B.
P-... fuer Person,
O-... fuer Ort,
S-... fuer Stichwort.
Ausgegeben wuerden sie dann auf drei verschiedenen Web-Seiten, aber ohne den Prefix ... Oder ist das zuviel gewuenscht?

Hast du andere - bessere - Ideen, wie so etwas zu handhaben ist?

Wie uebrigens werden mehrere Begriffe eingegeben -- getrennt durch Kommata?

Danke, Gerhard
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Vergleichbar einfach wäre es je ein Textfeld für diese Infos zu erstellen (was dann eben in jedem Template passieren muss, wogegen "Schlüsselwörter" eben schon da ist).
Dann müssten nur diese Infos gesammelt und ausgegeben werden und Du könntest sie in einer Deiner Boxen sogar sinnvoll ausgeben.

So mache ich es mit den Längen und Breiten bei mod_map und mod_gmap.

Um mehrere Einträge zu trennen sollte man ein Zeichen nehmen das nicht in den Einträgen vorkommt.
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

Beitrag von baluo »

Meinst du, ich erstelle drei weitere Textfelder fuer das Backend, die nicht in der Website nicht ausgegeben, aber fuer die Indices ausgelesen werden?

Kannst du dann die Einträge im jeweiligen Index nach Begriffen gruppieren und via Artikel-Nummer verlinken?

Also so etwa:
Kategorie Namen
- Teichelmann 54 276 1238 ...
- Meyer 52 129

Trennzeichen: | \ + ??

Das klingt verlockend -- wenn ich nicht allzuviel php-code ändern muss -- davor scheue ich mich noch immer ... Ich erstelle mal diese drei Textfelder ...

G
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Erst mal als Rubrikverzeichnis.
Trennzeichen ist ; (Semikolon).

Das Verzeichnis _index ins CPO-Verzeichnis kopieren.

Will man nun den Index für das Feld "Personen" sehen, dann ruft man
CPO/_index/index.php?index=Personen
auf.
Und so eben für jedes beliebige Text-Feld.

Hättest Du mod_functions und mod_parser (fürs Post-Parsing) installiert, dann könnte man es mit ein paar Änderungen als Funktion nutzen und somit direkt in Artikel, Artikeltemplates, Seitentemplates und als PHP-Code benutzen.

In i_index.php kann man definieren ob detail.php oder index.php als Ziel ausgegeben werden, das Trennzeichen umstellen und auch eine ausführliche Ausgabe per Titel (long) nutzen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
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

Beitrag von baluo »

oups, sorry, ich habe gerade eben erst gesehen, dass du ja schon geantwortet hast, und mit einem Vorschlag. Werde mich später damit befassen! Danke dafür!

mod_parser ist installiert, und mod_functions habe ich mir gerade herunter geladen (4.2a?) - installiere ich später. Allerdings weiss ich schon, warum ich mich bisher nicht daran getraut habe: Sieht nach viel Programmierarbeit aus, und ich weiss ja noch nicht mal, wie ich Seitentemplates erstelle (mangels Anleitung für Programmier-Laien - oder existiert die mittlerweile?).

G
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

mod_functions stellt ohne Codeeingriffe Funktionen bereit, die in Artikeln und Artikeltemplates benutzt werden können.


Nur weil ich Seitentemplates und PHP-Code erwähnt habe musst Du nicht gleich umschulen.
Weder für mod_parser noch für mod_functions sind irgendwelche Codeeingriffe notwendig.

Ja, die Funktionen in mod_functions bestehen aus PHP-Code, aber Copy/Paste wirst Du ja noch hinkriegen, oder?

Seitentemplates funktionieren genau wie Artikeltemplates, es gibt nur andere Platzhalter.
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

Beitrag von baluo »

Wow, funktionuckelt, hier (noch ohne weitere Bearbeitung des Templates).

Und in einer Weise praktisch, die einfacher ist, als ich es mir vorgestellt hatte.

Ich habe im Template diese Platzhalter:

Code: Alles auswählen

<!--
<!-- Text: Keywords_AbNames; -->
<!-- Text: Keywords_Names; -->
<!-- Text: Keywords_Places; -->
<!-- Text: Keywords_Others; -->
-->
(muss aber die Bezeichnung ändern, wenn sie als Rubrik-Überschrift verwendet werden).

Ist das übrigens die einzige Weise, Platzhalter im Template einzufügen, ohne dass sie ausgegeben werden? Im Moment werden sie im Quelltext als auskommentiert angezeigt (womit ich leben kann - aber es könnte ja mal eine andere Anwendung geben, die ich nicht angezeigt haben will ...)
Erst mal als Rubrikverzeichnis.
Kommt eine Alternative, evtl. für Artikel??
Trennzeichen ist ; (Semikolon).
Ok für mich. Wenn ich nach dem letzten Eintrag noch ein Semikolon setze, erscheint ein leerer Index-Eintrag (siehe derzeit die "158" am Anfang der Liste).

Übrigens, ich habe jetzt auch mod_functions installiert, aber ich weiss schon, warum ich da Muffensausen habe ... :wink:

Danke für das Index-Modul!!
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Das mit den auskommentierten Platzhaltern ist schon seit vielen Jahren überholt.
Lege einfach einen neuen Platzhalter an.
Templates -> Artikeltemplates bearbeiten -> Platzhalter bearbeiten -> Platzhalter oberhalb/unterhalb einfügen

Die Ausgabe in Artikeln funktioniert mittels mod_functions und mod_parser und würde dann so aussehen

Code: Alles auswählen

<h2>Index für WERT1</h2>
[!-- function: index; index=WERT1; --]
<h2>Index für WERT2</h2>
[!-- function: index; index=WERT2; --]
<h2>Index für WERT3</h2>
[!-- function: index; index=WERT3; --]
Es ist natürlich unsinnig ein Trennzeichen zu setzen wenn es nichts mehr zu trennen gibt. Aber auch gegen solche geistigen Ausfälle könnte man den Code ergänzen.

Es ist kein Modul.

Falls Du mod_functions nutzen willst, dann kann ich Dir den (inzwischen mehrfach überarbeiteten) Code posten.
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

Beitrag von baluo »

MarkusR hat geschrieben:Lege einfach einen neuen Platzhalter an.
Templates -> Artikeltemplates bearbeiten -> Platzhalter bearbeiten -> Platzhalter oberhalb/unterhalb einfügen
Hmm, ich sitze etwas auf der Leitung: Wo finde ich "Platzhalter oberhalb/unterhalb einfügen"?

Das ist das Template, und ich habe die Platzhalter "oberhalb" eingefügt:

Code: Alles auswählen

<!--
<!-- Text: Keywords_AbNames; -->
<!-- Text: Keywords_Names; -->
<!-- Text: Keywords_Places; -->
<!-- Text: Keywords_Others; -->
-->

<div class="clear" id="article<!-- Value: articlenr -->">

<!-- ifNotSet: Article_Main; -->
<!-- ifSet: Article_Title; --><h2><!-- Text: Article_Title; --></h2><!-- /ifSet -->
<!-- ifNotSet: Article_Title; --><h2><!-- Value: Title; --></h2><!-- /ifNotSet -->
<!-- /ifNotSet -->

<!-- ifSet: Article_Main; -->
<!-- url: More-link; starttag; --><h2 >
<!-- ifSet: Article_Title; --><!-- Text: Article_Title; --><!-- /ifSet -->
<!-- ifNotSet: Article_Title; --><!-- Value: Title; --><!-- /ifNotSet -->
&nbsp;&nbsp;&raquo;</h2></a>
<!-- /ifSet -->

<!-- ifSet: Author; --><p style="margin: -5px 0 15px 25px; font-weight:bold;">By <!-- Text: Author; --></p><!-- /ifSet -->

<!-- ifSet: miniature-img; --><div class="img-le" >
<!-- ifSet: Article_Main; -->
<!-- url: More-link; starttag; --><img src="<!-- Text: miniature-img; -->"
alt="<!-- Value: Title; -->"></a>
<!-- /ifSet -->
<!-- ifNotSet: Article_Main; -->
<img src=<!-- Text: miniature-img; -->
alt="
<!-- ifSet: Article_Title; --><!-- Text: Article_Title; --><!-- /ifSet -->
<!-- ifNotSet: Article_Title; --><!-- Value: Title; --><!-- /ifNotSet -->
">
<!-- /ifNotSet -->
</div><!-- /ifSet -->

<!-- ifSet: Article_Intro; -->
<!-- HTML: Article_Intro; -->
<!-- ifSet: Article_Main; --><div style="margin:0 0 30px 0; clear:both;" class="text-re">[ <!-- url: More-link; starttag; -->more&nbsp;&raquo;</a> ]</div><!-- /ifSet -->
<!-- /ifSet -->

</div>
Momentan habe ich noch das kleinere Design-Problem, dass der Global Header zum Schluss ein <h1> enthält (<h1><?php echo htmlspecialchars($cpoRubricSettings['title'], ENT_COMPAT, 'ISO-8859-15'); ?></h1>), was die etwas unpassende Linie über der h2-Überschrift erzeugt (habe ich in der i_index.php angepasst).

Und da ich gerade etwas wagemutiger bin -- wie kann ich im "Ausgabe"-Bereich in der i-index.php noch etwas css einfügen (wenigstens so etwas wie ein <div class="index">, für die Auflistung in kleinerer Textgrösse.

Die Ausgabe in Artikeln funktioniert mittels mod_functions und mod_parser und würde dann so aussehen

Code: Alles auswählen

<h2>Index für WERT1</h2>
[!-- function: index; index=WERT1; --]
<h2>Index für WERT2</h2>
[!-- function: index; index=WERT2; --]
<h2>Index für WERT3</h2>
[!-- function: index; index=WERT3; --]
Also, das wäre die bevorzugte Option, aber wie ...? Auf jeden Fall hätte ich dannwohl eine reguläre Rubrik ... oder?

Es ist natürlich unsinnig ein Trennzeichen zu setzen wenn es nichts mehr zu trennen gibt. Aber auch gegen solche geistigen Ausfälle könnte man den Code ergänzen.
Nun ja, wo du Recht hast ... wollte es nur sagen ... Ausserdem könnte es sein, dass ein weiterer Kollege an dem Projekt mitarbeitet -- und ein abschliessendes Semikolon setzt sich schnell ...

Es ist kein Modul.
Sondern?

Falls Du mod_functions nutzen willst, dann kann ich Dir den (inzwischen mehrfach überarbeiteten) Code posten.
Wenn du meinst, dass ich damit umgehen kann, dann ja. Installiert habe ich die 4.2a, das war die letzte, die ich in dem Thread gesehen habe.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ja, verdammt, Du stehst auf dem Schlauch!

Nicht auf das ICON "Artikeltemplate bearbeiten" klicken sondern auf das ICON "Platzhalter bearbeiten"!
http://grweb.org/cpo-pirltawardli/_manu ... lates.html

Da Du das Artikeltemplate zeigst ist klar, dass Du auf der völlig falschen Seite bist.
Auf jeden Fall hätte ich dannwohl eine reguläre Rubrik
Ist mir egal wie Du das Ding bezeichnest in dem Du Artikel publizierst.
und ein abschliessendes Semikolon setzt sich schnell
Nicht wenn man einem ... sagt, dass es ein TRENNzeichen ist.
Sondern?
_index ist ein Rubrikverzeichnis. Habe ich das nicht erwähnt? Dann jetzt: es ist ein Rubrikverzeichnis.

Die Verbindung mit mod_parser nicht vergessen:
http://community.conpresso.de/viewtopic ... 7401#27401

Die Ausgabe wurde mit Kommentaren und Klassen ergänzt damit man die gewünschte Optik (z.B. Abstände) nach Wunsch einstellen kann.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
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

Beitrag von baluo »

Ich teile jetzt mal die Antwort:
MarkusR hat geschrieben:Ja, verdammt, Du stehst auf dem Schlauch!
Nicht auf das ICON "Artikeltemplate bearbeiten" klicken sondern auf das ICON "Platzhalter bearbeiten"!
Oha, __klingel__ meintest du die "Manuelle Sortierung" der Platzhalter?
Falls ja, dann sind die Keywords ganz "oben", aber ihr Inhalt wird trotzdem im Quelltext mit ausgegeben ...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Nein, DIE meinte ich NICHT...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
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

Beitrag von baluo »

MarkusR hat geschrieben:Die Verbindung mit mod_parser nicht vergessen:
http://community.conpresso.de/viewtopic ... 7401#27401
Ok, diese Zeile in welche Datei?

Code: Alles auswählen

mod_functions/post_parse_functions.inc.php
MarkusR hat geschrieben:Die Ausgabe in Artikeln funktioniert mittels mod_functions und mod_parser und würde dann so aussehen

Code: Alles auswählen

<h2>Index für WERT1</h2>
[!-- function: index; index=WERT1; --]
<h2>Index für WERT2</h2>
[!-- function: index; index=WERT2; --]
<h2>Index für WERT3</h2>
[!-- function: index; index=WERT3; --]
Sorry, bitte erkläre mir das noch etwas genauer:
- Mit mod_functions habe ich eine Funktion erstellt.
- Eine Rubrik existiert, verlinkt mit "_index"
- Die obige Code-Zeile muss ich noch eintragen -- ok ...
- wo füge ich jetzt den Aufruf für einen spezifischen Index ein? Im Artikel- oder Seitentemplate, und dann jeweils als eigenes Template? (Falls Seitentemplate habe ich wieder ein Probem ...)
- oder einfach im Artikel / html meines Standard-Templates?
Antworten