Drei klickbare Keyword-Felder in Dateibeschreibung Drei klickbare Keyword-Felder in Dateibeschreibung
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Drei klickbare Keyword-Felder in Dateibeschreibung

Started by lion2222, May 29, 2007, 12:41:47 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

lion2222

Liebe coppermine-User

Ich möchte bei der Dateibeschreibung (Film-Datenbank) ein klickbares Linkfeld für den Regisseur, eines für das Genre und ein anderes für die Schauspieler einrichten. Die Schauspieler sind im Feld keywords, das funktioniert (ich hab lediglich die deutsche Übersetzung von Keywords unter lang/german.php auf Schauspieler geändert).
Um ein zweites oder drittes Feld nach dem gleichen Schema einzurichten, bleibt nur ein zusätzliches "benutzerdefiniertes Feld für zusätzliche Datei-Informationen".

alien_coder schlägt (2004) vor, den Code in der Datei displayimage.php wie folgt zu ändern:

$info[$CONFIG['user_field'.$i.'_name']] = '<span class="alblink">' . preg_replace("/(\S+)/", "<a href=\"thumbnails.php?album=search&type=full&search=\\1\">\\1</a>" , $CURRENT_PIC_DATA['user' . $i]) . '</span>';
                     
All the field will be clickable. If you want some of them to be not clickable check for i  ( if (i==1 or i==2), etc)  in the for-loop.

Dadurch werden die in diesem Feld eingetragenen Stichworte automatisch klickbar. Aber nur in einem der beiden User-Felder liefert das auch die Resultate in der Bildersuche. Wisst Ihr warum?

Für Hilfe bei diesem Problem wäre ich Euch sehr dankbar...

Liebe Grüße
Herbert

Joachim Müller

Poste doch mal einen Link zu dem Thread, auf den Du Dich beziehst.

Hilft Add More Custom Fields via Config Dir weiter?

lion2222

Vielen Dank für die Antwort...

Aber es geht mir nicht darum, neue Felder zu definieren (oder zu verwalten). Im von Dir angegebenen Thread (soweit ich ihn als Newbie verstehe), gibt es keine Möglichkeit, ein neues Userfeld als Keyword-Feld zu definieren.
Was ich versuche ist, ein neues Userfeld so zu generieren, dass Einträge dort direkt als Keywords abgespeichert werden (so wie im Feld Stichworte - oder bei mir Darsteller).

Trage ich die Stichworte in Keywords UND dem Userfeld Genres ein, dann funktioniert der Link, wie im Beispiel hier:
http://www.bestofweb.at/bestoffilm/displayimage.php?album=1&pos=0
(Die Genres liefern Suchresultate, weil sie unter Stichworte auch eingetragen sind)

Trage ich die Stichworte nur im Userfeld Genres ein, dann findet der Link keine Dateien (Suchresultate), wie im Beispiel hier:
http://www.bestofweb.at/bestoffilm/displayimage.php?album=1&pos=1
(Der Link "Generation" liefert keine Ergebnisse während "Drama" nur den Film anzeigt, in dem unter Stichworte Drama eingetragen ist, findet aber nicht  Cinema Paradiso)

Die Frage ist also, gibt es eine Möglichkeit, ein Userfeld dazu zu bringen, die dort eingetragenen Worte automatisch als Stichworte in die Keyword-Liste einzutragen?

Ich bin leider (noch) kein php-Spezialist, html ist zwar kein Problem für mich aber bei php finde ich grade mal die Befehle und erkenne, was sie auslösen, aber ändern kann ich sie nicht...

Liebe Grüße
Herbert

Joachim Müller

Zusätzliche keyword-Felder würden massive Änderungen in der Datenbank und im Coppermine-Code bedeuten. Wird sehr schwer - nur für absolute Experten empfohlen. Tut mir leid, da kann ich Dir wenig helfen, ein solcher Mod ist viel zu aufwändig.

lion2222

OK, Danke, werde damit leben müssen.

Gibt es statt dessen eine Möglichkeit, in einem zusätzlichen Benutzerfeld ein Stichwort mit einem händisch eingetragenen Link zu generieren, wie es direkt unter dem Bild oder in der Albenbeschreibung möglich ist? Die Benutzerfelder nehmen derzeit ja keine BBCode-Befehle an.

So in der Art: Stichwort,
aber eben ohne dass der Code [...] sichtbar ist

Das wäre quasi ein händisch eingetragener Link, der aber eigentlich genau so wie Stichworte funktionieren würde.

LG, Herbert

PS: ich verspreche, das ist hier meine letzte Frage, wenns nicht klappt, begebe ich mich auf die Suche nach einem Freelancer, der mir das einrichtet.

lion2222

Problem fast gelöst...

Ich habe ein neues Bild (Dummy/stichworte.gif) in das Album geladen und bei diesem unter Stichworte (bei mir Darsteller) alle Genres eingetragen. Wenn in irgendeiner Datei die Stichworte einmal eingetragen sind, sind sie auch in den Kewords bei der SUCHE sichtbar (und klickbar). Das Interessante daran ist, dass damit auch die (nach obigem Schema verlinkten) klickbaren Genrebezeichnungen in den Benutzerfeldern bei allen Dateien/Bildern die richtigen Such-Resultate liefern.

Ich bin draufgekommen, weil ich einmal in der SUCHE alle Kästchen angehakt hab. Die Suchresultate aus den einzelnen Dateien hängen scheinbar mit diesen Sucheinstellungen zusammen. Ist alles angeklickt (in meinem Fall auch das benutzerfeld Genres), liefern auch die klickbaren Worte in den weiteren Benutzerfeldern Resultate.

Wenn es mir also gelingt, die Standardeinstellungen in der SUCHE so zu ändern, dass alle Checkbox-Felder angelickt sind, dann funktioniert der Code oben auch für weitere klickbare Benutzerfelder.

Meine Frage also: Ist das möglich? Damit wäre das Problem der klickbaren zusätzlichen benutzerfelder zwar nicht direkt gelöst, aber zumindest so umgangen, dass es funktioniert...

Sorry für meine unprofessionelle Art, das anzugehen, aber meinen technischen Mangel versuche ich eben mit Fantasie auszugleichen...

Joachim Müller

Bearbeite search.php, durchsuche die Datei nach den Codes für die Checkboxen (suche nach <input type="checkbox") und füge, wo Du es für sinnvoll hälst das Attribut checked="checked"dem <input...-Tag hinzu.

Erläuterung:
Ein Standard-mäßig nicht angekreuztes Kästchen sieht so aus: <input type="checkbox" name="name_des_Elements" id="ID_des_Elements" class="checkbox" />
Ein Standard-mäßig angekreuztes Kästchen sieht dementsprechend so aus: <input type="checkbox" name="name_des_Elements" id="ID_des_Elements" class="checkbox" checked="checked" />

Wenn der Benutzer gar nicht die Option haben soll, das Kästchen an- oder auszuschalten, dann kannst Du auch das readonly-Attribut dazugeben, etwa so: <input type="checkbox" name="name_des_Elements" id="ID_des_Elements" class="checkbox" checked="checked" readonly="readonly" />
Wenn der Benutzer das Kästchen gar nicht sehen können soll, dann ändere den Typ auf "verborgen", etwas so: <input type="hidden" name="name_des_Elements" id="ID_des_Elements" value="1" />

Das alles ist reines HTML und nicht explizit auf Coppermine bezogen - sollte also auch für Nicht-Coder relativ leicht sein, sowas auf die Reihe zu bekommen.

lion2222

Ja das wars - Problem gelöst! Vielen Dank...

Hier noch einmal für jene, die auch mehrere klickbare Benutzerfelder installieren wolllen, wie in diesem Beispiel: http://www.bestofweb.at/bestoffilm/displayimage.php?album=1&pos=0

1) Ich habe unter Einstellungen 2 benutzerdefinierte Felder installiert, Feld 1: Regie, Feld 2: Genre
2) In displayimage.php wird der Code geändert (Zeile 134), wie oben beschrieben, dadurch werden die Einträge automatisch klickbar.
3) Ich habe zwei neue Bilder GENRE und REGIE in das Album gespielt und dort unter Stichworte alle Worte wiederholt, die in den Alben in den jeweiligen neuen Benutzerfeldern vorkommen.

Damit liefern die Benutzerfelder auch die richtigen Suchresultate. Und unter SUCHE sind die Stichworte klickbar.
Die neuen Benutzerfelder reagieren also wie Stichwortfelder.

lion2222

UUps, eins noch:

4) In search.php wird in Zeile 58 der Code geändert:
<input type="checkbox" name="$name" id="$name" class="checkbox" checked="checked" /><label for="$name" class="clickable_option">{$row['value']}</label>