News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 10
Seite [1]
Munky


Rock the board




Beiträge: 50
# Thema - 01.12.2006 um 16:35 Uhr
Hallo. Im NoPaste gibt es ein kleinen Hack, damit man für unterschiedliche Mods unterschiedliche Layouts benutzen kann, soweit sogut. Ich wollte mal Fragen wie man es schafft, weitere Bereich hinzubeziehen, denn momentan wird nur für mod=board das Layout geändert.

Folgender Codeschnippsel:
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
1. / 2. / ... 
 <?php ...

   if (
$cs_main['mod'] != 'board') {
        echo 
cs_template($cs_micro,$cs_main,$account);
    } else {
        echo 
cs_template($cs_micro,$cs_main,$account,'board.htm');
    }

... 
?>


Wär nett wenn mir wer helfen/erklären könnte, wie man andere Bereiche einbaut.


Hier kompletter Code aus NoPaste:
Index.php +-
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
1. / 2. / ... 
<?php
// ClanSphere 2006 - www.clansphere.net
// $Id: index.php 101 2006-07-12 09:36:29Z hajo $

@error_reporting(E_ALL);

@
ini_set('arg_separator.output','&');
@
ini_set('register_globals','off');
@
ini_set('session.use_trans_sid','0');
@
ini_set('session.use_cookies','1');
@
ini_set('session.use_only_cookies','1');
@
ini_set('display_errors','off');

$cs_micro explode(' 'microtime()); # starting parsetime
$cs_logs = array('errors' => '''sql' => '''queries' => 0);

require(
'system/core/functions.php');

if(
file_exists('setup.php')) {
    require(
'setup.php');
    require(
'system/database/' $cs_db['type'] . '.php');
    
$cs_db['con'] = cs_sql_connect($cs_db);

    
$cs_main cs_sql_option(__FILE__,'clansphere');

    require(
'system/output/xhtml_10.php');
    require(
'system/core/templates.php');
    require(
'system/core/content.php');
    require(
'system/core/tools.php');
    require(
'system/core/account.php');
    require(
'system/core/abcode.php');

    
cs_tasks('system/extensions'1); # load extensions
    
cs_tasks('system/runstartup'); # load startup files

   
if ($cs_main['mod'] != 'board') {
        echo 
cs_template($cs_micro,$cs_main,$account);
    } else {
        echo 
cs_template($cs_micro,$cs_main,$account,'board.htm');
    }
}
else {
    echo 
'<a href="install.php?phpMyAdmin=a7d6a530ea7fe797a049ba44b388371f">Installation required</a> or missing setup.php';
}

?>



Gruß


Zuletzt editiert von Munky am 01.12.2006 um 16:36 Uhr (1x Editiert)
Inaktiv
SCHIRI ClanSphere Team


Weltmeister



Herkunft: Hamburg
Beiträge: 5299
# Antwort: 1 - 01.12.2006 um 16:51 Uhr
Wenn ich richtig verstanden hab was du möchstest:


 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
1. / 2. / ... 
 <?php ...

   if (
$cs_main['mod'] == 'board') {
        echo 
cs_template($cs_micro,$cs_main,$account,'board.htm');
    }
elseif(
$cs_main['mod'] == 'users') {
        echo 
cs_template($cs_micro,$cs_main,$account,'users.htm');
    }
elseif(
$cs_main['mod'] == 'wars') {
        echo 
cs_template($cs_micro,$cs_main,$account,'wars.htm');
    }
elseif(
$cs_main['mod'] == 'files') {
        echo 
cs_template($cs_micro,$cs_main,$account,'files.htm');
    }
      else{
        echo 
cs_template($cs_micro,$cs_main,$account);
    }
... 
?>


------------------
www.laszlokorte.de

Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 2 - 01.12.2006 um 17:12 Uhr
if .. elseif .. elseif .. strukturen sind bei vielen vergleichen sinnlos, machs lieber mit switch:
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
1. / 2. / ... 
<?php
switch($cs_main['mod']) {
  case 
'board':
    echo 
cs_template($cs_micro,$cs_main,$account,'board.htm');
    break;
  case 
'users':
    echo 
cs_template($cs_micro,$cs_main,$account,'users.htm');
    break;
  case 
'wars':
    echo 
cs_template($cs_micro,$cs_main,$account,'wars.htm');
    break;
  case 
'files':
    echo 
cs_template($cs_micro,$cs_main,$account,'files.htm');
    break;
  default:
    echo 
cs_template($cs_micro,$cs_main,$account);
}
?>


Zuletzt editiert von duRiel ClanSphere Team am 01.12.2006 um 17:12 Uhr (1x Editiert)
Inaktiv
|
Munky
Thread-Ersteller


Rock the board




Beiträge: 50
# Antwort: 3 - 01.12.2006 um 17:50 Uhr
Danke, funktioniert super!


Ein Problem hab ich aber noch:

Ich habe für die Administration (Verwaltung und System) ein eigenes Layout. $cs_main['mod'] ist in beiden fällen "clansphere"...
Das Problem: Der About-Link nutzt ebenfalls mod=clansphere, somit erscheint es auch in dem halben Layout für die Administration...

Kann man irgendeine Ausnahme einbauen, dass der Browser für mod=clansphere&action=about wieder das standart layout nimmt?


Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 4 - 01.12.2006 um 20:04 Uhr
klar, kein ding
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
1. / 2. / ... 
<?php
switch($cs_main['mod']) {
  case 
'board':
    echo 
cs_template($cs_micro,$cs_main,$account,'board.htm');
    break;
  case 
'users':
    echo 
cs_template($cs_micro,$cs_main,$account,'users.htm');
    break;
  case 
'wars':
    echo 
cs_template($cs_micro,$cs_main,$account,'wars.htm');
    break;
  case 
'files':
    echo 
cs_template($cs_micro,$cs_main,$account,'files.htm');
    break;
  case 
'clansphere':
    if (
$cs_main['action'] == 'about') {
      echo 
cs_template($cs_micro,$cs_main,$account,'about.htm');
    } else {
      echo 
cs_template($cs_micro,$cs_main,$account,'clansphere.htm');
    }
    break;
  default:
    echo 
cs_template($cs_micro,$cs_main,$account);
}
?>


Inaktiv
|
Munky
Thread-Ersteller


Rock the board




Beiträge: 50
# Antwort: 5 - 01.12.2006 um 20:27 Uhr
Danke funtzt soweit... Echt fetten Dank ^^


Noch ne Frage xD
Naja eher ne kleinere.. ^^

Kann man mehrere mit einer art "or" (oder) verbinden?
if ($cs_main['action'] == 'about' or 'about') ( so in der art irgendwie)

Das war dann auch die letzte Frage dazu... danke ^^


Inaktiv
|
SCHIRI ClanSphere Team


Weltmeister



Herkunft: Hamburg
Beiträge: 5299
# Antwort: 6 - 01.12.2006 um 20:30 Uhr
 
1.
2.
3.
4.
5.
6.
7.
8.
1. / 2. / ... 
<?php 

if ($cs_main['action'] == 'about' OR $cs_main['action'] == 'about')

oder

if ($cs_main['action'] == 'about' || $cs_main['action'] == 'about')
 
?>


geht glaube ich beides


------------------
www.laszlokorte.de

Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 7 - 01.12.2006 um 20:34 Uhr
right, ist das selbe
nur, wenn mans exakt machen will: das logische oder wird in php klein geschrieben. das "OR" stammt von SQL, klappt aber natürlich auch ohne probleme.


Inaktiv
|
SCHIRI ClanSphere Team


Weltmeister



Herkunft: Hamburg
Beiträge: 5299
# Antwort: 8 - 01.12.2006 um 21:17 Uhr
ah gleich mal ne frage von mir dazu:

ich meine, es javascrpt gibt es noch ein and-or das wurde glaubei ch so geschrieben &| oder so, gibt es das in php auch? oder is das || auch true wenn beide möglichkeiten wahr sind?


------------------
www.laszlokorte.de

Inaktiv
|
Munky
Thread-Ersteller


Rock the board




Beiträge: 50
# Antwort: 9 - 01.12.2006 um 21:22 Uhr
Danke, läuft


Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 10 - 01.12.2006 um 21:23 Uhr
|| - mindestens eine der beiden aussagen ist wahr

beispiel:

if (bedingung1 || bedingung2) { folge }

php macht folgendes:
php sieht ne kontrollstruktur. es merkt, dass ein logisches or vorliegt. jetzt kontrolliert es bedingung1. ist bedingung1 true, fährt php sofort mit folge fort um performance zu sparen. einer der beiden werte ist ja dadurch schon true, somit muss bedinung2 nicht überprüft werden. diese werd nur überprüft, wenn bedingung1 false ergibt.

deshalb sollte die wahrscheinlichere bedingung übrigens auch an den anfang gestellt werden


Zuletzt editiert von duRiel ClanSphere Team am 01.12.2006 um 21:25 Uhr (1x Editiert)
Inaktiv
|
Antworten: 10
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo