Benötige Zusätzliche Datenfelder in Alben Ansicht. Benötige Zusätzliche Datenfelder in Alben Ansicht.
 

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

Benötige Zusätzliche Datenfelder in Alben Ansicht.

Started by LevArris, November 19, 2009, 01:23:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

LevArris

Hallo Community!

Ich baue zur Zeit eine Mediendatenbank auf und möchte Coppermine als Plattform dafür nutzen.
Ich benötige jedoch zusätzliche Datenfelder in der Alben Tabelle.

Datenbanktechnisch habe ich das bereits gelöst. Ich habe die Felder der Alben Tabelle hinzugefügt und kann diese auch über das Admin-Panel der Albenbeschreibung aktualisieren.
Mein Problem ist nun, diese Zusätzlichen Daten in beim Aufrufen der thumbnails.php, unterhalb des Albumtitels, sichtbar zu machen.
Meine PHP-Kenntnisse reichen einfach nicht aus um die nötigen Einträge vorzunehmen.

Kann mir jemand einen Hinweis geben, an welcher Stelle ich welche Datei wie ändern muss, um die Zusätzlichen Daten anzuzeigen?

Für eine nützliche Antwort wäre ich wirklich sehr dankbar.

Gruß
Lev


LevArris

Danke für den Hinweis André.

Da ich den Internetauftritt auf meinem lokalen Rechner entwickle, kann ich natürlich keinen link dazu posten.
Ich werde aber versuchen, mein Anliegen mittels Screenshots und Codeschnipseln zu verdeutlichen.


Zuerst habe ich die Tabelle "cpg_albums" erweitert, wie auf dem Bild "datenbank" markiert.

Dann habe ich sie modifyalb.php so verändert, das die neuen Felder angezeigt werden:

$notice1 = ' *';
$help_can_upload = ' '.cpg_display_help('f=index.htm&as=album_prop_visitor_start&ae=album_prop_visitor_end&top=1', '400', '200');
$help_album_keywords = ' '.cpg_display_help('f=index.htm&as=album_prop_keyword_start&ae=album_prop_keyword_end&top=1', '400', '200');
$help_album_password = ' '.cpg_display_help('f=index.htm&as=album_prop_password_start&ae=album_prop_password_end&top=1', '500', '250');

$captionLabel = $lang_modifyalb_php['alb_desc'];
if ($CONFIG['show_bbcode_help']) {$captionLabel .= ' '. cpg_display_help('f=index.html&base=64&h='.urlencode(base64_encode(serialize($lang_bbcode_help_title))).'&t='.urlencode(base64_encode(serialize($lang_bbcode_help))),470,245);}
$data = array($lang_modifyalb_php['general_settings'],
    array($lang_modifyalb_php['alb_title'], 'title', 0),
    array($lang_modifyalb_php['alb_cat'], 'category', 2),
array($lang_modifyalb_php['alb_ean'], 'ean', 0),
array($lang_modifyalb_php['alb_price'], 'price', 0),
array($lang_modifyalb_php['alb_ve'], 've', 0),
array($lang_modifyalb_php['alb_eigenschaft'], 'eigenschaft', 0),
array($lang_modifyalb_php['alb_gepruft'], 'gepruft', 0),
array($lang_modifyalb_php['alb_produkt'], 'produkt', 0),
array($lang_modifyalb_php['alb_produktinfo'], 'produktinfo', 0),
    array($captionLabel, 'description', 3),
    array($lang_modifyalb_php['alb_keyword'].$help_album_keywords, 'keyword', 0),
    array($lang_modifyalb_php['alb_thumb'], 'thumb', 4), $lang_modifyalb_php['alb_perm'],
    array($lang_modifyalb_php['can_view'], 'visibility', 5),
    array($lang_modifyalb_php['alb_password'].$help_album_password, 'alb_password', 6),
    array($lang_modifyalb_php['alb_password_hint'].$help_album_password, 'alb_password_hint', 7),
    array($lang_modifyalb_php['can_upload'].$notice1.$help_can_upload, 'uploads', 1),
    array($lang_modifyalb_php['can_post_comments'].$notice1, 'comments', 1),
    array($lang_modifyalb_php['can_rate'].$notice1, 'votes', 1),
    );


Danach die nötigen Änderungen in der db_input.php vorgenommen, damit die Felder auch nach der Dateneigabe beschrieben werden.

    // Update album

    case 'album_update':
        if (!(USER_ADMIN_MODE || GALLERY_ADMIN_MODE)) cpg_die(ERROR, $lang_errors['perm_denied'], __FILE__, __LINE__);

        $aid = (int)$_POST['aid'];
        $title = addslashes(trim($_POST['title']));
        $category = (int)$_POST['category'];
$ean = addslashes(trim($_POST['ean']));
$price = addslashes(trim($_POST['price']));
$ve = addslashes(trim($_POST['ve']));
$eigenschaft = addslashes(trim($_POST['eigenschaft']));
$gepruft = addslashes(trim($_POST['gepruft']));
$produkt = addslashes(trim($_POST['produkt']));
$produktinfo = addslashes(trim($_POST['produktinfo']));
        $description = addslashes(trim($_POST['description']));
                $keyword = addslashes(trim($_POST['keyword']));
        $thumb = (int)$_POST['thumb'];
        $visibility = (int)$_POST['visibility'];
        $uploads = $_POST['uploads'] == 'YES' ? 'YES' : 'NO';
        $comments = $_POST['comments'] == 'YES' ? 'YES' : 'NO';
        $votes = $_POST['votes'] == 'YES' ? 'YES' : 'NO';
        $password = addslashes($_POST['alb_password']);
                $password_hint = addslashes(trim($_POST['alb_password_hint']));
        $visibility = !empty($password) ? FIRST_USER_CAT + USER_ID : $visibility;

        if (!$title) cpg_die(ERROR, $lang_db_input_php['alb_need_title'], __FILE__, __LINE__);

        if (GALLERY_ADMIN_MODE) {
            $query = "UPDATE {$CONFIG['TABLE_ALBUMS']} SET title='$title', description='$description', category='$category', ean='$ean', price='$price', ve='$ve', eigenschaft='$eigenschaft', gepruft='$gepruft', produkt='$produkt', produktinfo='$produktinfo', thumb='$thumb', uploads='$uploads', comments='$comments', votes='$votes', visibility='$visibility', alb_password='$password', alb_password_hint='$password_hint', keyword='$keyword' WHERE aid='$aid' LIMIT 1";
        } else {
            $category = FIRST_USER_CAT + USER_ID;
            $query = "UPDATE {$CONFIG['TABLE_ALBUMS']} SET title='$title', description='$description', thumb='$thumb',  comments='$comments', votes='$votes', visibility='$visibility', alb_password='$password', alb_password_hint='$password_hint',keyword='$keyword' WHERE aid='$aid' AND category='$category' LIMIT 1";
        }

        $update = cpg_db_query($query);

        if (!mysql_affected_rows()) cpg_die(INFORMATION, $lang_db_input_php['no_udp_needed'], __FILE__, __LINE__);
                pageheader($lang_db_input_php['alb_updated'], "<meta http-equiv=\"refresh\" content=\"1;url=modifyalb.php?album=$aid\" />");
        msg_box($lang_db_input_php['info'], $lang_db_input_php['alb_updated'], $lang_continue, "modifyalb.php?album=$aid");
        pagefooter();
        ob_end_flush();
        exit;
        break;


Die Eingabe der Albenbeschreibung sieht nun so aus, wie auf dem Bild "modify-alb" dargestellt.

Nun möchte ich gerne diese Daten alle auf der Albenseite beim Aufruf der thumbnails.php darstellen (Siehe Bild "anzeige").
Gleichzeitig soll die Anzeige der Albenbeschreibung auf der Albenliste entfallen. Das Bild "uebersicht" zeigt, was ich meine.

Nun zurück zu meiner ursprünglichen Frage:
Kann mir jemand sagen, welche Dateien ich wie zu verändern habe, damit die Anzeige wie gewünscht ausgeführt wird?
Oder ist das generell nicht möglich?

Ich hoffe auf Eure Antwort und verbleibe


mit freundlichen Grüßen
Lev

Αndré

Quote from: LevArris on November 20, 2009, 09:23:22 AM
Gleichzeitig soll die Anzeige der Albenbeschreibung auf der Albenliste entfallen. Das Bild "uebersicht" zeigt, was ich meine.
Bearbeite die Funktion theme_display_album_list in der Datei theme.php. Such dort nach dem Platzhalter {ALB_DESC}.


Quote from: LevArris on November 20, 2009, 09:23:22 AM
Nun möchte ich gerne diese Daten alle auf der Albenseite beim Aufruf der thumbnails.php darstellen (Siehe Bild "anzeige").
Bearbeite $template_thumb_view_title_row.

LevArris

Hallo André,

danke für Deine Antwort.
Ich kann jedoch weder das eine noch das andere in den von Dir genannten Dateien finden.
Die Suche nach den ensprechenden Einträgen bleiben ergebnislos.

Ich verwende die Version 1.4.25
Vielleicht hat das was zu bedeuten?

Αndré

Wenn die entsprechenden Funktionen/Variablen nicht in der Datei theme.php deines Themes vorhanden sind, kannst du sie aus themes/sample/theme.php kopieren.