[Solved]: Eigener PHP Code in template.php [Solved]: Eigener PHP Code in template.php
 

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

[Solved]: Eigener PHP Code in template.php

Started by sugar99, June 26, 2008, 05:12:46 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

sugar99

Hallo, ich habe mein Template komplett meiner Webseite angepasst, jetzt möchte ich aber gern an einer Stelle des Templates einen kleinen PHP Code einfügen. Ins Template direkt geht es ja nicht also dachte ich die theme.php. Hier steig ich aber ehrlich gesagt nicht richtig durch wie ich das machen könnte. Gibt es eine Anleitung oder hat jemand einen Ansatz einfach nur? Das würde mir schon sehr helfen, ich will nix falsch machen.  ::)

Danke!

Αndré

Je nachdem wo du etwas hinzufügen willst, solltest du die entsprechende Stelle in der themes.inc.php suchen und in die theme.php reinkopieren. Danach kannst du dann deinen Code einfügen und entsprechend der Ausgaben anpassen.
Ohne weitere Informationen kann ich dir nichts konkreteres sagen.


-
muu

Joachim Müller

Quote from: eenemeenemuu on June 26, 2008, 05:41:50 PM
solltest du die entsprechende Stelle in der themes.inc.php suchen und in die theme.php reinkopieren.
Das ist technisch zwar korrekt, aber nur für Leute mit Durchblick, da in include/themes.inc.php auch noch die functions_exists Abfragen drin sind.. Besser ist es, die entsprechende Stelle aus themes/sample/theme.php nach themes/dein_theme/theme.php zu kopieren und dann zu bearbeiten.

sugar99

Ja ich habe die theme.php auch schon angepasst (bevor natürlich kopiert  ;)). (Nur ein paar Buttons ausgeblendet.) Jetzt habe ich ein News System auf der eigentlichen Seite und wollte per php include oder ähnliches diese wie auf den anderen Seite einfügen. Nur wie?

Αndré

Ich kann nicht genau nachvollziehen, was du wo hast und was du dann anzeigen willst. Aber für mich hört sich das so an, als wolltest du ein bestehendes News-System an einer Stelle in Coppermine einbinden (also nicht auf jeder Seite, oder?).
Also so wie ich mir das gerade vorstelle, würde ich die theme.php dabei garnich anfassen.. lässt sich aber schwer beurteilen.

sugar99

Hm, vielleicht ist es leichter mit einem Beispiel. Ich habe also meine Template.html Datei. Dort habe ich entsprechend die Marker {SUB_MENU} etc. eingebunden. Jetzt ist es aber eine HTML Datei und meine eigentliche Webseite hat folgenden Code an einer anderen Stelle in der template.html der sieht z.B. so aus: <? include ("news/news_show.php"); ?>. Diese kann ich dort in der Template.html aber nicht einfügen weil er einfach nicht angezeigt wird. Jetzt dachte ich es müsste eben in die theme.php nur dort weiss ich eben nciht wo?

Αndré

Da ich keinen Link zu deiner Seite habe und mit den spärlichen Informationen nix anfangen kann, kann ich dir so leider nicht weiterhelfen.

Auf meiner Seite habe ich z.B. eine Zufallszitatoption eingebaut, die registrierten Benutzern unter meiner Navigation angezeigt wird. Dafür habe ich mir einen Platzhalter(?) {ZITATE} erstellt, den ich in der theme.php mit den entsprechenden PHP-Code fülle.

sugar99

Jau genau sowas müsste es doch sein! Wie hast du es gemacht in der themes.php? Könntest du mir den Code mal posten? Vielleicht kann ich es so abändern? Danke!

Αndré

In der Datei themes/sample/theme.php findest du folgende Stelle:
// Function for writing a pageheader
function pageheader($section, $meta = '')
{
    global $CONFIG, $THEME_DIR;
    global $template_header, $lang_charset, $lang_text_dir;

    $custom_header = cpg_get_custom_include($CONFIG['custom_header_path']);

        $charset = ($CONFIG['charset'] == 'language file') ? $lang_charset : $CONFIG['charset'];

    header('P3P: CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"');
        header("Content-Type: text/html; charset=$charset");
    user_save_profile();

    $template_vars = array('{LANG_DIR}' => $lang_text_dir,
        '{TITLE}' => $CONFIG['gallery_name'] . ' - ' . strip_tags(bb_decode($section)),
        '{CHARSET}' => $charset,
        '{META}' => $meta,
        '{GAL_NAME}' => $CONFIG['gallery_name'],
        '{GAL_DESCRIPTION}' => $CONFIG['gallery_description'],
        '{SYS_MENU}' => theme_main_menu('sys_menu'),
        '{SUB_MENU}' => theme_main_menu('sub_menu'),
        '{ADMIN_MENU}' => theme_admin_mode_menu(),
        '{CUSTOM_HEADER}' => $custom_header,
        );

    echo template_eval($template_header, $template_vars);
}

Den Block musst du dann in deine theme.php kopieren

Das Array $template_vars habe ich um das besagte Feld erweitert in der template.html an der gewünschten Stelle eingefügt.


-
muu

sugar99

Super, vielen vielen Dank! Genau das war die Stelle die ich gesucht habe! Hat funktioniert!