Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
"Quick Theme"-template ändern
#1
Hoi^^

Ich hab mich jetzt auch für das MyBB entschieden und muss sagen das ich bisher wirklich begeistert bin.
Nun bin ich grade dabei mein erstes Template anzufertigen und bin nun an einen Punkt gelangt wo ich nicht so ganz weiterweißToungue

nun zu meinen Problem:

Ich hab das Quick Theme! 1.1 Plugin installiert und funktioniert auch soweit.
Nur weiß ich nicht wie ich da "Wechsel-Formular" woanders hinsetzen kann.

Ein passendes Template habe ich momentan noch nicht gefunden.

Ahja ich hab auch schon nach einer Lösung hier gesucht, aber ncihts passendes Gefunden da dort wo es beschrieben ist es wohl für eine andere Version des Plugins ist und ich nicht eine demenstsprechende Datei/Template habe^^


Ich fänds auch gut wenn man es so hinbekommen würde das es wie der Stylechanger von MyGen24 funktionieren würde, sprich das man nicht erst noch auf den "Wechesel" Button klicken muss.

Ich hoffe das mir hier jemand helfen kann^^


mfg robanat



Edit:
Für die die es interresiert, ich hab jetzt docoh noch eine möglichkeit gefunden die position von Plugin zu ändern.

einfach
PHP-Code:
preg_match('#'.preg_quote('<!-- start: footer -->').'#i'$page$matches);
    if(
$matches[0])
    {
        
$page str_replace($matches[0], "<br />".$data."\n<!-- start: footer -->"$page);
    } 

mit
PHP-Code:
    preg_match('#'.preg_quote('<!-- quicktheme -->').'#i'$page$matches);
    if(
$matches[0])
    {
        
$page str_replace($matches[0], "<br />".$data."\n<!-- quicktheme -->"$page);
    } 

austauschen und dann im Template durch "<!-- quicktheme -->" (ohne ") die gewünschte Position angeben.

mfg roabnat^^


edit:

So jetzt hab ich es geschafft das man den Button nicht mehr braucht, nun bleibt mir nur noch ein Problem^^

Die ersten beiden Einträge, welche automatisch generiert werden, möchte ich geren noch entfernen. Ich hab mit gedacht dies vie str_replace zu verwirklichen.
Nur leider funzt es nicht wirklich

Also ich habs so versucht:

PHP-Code:
<?php

$plugins
->add_hook("pre_output_page""quicktheme_run");
$plugins->add_hook("index_start""quicktheme_update");
$plugins->add_hook("global_start""quicktheme_global");


function 
quicktheme_info()
{
    return array(
        
"name"            => "Quick Theme!",
        
"description"    => "A plugin that allows users to quickly change their theme!",
        
"website"        => "http://www.rct3x.net",
        
"author"        => "Tikitiki",
        
"authorsite"    => "http://www.rct3x.net",
        
"version"        => "1.1",
    );
}

function 
quicktheme_activate()
{
}

function 
quicktheme_deactivate()
{
}

function 
quicktheme_run($page)
{
    global 
$mybb$db$lang;
    
    
$lang->load("usercp");
    
    
$theme_select build_theme_select("style\" onchange=\"document.quicktheme.submit();"$mybb->user['style']);
        
    if(
strpos($theme_select'</select>') === false)
    {
        
$theme_select .= '</select>';
    }
    
$normal "<select name=\"style\" onchange=\"document.quicktheme.submit();\"><option value=\"0\">Standardeinstellung</option>
<option value=\"0\">-----------</option>"
;
    
$kurz "<select name=\"style\" onchange=\"document.quicktheme.submit();\"><option value=\"0\">Standardeinstellung</option>";
    
    
$theme_select str_replace($normal$kurz$theme_select);
    
    
$data "\n<form name=\"quicktheme\" method=\"post\" action=\"./index.php?action=quicktheme\">\n";
    
$data .= "<input type=\"hidden\" name=\"uid\" value=\"{$mybb->user['uid']}\" />\n";
    
$data .= $theme_select;
    
$data .= "\n</form>";
    
    
preg_match('#'.preg_quote('<!-- quicktheme -->').'#i'$page$matches);
    if(
$matches[0])
    {
        
$page str_replace($matches[0], "<br />".$data."\n<!-- quicktheme -->"$page);
    }
    
    return 
$page;
}

function 
quicktheme_update()
{
    global 
$mybb$db$lang;
    
    if(
$mybb->input['action'] == 'quicktheme')
    {
        if(isset(
$mybb->input['style']) && $mybb->request_method == "post")
        {
            
$lang->load('usercp');
            
            if(
$mybb->user['uid'])
            { 
                
$db->update_query(TABLE_PREFIX."users", array('style' => intval($mybb->input['style'])), "uid='{$mybb->user['uid']}'");
            }
            else
            {
                if(
intval($mybb->input['style']) == 0)
                {
                    
my_unsetcookie('quicktheme');
                }
                else
                {
                    
my_setcookie('quicktheme'intval($mybb->input['style']));
                }
            }        
            
            
redirect($_SERVER['HTTP_REFERER'], $lang->redirect_optionsupdated);
        }
    }
}

function 
quicktheme_global()
{
    global 
$mybb;
    
    if(
$mybb->user['uid'] == && intval($_COOKIE['quicktheme']) > 0)
    {
        
$mybb->user['style'] = intval($_COOKIE['quicktheme']);
    }
}

?>

Irgendwie bleiben die Einträge "Standarteinstellungen" und "------" noch erhalten.

kann mir dabei vieleicht jemand helfen, oder sagen was falsch ist?^^

mfg robanat
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Sad Quick Theme Changer Wszene Online 7 2.833 19.10.2010, 23:31
Letzter Beitrag: ows
  Quick Login ändern Zwoetzen 1 1.996 02.09.2008, 12:25
Letzter Beitrag: Michael
  "Advanced Quick Reply" und "Quick Quote" in aktueller Version? Rookie-Doo 0 1.807 05.12.2007, 13:59
Letzter Beitrag: Rookie-Doo
Exclamation Quick language & Quick Theme ! DaStaFlexX 0 1.590 01.03.2007, 11:56
Letzter Beitrag: DaStaFlexX