Content Management System - CMS : eXV2 
Home
News
Forum
Downloads
Download Module
Sitemap
Partnerseiten
RSS News
Kontakt/Info
Sprache
EnglishFrench
Suchen
Login
Nickname
Passwort

Registrieren?
Passwort?
Navigation
 Home News  Forum Neueste Beiträge  Downloads Download Module eXV² Themes  Weblinks Tutorial Changelog 2.3.1 Jobcenter Gebrauchtmarkt OSMap  Sponsor Kalendersystem Sitemap Partnerseiten RSS News Kontakt/Info Webseiten Wetter
Willkommen im Free Web CMS : eXV² Forum!
  Forenarchiv
     Allgemeines
  Theme wechseln

Forum : Allgemeines

Titel : Theme wechseln

© 2004-2012 www.exv2.de
http://www.exv2.de

URL dieser Diskussion
http://www.exv2.de/modules/newbb_plus/viewtopic.php?topic_id=3397&forum=8


 molli :

21.05.2006 15:25
 Hallo zusammen,

wie ihr seht bin ich ein blutiger Anfänger in Sachen PHP und muss euch schon wieder (und sicherlich auch noch des öfteren) mit meinen Fragen belästigen. Deshalb schon mal vorab ein dickes Dankeschön an all diejenigen, die sich die Zeit und Mühe machen auf die Fragen von uns Nobs einzugehen.

Mein Problem:

Ich habe insgesamt 6 Themenbereiche auf meiner Site, die ich farblich unterschiedlich absetzen möchte. Also so, dass der Hauptlink, alle dazugehörigen Sublinks, die Loginbar (Theme: ex-v2-type1) sowie die Blöcke entsprechend des Themas farblich gleich gekennzeichnet sind. Nun habe ich versucht dies mit CSS zu lösen, was allerdings nur bedingt funktioniert. Mittlerweile denke ich wird die einfachste Lösung sein, wenn ich 6 Themes anlege, die jeweiligen Farben reinpack und diese mit dem entsprechenden Thema (Hauptlink) verknüpf.

Nun meine Frage:

Wie bekommt man es mit PHP hin, dass ein Link zum einen die entsprechende url aufruft und parallel dazu das Theme switcht?

Gruß Olli

 Picl :

22.05.2006 09:57
 Schau dir mal diesen Block an:

http://exv2-filecenter.de/modules/mydownloads/singlefile.php?lid=55

Der übergibt ja irgendwelche Parameter um das Theme zu wechseln. Wenn du die jetzt beim jeweiligen Link auch übergibst, sollte es klappen.


Greetz,

Picl

 molli :

15.06.2006 23:17
 Hallo,

konnte das Problem bisher leider noch nicht lösen und bitte deshalb nochmals um Eure Hilfe.


Hab mir das Script des Themeswitcher angesehen und damit experimentiert.
Klar ist, dass ich die User-Abfragen nicht benötige. (Der Themewechsel soll ja durch Click auf einen Link automatisch erfolgen und solange aktiv verbleiben, bis durch Click auf einen anderen Link ein anderes Theme aufgerufen wird.) Klar ist damit auch, dass die Methode "POST" sowie die Listenfunktion entfallen. Alles in allem gesehen bleibt von dem Script nicht mehr all zu viel übrig und das Ganze funktioniert nicht mehr.
Vielleicht kann mir ja jemand weiter helfen und sagen, wie ich das Script richtig formuliere. Wäre echt super.

Gruß Oli


Das original Themeswitcher-Script:

<?php


function b_themeswitcher_edit($options){
$content=_MB_THEMESWITCHER_BLOCKOP1."
<input class=\"radio\" type=\"radio\" name=\"options[0]\" value=\"1\" ";
if($options[0]==1) $content.="checked ";
$content.="> "._MB_THEMESWITCHER_BLOCKOP2;
$content.="<input class=\"radio\" type=\"radio\" name=\"options[0]\" value=\"0\" ";
if($options[0]==0) $content.="checked ";
$content.="> "._MB_THEMESWITCHER_BLOCKOP3;
return $content;
}

function b_themeswitcher_show($options){

global $xoopsUser, $xoopsConfig, $db;
$path = XOOPS_ROOT_PATH."/themes/";
$block = array();
$block['title'] = _MB_THEMESWITCHER_TITLE1;

if($xoopsUser && ($xoopsConfig['allow_theme'] == 1 )){
//change theme and go back 1 page (page without the post submission)
//use $HTTP_POST_VARS for older php
if($_POST["themechange"]) {
$themesubmitted=$_POST["themechange"];
$xoopsUser->setVar("theme", $themesubmitted);
$sql="UPDATE ".$db->prefix('users')." SET theme='".$themesubmitted."' WHERE uid=".$xoopsUser->getVar("uid")."";
$db->query($sql);
header( "location:".$_SERVER['PHP_SELF'] );
exit();
}
$d = dir($path);
while ($entry = $d->read()) {
if( is_dir($path ."/". $entry) && (strrpos( $entry, ".") === false) ) {
$theme_list[] = $entry;
}
}
$block['content']="<div align=\"center\">";
$block['content'].="<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">";
$block['content'].="<select id=\"themechangeselect\" class=\"select\" name=\"themechange\" onfocus=\"if(document.all) this.blur()\" onchange=\"submit()\" align=\"bottom\">";

$curr_theme = getTheme();
natcasesort($theme_list);

foreach ($theme_list as $value) {
if($value == $curr_theme) {
$chk = " selected='selected'"; } else { unset($chk); }
$block['content'].="<option value=\"".$value."\" ".$chk.">".$value."</option>";
}
$block['content'].="</select></form></div>";
}
else return "";

if($options[0]==1) return $block;
else echo $block['content'];
}

?>
Partnerseiten
http://www.contaxe.com/?cref=1674143

Vote für eXV2
php
Kontakt/Info
  Kontakt
  Impressum
  Link zu uns
  AGB
  Datenschutzhinweis
Downloads
  eXV² Core
  Core Sprachfiles
eXV² Filecenter
  Downloads
  Download Module
  eXV² Themes
  Multilanguage Module
  Sprachfiles eXV² Module
eXV² Support
  France