Rick am 20.01.2013 10:37
Aufbau eines Themes am Beispiel von "bsfusion"
Mit erscheinen der Version 1.00.20 kommt noch ein Eintrag hinzu, wenn die layout.html genutzt werden soll.

Das Theme wird zwischen den folgenden Zeichen geschrieben:

<?php

Hier der Inhalt

?>


Standardmäßig werden dann Angaben zu BS-Fusion, Copyrighthinweise etc. gemacht, worauf ich hier aber nicht weiter eingehe.

Spoiler
Zeile 20:
if (!defined("IN_FUSION")) { header("Location: ../../index.php"); exit; }


Zeile 22-27:
$body_text = "#555555";
$body_bg = "#ffffff";
$theme_width = "98%"; // Breite des Themes
$theme_width_l = "150"; // Breite der linken Seitenpanels
$theme_width_r = "150"; // Breite der rechten Seitenpanels


Die Farben: #555555 #ffffff (weiß)

Zeile 29-35:
WZ-Tooltip

$wztool['border_width'] = '1';
$wztool['border_color'] = '#555555';
$wztool['bgcolor'] = '#F1F1F1'; // #FFFFFF
$wztool['width'] = '0';
$wztool['title_padding'] = '2';
$wztool['padding'] = '2';
$wztool['fcolor'] = '#000000';


Die Farben: #555555 #F1F1F1 (Variante von Weiß) #000000

Zeile 38-42:
Farb und Textdarstellung der E-Mail-Grafik (Registration)

// Email-Picture
// text color
$etext_color = array('223','224','225'); // RGB Colors
// background color
$ebg_color = array('0','0','0'); // RGB Colors


$etext_color = array('223','224','225'); ist die Farbe #dfe0e1 (Helles Grau)

Zeile 44-49
Definieren der Linken und Rechten Seitenpanele sowie des Inhalts (Content)
define("LEFT_PANEL_START",'<td class="side-border-left" valign="top"><div class="image-left"><img src="'.THEME.'images/blank.gif" width="'.$theme_width_l.'" height="0" border="0" alt="" /></div>');
define("LEFT_PANEL_END",'</td>');
define("CONTENT_START",'<td class="main-bg" width="100%" valign="top">');
define("CONTENT_END","</td>");
define("RIGHT_PANEL_START",'<td class="side-border-right" width="'.$theme_width_r.'" valign="top"><div class="image-right"><img src="'.THEME.'images/blank.gif" width="'.$theme_width_r.'" height="0" alt="" /></div>');
define("RIGHT_PANEL_END","</td>");



Zeile 51-59
function stripchar

function stripchar($ord) {
$boxname="";
for ($i=0; $i<strlen($ord);$i++) {
if (($ord[$i] >="A" and $ord[$i] <= "Z") or ($ord[$i] >="a" and $ord[$i] <= "z") ) {
$boxname=$boxname.$ord[$i];
}
}
return $boxname;
}



Zeile 61-71
function render_header

function render_header($header_content=null) {
global $theme_width, $settings;
echo "<table width='".$theme_width."' cellspacing='0' cellpadding='0' align='center'>\n";
echo '<tr><td colspan="2" class="full-header">'.$header_content.'</td></tr>
<tr><td class="white-header">
'.showsublinks("|", "white").'</td><td width="15%" nowrap="nowrap" class="white-header">
'.showsubdate().'</td></tr>
<tr><td colspan="2">';
echo '<table cellpadding="0" cellspacing="0" width="100%">
<tr>';
}


$theme_width - fragt die voreingestellte Themebreite ab
$header_content - Einfügen des in den Haupteinstellungen festgelegten Headers
showsublinks - Einfügen der Kopfzeilen-navigation
showsubdate() - Einfügen der Datums-, Uhrzeitanzeige wie sie in den Datumseinstellungen festgelegt wird.

Zeile 73-84
function render_admin_header

Grundsätzlich wird diese Funktion nur dann benötigt, wenn sich der Adminbereich optisch vom rest der Seite unterscheiden soll.

function render_admin_header() {
global $theme_width, $settings,$aidlink,$locale;

echo "<table class='outer-border' width='".$theme_width."' cellspacing='0' cellpadding='0'>\n
<tr><td colspan='2' class='full-header'><a href='".BASEDIR."index.php'><img src='".BASEDIR.$settings['sitebanner']."' alt='".$settings['sitename']."' title='".$settings['sitename']."' border='0'></a></td></tr>\n
<tr><td class='white-header'>\n
".showsublinks("|", "white")."</td><td width='10%' nowrap class='white-header'>
".showsubdate()."</td></tr>
<tr><td colspan='2'>\n
<table cellpadding='0' cellspacing='0' width='100%'>\n
<tr>\n";
}


Zeile 86-100
function render_footer

function render_footer($license=false) {
global $theme_width,$settings;
echo "\n</tr></table>\n";
echo "</td></tr>";
echo "<tr><td colspan='2' align='center' class='footer'>".stripslashes($settings['footer'])."<br>\n";
if (!$license) {
echo "<table width='100%' cellpadding='1' cellspacing='1'><tr>";
echo "<td align='left'>".showcopyright("white")."</td>";
echo "<td valign='bottom'>".SERVER_STATS."</td>";
echo "<td align='right' valign='bottom'>".showcounter()."</td>";
echo "</tr></table>";
}
echo "</td></tr>";
echo "</table>\n";
}


.stripslashes($settings['footer']). - Einfügen der BSF-Fusion Copyrightanzeige
.showcopyright("white"). - Einfügen Ihres Copyrights, dessen Text Sie in den Haupteinstellungen festlegen können.
.SERVER_STATS. - Einfügen der Serverdaten wie render time sql queries etc.
.showcounter(). - Anzeige des Zählers (einmalige Besuche)

Wichtig: Die Anzeige des BS-Fusion-Copyrights ist verpflichtend und die richtige Anzeige dessen nur mit dem hier dargestellten Code auch für die Zukunft sichergestellt.

Zeile 102-112
function opentable und function closetable
function opentable($title) {
echo "<table width='100%' class='border'>
<tr><td class='capmain'>".$title."</td></tr>
<tr><td class='main-body'>\n";
}

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



Zeile 114-124
function openside und function closeside

function openside($title) {
echo "<div style='width:100%' class='border'>
<div><table width='100%' cellspacing='1' cellpadding='1' class='scapmain'><tr><td width='1%'></td><td>".$title."</td></tr></table></div>
<div class='side-body'>\n";
}

function closeside() {
echo "</div>
</div>\n";
tablebreak();
}


Zeile 126-138
function opensidex und function closesidex

function opensidex($title,$state="on") {
$boxname=stripchar($title);
echo "<div style='width:100%' class='border'>
<div onclick=\"javascript:flipBox('$boxname')\" style='cursor:pointer;' />
<table width='100%' cellspacing='1' cellpadding='1' class='scapmain'><tr><td width='1%'>".panelbutton_div($state,$boxname)."</td><td>".$title."</td></tr></table></div>
<div class='side-body' id='box_".$boxname."'".($state=="off" ? " style='display:none'" :"")." />\n";
}

function closesidex() {
echo "</div>
</div>\n";
tablebreak();
}



Zeile 140-151
function opentablex und function closetablex

function opentablex($title,$state="on") {
$boxname=stripchar($title);
echo "<div style='width:100%' class='border'>
<div onclick=\"javascript:flipBox('$boxname')\" style='cursor:pointer;' /><table width='100%' cellspacing='1' cellpadding='1' class='scapmain'><tr><td width='1%'>".panelbutton_div($state,$boxname)."</td><td>".$title."</td></tr></table></div>
<div class='side-body' id='box_".$boxname."'".($state=="off" ? " style='display:none'" :"")." />\n";
}



function closetablex() {
echo "</div>
</div>\n";
tablebreak();
}


Zeile 153-155
function tablebreak

function tablebreak() {
echo "<div style='width:100%; height:5px'>\n</div>\n";
}


>> CSS Klassen des themes "bsfusion"
Tutorials DB © 2010-2024 ptown67