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

Antworten: 28
Seite [1] 2 >
Mel0ne


Wannabe poster




Beiträge: 24
# Thema - 08.09.2010 um 11:48 Uhr
Hallo,

ich möchte gerne verschiedene Templates für die verschiedenen Module verwenden, also das für das Board die board.htm anstelle der index.htm im template Ordner verwendet wird.

Ich hab es nun soweit das es durch eine neue index.php im stammordner mit namen board.php funktioniert, nur muss dazu die URL immer lauten www.adasd.de/board/board, wenn man nun aber aus der Home Seite (/index/users/home) die ja mit index.htm, kommt, dann benutz das forum wegen der Verlinkung natürlich auch index.

Gibt es eine andere möglichkeit das ganze zu realisieren ohne das ich in allen Modulen die "cross-modul" links umschreibe?

Hab folgendes gefunden, scheint aber nichtmehr zu funktionieren (ich finde keine option für ein seperates board)
http://www.csphere.eu/forum/board/thread/where/design.php?mod=articles&action=view&id=2

Vielen Dank im Vorraus
Mel0ne
Inaktiv
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 1 - 08.09.2010 um 12:02 Uhr
in system/core/functions.php rundum zeile 320:
 
1.
1. / 2. / ... 
       echo cs_template($cs_micro$predefined['tpl_file']);

aendern zu:
 
1.
1. / 2. / ... 
       echo cs_template($cs_micro, isset($cs_main['tpl_file_override']) ? $cs_main['tpl_file_override'] : $predefined['tpl_file']);


dan kannst du in irgendeinen startup.php (zb mods/abcode/startup.php) zb folgendes zufuegen:
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
1. / 2. / ... 
         /* change $predefined['tpl_file'] */
        
switch ($cs_main['mod'])
        {
        case 
'board':
                
$cs_main['tpl_file_override'] = 'board.htm';
                break;
        default:
                break;
        }


Ich selber hab mir ein menu modul angelegt, der eine eigene startup.php hat und wo ich noch extra dinge mache damit ich zb meine aktives menu highlight.
Du kannst auch natuerlich noch extra die action abfragen ($cs_main['action']), weil zb 'manage' ja im admin menu ist...




Inaktiv
|
Mel0ne
Thread-Ersteller


Wannabe poster




Beiträge: 24
# Antwort: 2 - 09.09.2010 um 11:46 Uhr
Erstmal Danke!
Aber ich habe in den anderen /mods keine startup.php, in /mods/abcode find ich sie aber bei /mods/board z.B. ist sie nicht vorhanden


Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 3 - 09.09.2010 um 13:02 Uhr
Es muss halt NUR IN EINE startup.php datei vorhanden sein, mehr nicht...
In welche datei ist wayne...
Der grund dafuer ist, das all diese startups ausgefuehrt werden VOR das die template page angerufen wird.


Inaktiv
|
Mel0ne
Thread-Ersteller


Wannabe poster




Beiträge: 24
# Antwort: 4 - 09.09.2010 um 17:28 Uhr
Okay hat funktioniert, ich bedanke mich!


Inaktiv
|
SlayR ClanSphere Team


Geekboy




Herkunft: Calbe (Saale)
Beiträge: 1133
# Antwort: 5 - 12.09.2010 um 13:07 Uhr
wie würde
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
1. / 2. / ... 
  /* change $predefined['tpl_file'] */
        
switch ($cs_main['mod'])
        {
        case 
'board':
                
$cs_main['tpl_file_override'] = 'board.htm';
                break;
        default:
                break;
        }

bei mehreren Modulen aussehen? etwa für board, news und wars?

etwa
 
1.
2.
3.
4.
5.
6.
7.
8.
1. / 2. / ... 
 ...
case 
'board':
$cs_main['tpl_file_override'] = 'board.htm';
break;
case 
'news':
$cs_main['tpl_file_override'] = 'news.htm';
break;
...

?

Bei mir hats nämlich nicht so ohne weiteres geklappt. Oder scheitert es an AJAX?


------------------
--- CLANSPHERE ---
Professional clan care starts here


Zuletzt editiert von SlayR ClanSphere Team am 12.09.2010 um 13:07 Uhr (1x Editiert)
Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 6 - 12.09.2010 um 13:09 Uhr
Eh, hab das nie mit ajax getestet, aber ich denk mal das es mit ajax ein problem geben wurden. Weil ajax nur ein teil des page, den inhalt in die mitte aendert, und nicht den ganzen template...


Inaktiv
|
SlayR ClanSphere Team


Geekboy




Herkunft: Calbe (Saale)
Beiträge: 1133
# Antwort: 7 - 12.09.2010 um 19:20 Uhr
Okay, danke Dir schonmal, Mindcrime. Ich hab' mir gerade eine Testinstallation aufgesetz, da werde ich es nochmal mit- und ohne AJAX austesten.

Tante Edit sagt:
Die Anpassung der functions.php funktioniert, ABER... definitiv nicht mit AJAX.
Schade eigentlich...


------------------
--- CLANSPHERE ---
Professional clan care starts here


Zuletzt editiert von SlayR ClanSphere Team am 12.09.2010 um 19:52 Uhr (1x Editiert)
Inaktiv
|
SCHIRI ClanSphere Team


Weltmeister



Herkunft: Hamburg
Beiträge: 5299
# Antwort: 8 - 13.09.2010 um 09:24 Uhr
Das wiederspricht ja auch dem kompletten Sinn von Ajax...

Der Sinn von Ajax ist es Traffic zu sparen indem immer nur das nötigste vom Server geladen wird. Das funktioniert aber nur wenn "das nötigste" fest definiert ist, z.B. als content-bereich. Ansonsten müsste ja immer alles geladen werden, weil man ja nie weiss, was sich geändert hat.

Wenn du willst, dass sich auch mit Ajax das Layout ändern kann, musst du auf die mehreren Index.php Dateien zurück greifen, denn dann kann schon vor dem Laden der Seite anhand des Links erkannt werden, ob sich das Layout ändert oder nicht und dementsprechend im Voraus entschieden werden, o die gesamte Seite oder nur der Content neu geladen werden soll


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

Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 9 - 13.09.2010 um 09:34 Uhr
Ich hab mich nie das ajax von CS so angekuckt, aber macht der automatisch immer jeden interner link zum ajax link?
Es waehre natuerlich moeglich irgendwas einzubauen womit man CS erzaehlen kann "diesen link nicht als ajax aber normal link machen". Dan muss man aber selber in seinen templates das vermerken...

Sowas wie:
{url:mod_action} macht dan ein ajax url
{naurl:mod_action} machte eine normalen link (na = no ajax)



Inaktiv
|
SCHIRI ClanSphere Team


Weltmeister



Herkunft: Hamburg
Beiträge: 5299
# Antwort: 10 - 13.09.2010 um 09:40 Uhr
du kannst den links die class="noajax" geben, dann werden sie nicht umgewandelt.


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

Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 11 - 13.09.2010 um 10:45 Uhr
Dan braucht man ja nur in die templates die links die ein andern template benutzen mit diesen klasse zu versehen und man ist fertig...


Inaktiv
|
SCHIRI ClanSphere Team


Weltmeister



Herkunft: Hamburg
Beiträge: 5299
# Antwort: 12 - 13.09.2010 um 10:46 Uhr
jo, könnte aber je nach modul-template-abhängigkeit ein gewisser aufwand sein


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

Inaktiv
|
Drag0n


Just nerd




Beiträge: 941
# Antwort: 13 - 13.09.2010 um 17:35 Uhr
hmmm ist eigendlich ganz einfach nur kann ich hier im board keine php quell codes mehr posten ka wieso Oo


------------------
MfG

Drag0n

ich gebe KEINEN ICQ oder MSN Support, es sei den ich schreibe euch an


Zuletzt editiert von Drag0n am 13.09.2010 um 17:37 Uhr (1x Editiert)
Inaktiv
|
hajo ClanSphere Team


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 14 - 13.09.2010 um 17:39 Uhr
könnte an den sicherheitsbeschränkungen liegen, die sperren diverse keywords wie z.b. $_POST


------------------
ClanSphere - professional clan care starts here

Inaktiv
|
Drag0n


Just nerd




Beiträge: 941
# Antwort: 15 - 13.09.2010 um 18:29 Uhr
jo xD


------------------
MfG

Drag0n

ich gebe KEINEN ICQ oder MSN Support, es sei den ich schreibe euch an


Inaktiv
|
SlayR ClanSphere Team


Geekboy




Herkunft: Calbe (Saale)
Beiträge: 1133
# Antwort: 16 - 13.09.2010 um 21:23 Uhr
Ich hab's bei mir, wie Schiri bereits angedeutet hat mit mehreren index.php gelöst. Jedoch habe ich einen irritierenden Effekt dabei. Meine Seiten laden praktisch doppelt. Wenn ich also aus index.php die board.php aufrufe, wird kurz die board.php angezeigt, danach kurz die index.php um dann wieder die board.php korrekt anzuzeigen. Ich habe keine Ahnung, wo dieser Effekt herkommt, jedoch ist es schon etwas nervig.
meine index.php:
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
1. / 2. / ... 
<?php
// ClanSphere 2010 - www.clansphere.net
// $Id$

# Overwrite global settings by using the following array
$cs_main = array('init_sql' => true'init_tpl' => true'tpl_file' => 'welcome.htm');

require_once 
'system/core/functions.php';

cs_init($cs_main);

(welcome.htm habe ich als generelle startpage eingerichtet)
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
1. / 2. / ... 
<?php
// ClanSphere 2010 - www.clansphere.net
// $Id$

# Overwrite global settings by using the following array
$cs_main = array('init_sql' => true'init_tpl' => true'tpl_file' => 'index.htm');

require_once 
'system/core/functions.php';

cs_init($cs_main);

von hier aus werden 90% der Module aufgerufen
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
1. / 2. / ... 
<?php
// ClanSphere 2010 - www.clansphere.net
// $Id$

# Overwrite global settings by using the following array
$cs_main = array('init_sql' => true'init_tpl' => true'tpl_file' => 'board.htm');

require_once 
'system/core/functions.php';

cs_init($cs_main);

die besagte board.php
die Links folgen dem Schema url_*.php:
klappt auch alles soweit, bis auf das doppelte laden eben. Daher gefiel mir Mindcrime's Ansatz ganz gut, bis ich merkte, das es wohl nichts für den AJAX-Betrieb ist.


------------------
--- CLANSPHERE ---
Professional clan care starts here


Inaktiv
|
Drag0n


Just nerd




Beiträge: 941
# Antwort: 17 - 13.09.2010 um 23:05 Uhr
einfach die index.php öffnen und

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
1. / 2. / ... 
<?php
// ClanSphere 2010 - www.clansphere.net
// $Id$

# Overwrite global settings by using the following array
$cs_main = array('init_sql' => true'init_tpl' => true'tpl_file' => 'index.htm');

require_once 
'system/core/functions.php';

cs_init($cs_main);


mit

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
1. / 2. / ... 
<?php
// ClanSphere 2010 - www.clansphere.net
// $Id$

# Overwrite global settings by using the following array
if($_ GET['mod'] == 'board' AND $_ GET['action'] != 'users') {
  
$tpl 'board.htm';
}
else {
  
$tpl 'index.htm';
}

$cs_main = array('init_sql' => true'init_tpl' => true'tpl_file' => $tpl);

require_once 
'system/core/functions.php';

cs_init($cs_main);


ersetzen dann hat man die probleme nicht mit verlinkungen etc.

P.S. bei $_ GET das lerzeichen nach $_ entfernen


------------------
MfG

Drag0n

ich gebe KEINEN ICQ oder MSN Support, es sei den ich schreibe euch an


Inaktiv
|
hajo ClanSphere Team


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 18 - 13.09.2010 um 23:07 Uhr
dein post geht allerdings mit mod rewrite wiederum nicht ^^


------------------
ClanSphere - professional clan care starts here

Inaktiv
|
SlayR ClanSphere Team


Geekboy




Herkunft: Calbe (Saale)
Beiträge: 1133
# Antwort: 19 - 14.09.2010 um 04:46 Uhr
Dragon, da kann ich hajo nur zustimmen. Da CSP ja die Möglichkeiten bietet, AJAX mit aufgehübschten URL's einzusetzen, nutze ich also beides. mod_rewrite und AJAX


------------------
--- CLANSPHERE ---
Professional clan care starts here


Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 20 - 14.09.2010 um 08:26 Uhr
SlayR, wieso versuchst du dan nicht meine loesung. Bei jeden template die links aendern die zu einer neue template fuehrt, durch da die klasse noajax zuzufuegen... Dan geht mod_rewrite und ajax...


Zuletzt editiert von Mindcrime am 14.09.2010 um 08:26 Uhr (1x Editiert)
Inaktiv
|
Antworten: 28
Seite [1] 2 >


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo