Ein NUKE-Thema selber schreiben - Die themes.php

Begonnen von Micro, 13 Mai 2002, 23:56:17

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

moin, moin,

kann nur sagen "KLASSE".

War schon am verzweifeln :D

gruß
geso09

Hallo und guten Tag.

Ich finde die Beschreibung für die Themes-Anpassung einfach Genial.
Ich hätte da jedoch noch einen Vorschlag:

Am besten alle Beschreibungen und Erläuterungen direkt in die themes.php als Notitz schreiben und zwar jeweils über oder neben der betreffenden Funktion. So könnte man alles in der themes.php Datei lesen und gleichzeitig, sieht man die Funktion sofort. Das erspart uns Leihen, das ständige suchen und dem Autor, das copy und past der jeweiligen Abschnitte.

Ansonsten Herzlichen Dank an dieser Stelle dem Autor, für die Einführung und Erläuterungen der themes.

Gruss
Sabba    

Bobbele

Hallo!

Erstmal auch von mir ein riesiges Dankeschön an den Autor, weil man sowas nämlich sonst nicht findet. Eine Frage jedoch noch:
Wie kann ich anstelle von Hintergrundfarben Hintergrundgrafiken verwenden?

Bis dänne & nochmals danke!

Bobbele

Micro

Auf Seite 4 der PDF Dokumentation ganz unten, ist beschrieben wie man eine Hintergrundgrafik ins Thema einfügt.

function themeheader()

 
# Zeile 1 Hintergrund Definition
    echo "<body background=\"themes/$thename/images/bg.gif\" bgcolor=\"#ffffff\" text=\"#000000\" link=\"$css_link\" vlink=\"$css_vlink\" alink=\"$css_alink\">\n";


den neuen DownloadLink gibts auch gleich dazu, da meine Domain die Tage umgezogen ist.

ein Thema selber schreiben

Marty

wie kann ich die Hintergundfarbe der Blocktitel verändern?
Meine Linken- und die Centerblöcke sind nun wie gewünscht (bis auf die Titelhintergrundfarbe) aber die rechten tanzen aus der reihe wie geht das mit den rechten?
Wahrscheinlich bin ich einfach ,mal zu blöd!

Micro

ähem ....
das ist in der Tat seltsam. ;o)

Nein, dann such mal in der theme.php nach dem Funktionsaufruf blocks('right');
Der sollte eigentlich in der "function themefooter()" zu finden sein.

Und hier musst Du die Variablen der Hintergrundfarbe auf Global setzen. Sonst werden die nicht mit in die nächste Funktion übergeben.

So etwa:
global $index, $bgcolor2, $bgcolor3, $bgcolor4, $thename;

Marty

des is meine function themefooter:



function themefooter() {
    global $index;
    if ($index == 1) {
   echo "</td><td><img src=\"themes/MFJ_FungKu/images/pixel.gif\" width=\"15\" height=\"1\" border=\"0\" alt=\"\"></td><td valign=\"top\" width=\"150\" bgcolor=\"#eeeeee\">\n";
   blocks(right);
    }
    echo "</td>\n"
   ."</tr></table>\n"
        ."<table bgcolor=\"#ffa82b\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\">\n"
        ."<tr>\n"
        ."<td width=\"100%\" height=\"5\"><img src=\"themes/MFJ_FungKu/images/bottombar.gif\" width=\"100%\" height=\"5\" border=\"0\" alt=\"\"></td>\n"
        ."</tr>\n"
        ."<tr>\n"
        ."<td width=\"100%\"><img src=\"themes/MFJ_FungKu/images/pixel.gif\" width=\"1\" height=\"1\" border=\"0\" alt=\"\"></td>\n"
        ."</tr>\n"
        ."</table>\n"
        ."<br>\n"
        ."<br>\n"
        ."<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\">\n"
        ."<tr align=\"center\">\n"
        ."<td width=\"100%\" colspan=\"3\">\n";
footmsg();
echo"<br><br>\n";
global $prefix, $bannersfsz, $index;
   if ($bannersfsz) {
   include("bannersfsz.php");
    }
echo"<br><br>\n";    echo "</td>\n"
        ."</tr>\n"
        ."</table>\n";
}

Micro

jepp, und genau da fehlen alle Color Definitionen im Global, die Du in der Function Blocks() verwendest.

Die Variablen müssen in jeder Funktion stehen, und einmal auch global gleich zum Anfang der Datei theme.php gesetzt werden

Marty

na mal sehen ob ich das hinbekomme, ich les grad deine PDF datei.

Marty

so, ich hab jetzt angefangen ein neues Theme zu proggen. Bin dabei nach deiner PDF - Datei  gegangen und hab im Prinzip deinen Quelltext übernommen und angepasst. Kannst du mal schauen, ob das der richtige weg ist, also ob ich das richtig gemacht habe?Hier mein bisheriger Quelltext:



<?php

/****************************************/
/*    Theme created by Martin Thiede    */
/*         TaekwondoForum.de            */
/*    (http://www.taekwondoforum.de)    */
/****************************************/
/* THEME NAME: TKD_Forum_Orange         */
/* modifieziert für VKP_mxxx            */
/* Marty   am 11.11.2002                */
/* http://www.taekwondooforum.de        */
/* info@taekwondoforum.de               */
/****************************************/
/* Theme Colors Definition              */
/*                                      */
/* Define colors for your web site.     */
/* $bgcolor2 is generaly used for the   */
/* tables border as you can see on      */
/* OpenTable() function, $bgcolor1 is   */
/* for the table background and the     */
/* other two bgcolor variables follows  */
/* the same criteria. $texcolor1 and 2  */
/* are for tables internal texts.       */
/****************************************/

global $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $bgcolor5, $css_link, $css_vlink,
$css_alink, $textcolor1, $textcolor2;
$thename = "TKD_Forum_Orange";


$css_link = "#0000FF";
$css_vlink = "#0000FF";
$css_alink = "#d5ae83";

$bgcolor1 = "#ffa82b";
$bgcolor2 = "#ffcc62";
$bgcolor3 = "#ffa82b";
$bgcolor4 = "#ffcc62";
$bgcolor5 = "#efefef";
$textcolor1 = "#FFFFFF";
$textcolor2 = "#FFFFFF";

function OpenTable() {
   global $bgcolor1, $bgcolor2;
   echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\"
bgcolor=\"$bgcolor2\"><tr><td>\n";
   echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"8\"
bgcolor=\"$bgcolor1\"><tr><td>\n";
}

function CloseTable() {
    echo "</td></tr></table></td></tr></table>\n";
}

function OpenTable2() {
    global $bgcolor2, $bgcolor2;
    echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"bgcolor2\"
align=\"center\"><tr><td>\n";
    echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"8\"
bgcolor=\"bgcolor1\"><tr><td>\n";
}

function CloseTable2() {
    echo "</td></tr></table></td></tr></table>\n";
}

/************************************************************/
/* FormatStory                                              */
/*                                                          */
/* Here we'll format the look of the stories in our site.   */
/* If you dig a little on the function you will notice that */
/* we set different stuff for anonymous, admin and users    */
/* when displaying the story.                               */
/************************************************************/

function FormatStory($thetext, $notes, $aid, $informant) {
    global $anonymous;
    if ($notes != "") {
        $notes = "<br><br><b>"._Note."</b> <i>$notes</i>\n";
    } else {
        $notes = "";
    }
    if ("$aid" != "$informant") {
        echo "<font class=\"content\" color=\"$textcolor2\">$thetext$notes</font>\n";
    } else {
        if ($informant != ""){
            $boxstuff = "<a href=\"modules.php?name=Your_Account&op=userinfo&uname=$informant\">$informant</a>";
        } else {
            $boxstuff = "$anonymous ";
        }
        $boxstuff =" $thetexte $notes\n";
        echo "<font class=\"content\" color=\"$textcolor2\">$boxstuff</font>\n";
    }
}

/************************************************************/
/* Function themeheader()                                   */
/*                                                          */
/* Control the header for your site. You need to define the */
/* BODY tag and in some part of the code call the blocks    */
/* function for left side with: blocks(left);               */
/************************************************************/

function themeheader() {
    global $user, $banners, $sitename, $slogan, $cookie, $admin, $fszcounter, $prefix, $dbi,
$bgcolor2, $bgcolor3, $css_link, $css_vlink, $css_alink, $textcolor1, $textcolor2;
    cookiedecode($user);
    $username = $cookie[1];
    if ($username == "") {
        $username = "Anonymous";
    }
   
# Zeile 1 Hintergrund Definition
    echo "<body bgcolor=\"$bgcolor1\" text=\"#000000\" link=\"$css_link\"
vlink=\"css_vlink\" alink=\"css_alink\">\n";
# Zeile 2 Balken
    echo "<br><table cellpadding=\"0\" cellspacing=\"0\" width=\"801\" ,border=\"0\"
align=\"center\" bgcolor=\"$bgcolor3\">\n"
       ."<tr>\n"
       ."<td><img src=\"themes/TKD_Forum_Orange/images/titleBar.gif\" width=\"100%\"
height=\"10\" border=\"0\">\n</td></tr>\n</table>\n";

#Zeile Kopflogo
# erste Grafik Spalte 1 Zeile 1
    echo "<table cellpadding=\"0\" cellspacing=\"0\" width=\"801\" borer=\"0\"
align=\"center\" bgcolor=\"$bgcolor3\">\n"  // Kopftabelle
       ."<tr>\n"
       ."<td bgcolor=\"$bgcolor3\" align=\"left\" valign=\"middle\">\n"
       ."<a href=\"index.php\"><img src=\"themes/TKD_Forum_Orange/images/logo_1.gif\"
alt=\""._WELCOMETO." $sitename\" border=\"0\"></a></td>\n";

# zweite Zeile, 1. Spalte Grafik 2 inkl. Counter
    echo "<tr><td><a href=\"index.php\"><img src=\"themes/TKD_Forum_Orange/images/logo_2.gif\"
alt=\""._WELCOMETO." $sitename\" border=\"0\"></a>$fszcounter<a href=\"index.php\"><img
src=\"themes/TKD_Forum_Orange/images/logo_3.gif\" alt=\""._WELCOMETO." $sitename\"
border=\"0\"></a></td></tr>\n";

# dritte Zeile, 1. Spalte Grafik
    echo "<tr><td><a href=\"index.php\"><img
src=\"themes/TKD_Forum_Orange/images/logo_4.gif\" alt=\""._WELCOMETO." $sitename\"
border=\"0\"></a></td></tr></table>\n";
    echo "</select></font></td></tr></table></td></tr></table>\n";

Wow! Das sind genau die Infos, die ich gestern Nacht gebraucht hätte  :D
Super Arbeit! Ich habe im Netz nirgendwo eine Anleitung gefunden, aber das hier ersetzt ja sowieso alles Andere.

Könntest du noch Tipps geben wie ich die Formatierung des content Modules ändern kann?

Gruß
René

Echo

ZitatKönntest du noch Tipps geben wie ich die Formatierung des content Modules ändern kann?
Ich habe es hinbekommen ;)

René

Micro

So Leuts, hier jetzt die aktuellste Version des Textes zu:
Ein Nuke Thema selber schreiben.

Es wurden einige Fehler aus der vorhergehenden Version behoben und ein komplett neues Thema als Grundlage genommen.
Dieses Thema gibt es jetzt schon als Download. Es handelt sich hierbei um das Thema vkp_magic_table_3, das als Thema für Blinde und Sehschwache User entwickelt worden ist.

Damit auf der Webseite ein einziges Thema zur Verfügung stehen kann, wurde es soweit optimiert, das sehende einen vernünftigen Eindruck von der Webseite haben und auch Sehbehinderte ohne Probleme navigieren können.
Als weiteres ist dieses Thema ein klein wenig schneller als die bisherigen, da auf Grafiken komplett verzichtet worden ist.

Eine Funktions-Vorschau mit all seinen Möglichkeiten unter VKP-Maxi mit Service Pack 2 gibt es hier zu sehen: http://pa-te.com

Im Text werden alle Funktionen eindeutig erklärt. Es wird grundsätzlich erklärt wie Themen unter PHPNuke zu entwickeln sind. Spezielle Änderungen die das VKP-Maxi betreffen, sind gesondert gekennzeichnet.
Weiterhin gibt es einen kleinen Ausblick auf kommende Generationen von Themen, wie sie mit dem PragmaMX möglich sein werden. Hier wird aber nur direkter Bezug auf bestehende Funktionen genommen die aus dem PHPNuke/VKP-Maxi stammen, ohne weiter auf Systemweit zur Verfügung stehende Funktionen des PragmaMX einzugehen.

Download des Themas vkp_magic_table_3
http;//guggemahier.de/modules.php?name=Downloads&d_op=viewsdownload&sid=4

Download Doku: Ein Nuke Thema selber schreiben
(direkter Download als PDF)
http;//guggemahier.de/modules.php?name=Downloads&d_op=getit&lid=33

Dema

hi

ich kann das theme wo du ganz am anfang zum downloaden hast nur download der server ist offline kann ich das auch wo anders downloaden??

Future

hehe dema etweder bin ich blöd oder dein text ist schwer zu lesen :)

Ne würde es aber auch gerne downloaden. Der Downlaod soll auf Micro's space liegen aber da gehen die downloads nimmer :(

Dema

wann gehten die download von Mirco's wieder?? :exclam:

DarkBoy

Wie unschwer zu erkken ist im Modservice auf Micros Seite ist diese bis auf weiteres OFFLINE. Wir werden mal die Themendownloads dann hierher holen, das kann aber moment dauern, da wir alle in der Sonne liegen :D

Future


wichtel

ich benötige die datei auch :(

es kann doch nicht sein dass ihr immernoch in der sonne liegt.....  :puzz  :D

Micha

Hallo,

ich hab ein Problem.
Die Navigation ist ja in einzelne Blöcke unterteilt. Ich wollte diese Blöcke so zusagen zu einem grossen Block machen, sprich alle Blöcke sind direkt untereinander so dass es aussieht als ob es einer wäre. Nun habe ich an der Stelle wo der Name des jeweiligen Blocks auftaucht ein Image, was aber nur am ersten und letzen Block auftauchen soll, da es rundungen hat.

Nun ist es aber so das man ein Block definiert der sozusagen als Vorlage dient und daraus die anderen Blöcke generiert werden.

 function themesidebox($title, $content) {
    echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"130\" bgcolor=\"000000\"><tr><td>"
        ."<table width=\"130\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td background=\"themes/ExtraLite/leftnav_02.JPG\" bgcolor=\"81a3e8\" width=\"130\" height=\"20\">"
        ."<font class=\"content\">$title</font></td></tr><tr><td class=\"Navi\" \" bgcolor=\"A9CBEE\"><font class=\"content\">"
        ."$content"
."</font></td></tr></table></td></tr></table>";
}

Das heisst er setzt mir bei jedem Block das Image in die Überschrift, ich möchte es aber immer jeweils im ersten und letzen Block haben wie mach ich das bitte???

Ich hab echt absolut keine Ahnung kann mir da mal jmd bisschn helfen??

[Editiert am 26/1/2004 von Micha]