| Zadając pytanie dotyczące PHPNuke podaj jego wersje!! |
| Autor |
Wiadomość |
dudi
@admin

Dołączył(a): 13.12.2004
Posty: 3154
Pochwał: 330
Skąd: Tychy
Status: Offline
|
Wysłany: 16 Gru 2004 08:11:00
|
|
UA: |
Czasem zachodzi potrzeba wyłączenia wyświetlania lewych, lub prawych bloków w jakimś konkretnym module.
Jeśli chodzi o prawe bloki - za ich wyświetlanie odpowiada zmienna
$index w pliku index.php danego modułu:
| Kod: |
<?php
if (!eregi("modules.php", $PHP_SELF))
{
die ("You can't access this file directly...");
}
$index = 1;
require_once("mainfile.php"); |
Jeśli zmienna jest ustawiona:
Prawe bloki będą wyświetlane.
Jeśli nie ma jej w ogóle, lub ma wartość 0 wówczas bloki nie będą wyświetlane.
Lewe bloki można wyłączyć w następujący sposób:
Otwieramy plik themes/twoj_theme/theme.php i odnajdujemy w nim taki fragment:
| Kod: |
function themeheader()
global $admin, $user, $banners, $sitename, $slogan, $cookie, $prefix, $db, $nukeurl, $anonymous; |
(linijka global..... może się różnić w zależności od zastosowanego stylu)
i w linijce
| Kod: |
| global $admin, $user, $banners, $sitename, $slogan, $cookie, $prefix, $db, $nukeurl, $anonymous; |
na końcu dopisujemy
Np:
| Kod: |
| global $admin, $user, $banners, $sitename, $slogan, $cookie, $prefix, $db, $nukeurl, $anonymous, $name; |
Następnie odnajdujemy fragment:
i jeśli np. chcemy wyłączyć lewe bloki w module Forums modyfikujemy ten fragment następująco:
| Cytat: |
if ($name !='Forums') {
blocks(left);
} |
Po takiej operacji lewe bloki w module Forums nie będą wyświetlane.
|
Ostatnio zmieniony przez dudi dnia 17 Kwi 2005 13:39:07, w całości zmieniany 1 raz
|
|
|
|
|
 |
|
|
 |
Jaszczur
~user

Dołączył(a): 21.12.2004
Posty: 1137
Pochwał: 83
Skąd: Racibórz/Katowice
Status: Offline
|
Wysłany: 10 Lut 2005 19:19:47
|
|
UA: |
| dudi napisał(a): |
if ($name !='Forums') {
blocks(left);
} |
Można też dla większej ilości bloków zamiast powyższego kody wkleić ten oto:
| Kod: |
if ($name=='Forums') {
/* nie pokazuje */
}
else
if ($name=='Kadrowka') {
/* nie pokazuje */
}
else
if ($name=='Private_Messages') {
/* nie pokazuje */
}
else
if ($name=='Members_List') {
/* nie pokazuje */
}
else {
blocks(left);
} |
|
|
|
|
|
|
|
 |
Suchy
~user

Dołączył(a): 23.12.2004
Posty: 742
Pochwał: 63
Skąd: Łódź
Status: Offline
|
Wysłany: 11 Lut 2005 00:18:03
|
|
UA: |
ewentualnie zrobić to w taki sposób by przy każdym nowym module nie trzeba było dopisywać nowego warunku do themsa, dzięki temu przy każdym wykonywaniu skryptu themsa nie będzie trzeba sprawdzać każdego warunku po kolei:
W pliku theme.php zamieniamy:
na:
| Kod: |
if ($index2 == 1 || (!isset($index2)) ) {
blocks(left);
} |
oraz dopisujemy $index2 do:
| Kod: |
function themeheader()
global $admin, $user, $banners, $sitename, $slogan, $cookie, $prefix, $db, $nukeurl, $anonymous; |
Teraz wystarczy podobnie jak w przypadku prawych bloków, dopisać w pliku index, wybranego modułu (lub modułów):
|
Ostatnio zmieniony przez Suchy dnia 28 Maj 2005 17:46:06, w całości zmieniany 1 raz
|
_________________ Suchy the Master
www.gtw.avx.pl
www.scarlet.ivy.prv.pl |
|
|
|
 |
|
|
|
|
Zobacz następny temat
Zobacz poprzedni temat
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz dołączać plików na tym forum Możesz ściągać pliki na tym forum |
|
|
|
|
|