Kategorie: PHPNuke

Keine rechten Blöcke auf der Startseite

Suche in der theme.php nach:

if ($index == 1) {

und ersetze es durch:

if (defined('INDEX_FILE')) {

Werbebanner im Theme einbauen

Es müssen ein paar kleine Änderungen an der header.html, theme.php und banner.php vornehmen:

header.html:

<tr>
<td>
<img>
<a><img></a></td>
<td>
$showbanners
</td>
<td><IMG></td>
<td><img>

theme.php

function themeheader() {
global $user, $banners, $sitename, $slogan, $cookie, $prefix, $dbi, $showbanners;
cookiedecode($user);
$username = $cookie[1];
if ($username == "") {
$username = "Anonymous";
}
echo "<body>";
if ($banners == 1) {
include("banners.php");
}
$tmpl_file = "themes/NukeNews/header.html";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "$r_file="".$thefile."";";
eval($thefile);
print $r_file;
blocks(left);
$tmpl_file = "themes/NukeNews/left_center.html";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "$r_file="".$thefile."";";
eval($thefile);
print $r_file;
}

banners.php

function viewbanner() {
global $prefix, $db, $admin, $sitename, $adminmail, $nukeurl, $showbanners;
$numrows = $db->sql_numrows($db->sql_query("SELECT * FROM " . $prefix . "_banner WHERE type='0' AND active='1'"));

(der restliche Code der Funktion)

}
// echo "<center><a><img></a></center>";
$showbanners = "<center><a><img></a></center>";
}
}

Themes multilanguagefähig machen

Oft ist es so, das entscheidende Hinweise auf eure Nuke Seite wie z.b. Login, Registrieren, Willkommen und Abmelden etc. auf englisch sind.
Diese Dinge kann man in der theme.php im Theme deiner Wahl ändern, in dem man die Textstellen übersetzt.

Die ist aber nicht der richtige Weg einer Themesanpassung !

Wenn man sein Theme sprachunabhängig gestalten möchte, kann man auf gewisse Konstanten die in Nuke integriert sind zurückgreifen.

Diese Sprachkonstanten sind unter html/language/lang_german.php z.B. definiert.

man kann also anstatt Welcome oder Willkommen die Sprachkonstante „._BWEL.“ benutzen.

Hier mal eine Liste der gängigen Sprachkonstanten die in jeder theme.php vorhanden sind:

Back
*****************************************************************************
"._BACK."

Gast
*****************************************************************************
"._GUEST."


Willkommen
*****************************************************************************

"._BWEL."

Registrieren
*****************************************************************************

"._BREG."


Logout
***************************************************************************

"._LOGOUT."


Suche
***************************************************************************


"._SEARCH."

Ein Beispiel

Suche in etwa

$theuser = "&nbsp;&nbsp;Welcome  $username!";

und Ersezte das Welcome mit

"._BWEL."

also so sollte es dann aussehen:

$theuser = "&nbsp;&nbsp;"._BWEL." $username!";

Wichtig dabei ist die “ mit zu benutzen

Rahmen um Bilder entfernen

Wie bekomme ich die blauen Rahmen weg, die meine Bilder umgeben?
Wenn z.B. ein Bild verlinkt wird, bildet sich ein blauer Rahmen um das Bild.

Im Stylesheet des Themes folgendes einfügen:

öffne themes/dein_theme/style/style.css

Füge am Ende ein:

img {
border: 0px;
} 

Seitenbesuche des Admin nicht in der Statistik

Du möchtest die Seitenbesuche eines Admin in der Nuke Statistik ausschließen,
dann gehe folgendermaßen vor:

Öffne root/header.php

Suche:

include("includes/counter.php"); 

Ersetze mit:

global $admin;

if(!is_admin($admin)) {

   include("includes/counter.php");

                                }

Theme zufällig für Besucher wählen

Wenn mehrere Themes in Nuke installiert sind,
kann man Themes per Zufall auswählen lassen und diese für den Besucher generieren.

(Dies funktioniert nicht, wenn der Besucher bereits ein Theme gewählt hat. )

Öffne root/mainfile.php

Suche:

	$ThemeSel = $Default_Theme; 

Und ersetze mit:

$evogettheme =opendir('themes/');

$evothm = '';
while ($file = readdir($evogettheme)) {
if ($file != &quot;.&quot; &amp;&amp; $file != &quot;..&quot; &amp;&amp; $file !=&quot;index.html&quot; &amp;&amp; $file !=&quot;&quot; &amp;&amp; $file !=&quot;index.htm&quot;) 
{
$evothm .= &quot;$file,&quot;;
}
}

$thethemes = explode(&quot;,&quot;, $evothm);
$numthemes = count($thethemes)-1;
$evonumber = rand(1, $numthemes); 
$evotheme = &quot;$thethemes[$evonumber]&quot;;

		$ThemeSel = $evotheme;
closedir($evogettheme);

Linke Blöcke für bestimmte Module ausblenden

Wenn für bestimmte Module die linke Blöcke ausgeblendet werden sollen, folgendermaßen vorgehen:

Öffne theme.php

Suche themeheader()

Dort in der Zeile globals…

 $name

hinzufügen.

Nun finde:

blocks(left);

Ersetze mit:

/* Hier für das gewünschte Modul den Modulnamen Forums den Modulnamen wählen */
if ($name=='Forums') {          
    /* Zeige linke Blöcke nicht. */
    }
    else {
    blocks(left);
    } 

Wenn die Bedingung für mehrer Module gelten soll dann diesen Code einsetzen:

if ($name=='Forums') {
     /* Zeige linke Blöcke nicht. */
    }
    else
    if ($name=='Members_List') {
    /* Zeige linke Blöcke nicht. */
    }
    else
          if ($name=='My_eGallery') {
     /* Zeige linke Blöcke nicht. */
    }
       else
          if ($name=='Private_Messages') {
    /* Zeige linke Blöcke nicht. */
    }
    else {
    blocks(left);
    }
 

Oder eleganter:


if ($name=='Forums') &amp;&amp; ($name=='Members_List') &amp;&amp; if ($name=='My_eGallery') &amp;&amp; if ($name=='Private_Messages') {
    }
    else {
    blocks(left);
    } 

Präsentiert von WordPress & Theme erstellt von Anders Norén