MyBB.de Forum

Normale Version: "Quick Theme"-template ändern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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