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
     Module, Blöcke und Hack's suche
  Automatischer Themewechsel ?

Forum : Module, Blöcke und Hack's suche

Titel : Automatischer Themewechsel ?

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

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


 molli :

03.07.2006 22:32
 Automatischer Themewechsel ?
Hallo,

versuche (immer nochSad ) einen automatischen Themewechsel zu erreichen. Bei XOOPS habe ich das folgende Script gefunden und versucht, es an exoops anzupassen, jedoch vergebens das ganze funzt nicht.
Kann mir jemand sagen, wo der Hund begraben ist und vielleicht noch welches include file ich einbinden muss?

Danke schon mal im voraus.

<?php
$module = $GLOBALS['XoopsModule'];
$dirname = (isset($module) ? $module->getVar('dirname') :'system');
if ($dirname. == 'news') {
$theme='ex-v2-type1';
} else {
$theme='ex-v2-type2';
}

$this->assign('themedir, $theme.'theme.php');
$this->assign('XOOPS_THEME', $theme);
$this->assign('xoops_themecss', .XOOPS_URL.'/themes/'.$theme.'/style.css');
$this->assign('xoops_imageurl', .XOOPS_URL.'/themes/'.$theme.'/');

<{include file="$themename"}>
<?

 Nobse :

04.07.2006 19:58
 Da guckstduhier http://www.exv2-filecenter.de/modules/mydownloads/singlefile.php?lid=55

 molli :

05.07.2006 21:53
 Danke. Aber den Tipp mit dem Themeswitcher hat mir Picl schon gegeben. Ist jedoch nicht das, was ich suche bzw. konnte nix damit anfangen, weil einfach meine Kenntnisse in PHP noch nicht ausreichen, um das Script umzumodeln. Wie gesagt soll der Themewechsel automatisch und nicht durch einen Userinput erfolgen. Das XOOPS-Script wäre also ideal, nur bekomme ich es nicht unter exoops zum Laufen.

 toxin :

06.07.2006 15:44
 kannst du mir das xoops-script mal per mail schicken?

 molli :

05.09.2006 15:50
 Hallo,

ich versuche nun schon seit Wochen einen automatischen Themewechsel hinzukriegen. Leider bisher vergebens. Das mit dem XOOPS-Script habe ich verworfen und stattdessen doch auf das Themeswitcher-Script zurückgegriffen.

Und so bin ich bisher vorgegangen:

1. Alles was mir überflüssig erschien, wurde gelöscht.
2. Das Script habe ich direkt in der theme.php (ex-v2-type1) ganz am Anfang
eingepflanzt.

Das ganze funktioniert soweit auch einwandfrei. Rufe ich meine Seite auf, erhalte ich in den Blöcken den Themeswitcherblock mit dem Auswahlmenüe und kann das Theme manuell wechseln. Nun soll aber anstelle der Blockfunktion das ganze per Pfadfunktion automatisch ablaufen. Also z.B News-Modul = Theme ex-v2-type1,
Forum-Modul =Theme ex-v2-type2 usw. Das ganze habe ich versucht mit $dirname bzw. $pfadget irgendwie hin zu bekommen, jedoch ohne Erfolg. Kann mir also jemand weiterhelfen und sagen wie man so eine Pfadfunktion richtig formuliert?

Hier das Themeswichter-Script mit der Blockfunktion:

function b_themeswitcher_show($options){

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




if($_GET["themechange"]) {
$theme=$_GET["themechange"];
$sql="UPDATE ".$db->prefix('users')." SET theme='".$theme."' 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=\"get\">";

$block['content'].="<select id=\"themechangeselect\" class=\"select\" name=\"themechange\" onfocus=\"if(document.all) this.blur()\" onchange=\"submit()\" align=\"bottom\">";

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

foreach ($theme_list as $value) {
if($value == $theme) {


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


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

 Gast :

05.09.2006 23:52
 ich hab gerade so viel zu tun aber das geht wesentlich einfacher....
nimm mal wieder den xoops ansatz

ehemals stand das in einer globalen variable... die überschreibst du einfach

[ Geändert von vision an 06.09.2006 01:36 ]

 bama :

06.09.2006 12:22
 Hi molli,

in der /functions.php hast du ab etwa Zeile 325, die function get_Theme()

ersetze diese wie folgt:
Code:
function getTheme() {
global $xoopsConfig, $xoopsModule;

$dirname = "";
if(isset($xoopsModule) &amp;&amp; $xoopsModule->dirname() != ""){$dirname = $xoopsModule->dirname();}

$themedir = XOOPS_ROOT_PATH . "/themes";

switch(isset($dirname) ? $dirname : ""){

case "newbb_plus":
$theme="ex-v2-type2";
break;

case "mylinks":
$theme="ex-v2-type3";
break;

case "news":
case "contact":
$theme="e-xoops";
break;

default:
$theme="ex-v2-type1";
break;

}

if ( @file_exists("$themedir/$theme/theme.php") ) {
return $theme;
} else {
return $xoopsConfig['default_theme'];
}
}


du kannst mehrere Module zusammenfassen, siehe news, contact
unter SysAdmin -> Einstellungen Mitglied kannst du
Erlaube deinen Mitgliedern, das Theme selbst auszuwählen? auf nein stellen, denn das hat hier dann keine Wirkung mehr

 Dj_PD :

03.11.2006 09:28
 Hi bama,

die Idee find ich gut. Öhm, ich habs noch nicht getestet, aber geht das auch mit dem UltraContent-Modul?

So das ich einfach z.B.
Code:
case "newbb_plus/reply.php?forum=24&amp;post_id=20314&amp;topic_id=3445&amp;viewmode=flat&amp;order=0":
case "contact":
$theme="e-xoops";
break;


Mache? Ich denke nicht oder?
Hast du ne Idee wie man das machen kann?

Gruss
Dj_PD

 bama :

04.11.2006 11:12
 Hi,

sicher geht das, nur so nicht

newbb_plus/reply.php?forum=24&post_id=20314&topic_id=3445&viewmode=flat&order=0

die würde nur den einzelnen Post betreffen, schon eine andere Sortierung würde das nicht mehr nehmen

du musst hier eine Abfrage einfügen
case "newbb_plus":
if(stristr(_QUERY_STRING, "forum=24&post_id=20314&topic_id=3445")){
$theme=soundso;
}
break;
Partnerseiten
http://service.bama-webdesign.de/

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