To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

HTML/PHP/AJAX/JS - [phpBB] Jaki jest domyślny styl

They2 - 08-02-2009, 18:19
Temat postu: [phpBB] Jaki jest domyślny styl
Witam.
Wyciagnalem okrojony kod z functions_select i sprobowalem przerobic tak zeby byla jako sciezka do templates/nazwa_stylu/

funkcja style_select()
Kod:
function style_select($default_style, $dirname = "templates")
{
    global $db;
    if ( $check_cache = sql_cache('check', 'themes_list') )
    {
        include($check_cache);
        for($i=0; $i < count($themes_list); $i++)
        {
            $row = $themes_list[$i];
            $style_select .= $row['style_name'];
        }
    }
    else
    {
    echo 'Błąd !';
    }
    return $style_select;
}


usunalem te nie potrzebne kody z html select i option i reszta smieci.
podzialalo gdy dalem:
Kod:
echo style_select('template');


Ale jeszcze nie koniec, jesli mam na serwerze 2 style to wyswietla 2 style na stronie, ale nie tego chcialem.
Chcialem aby bylo jedno wybrany styl jako domyślny - wyświetlany na stronie.

Ktos mi poprawi ta funkcje? wiem jedynie tylko to for() ale nie moge sie skupic.

Seba123 - 08-02-2009, 22:05

Pewnie bym pomógł, ale po trzykrotnym przeczytaniu tematu nadal nie rozumiem.
warna - 08-02-2009, 22:24

They2, jak rozumiem, chodzi o nazwę aktualnie używanego stylu przez usera? Ja bym to zrobił tak:

Kod:
$style = ($userdata['session_logged_in']) ? $userdata['user_style'] : $board_config['default_style'];

Jeśli user jest zalogowany, to zmienna $style będzie zawierała nazwę jego stylu, a jeśli to gość, to weźmie styl domyślny.

They2 - 08-02-2009, 22:30

warna, to jest numer id stylu, a mialo byc wyswietlana nazwa domyslna stylu, nie nr.

[ Dodano: 08-02-2009, 22:32 ]
chodzi mi o to np. na stronie tak wyglada:
Cytat:
Domyślny styl to: subSilver


bez select ani option, po prostu zwykly tekst.

warna - 09-02-2009, 18:01

Wiem, że to +1 zapytanie, ale nie przypominam sobie miejsca w skrypcie, skąd możnaby pobrać bezpośrednio nazwę stylu.

Kod:
function style_name($style_id)
{
    global $db;
    $sql = "SELECT template_name FROM " . THEMES_TABLE . " WHERE themes_id = $style_id";
    $result = $db->sql_query($sql);
    $row = $db->sql_fetchrow($result);
    return $row['template_name'];
}


Kod:
$style = ($userdata['session_logged_in']) ? style_name($userdata['user_style']) : style_name($board_config['default_style']);

They2 - 09-02-2009, 18:28

warna, tym dziala w kodzie
Kod:
echo $style;

ale nie wyszedl w sciezce path czyli to:
Kod:
$path = 'templates/'.$style.'/';

wyswietla , ale nie cala sciezka np.
Cytat:
templates//plik_body.tpl

w miejsce gdzie // brakuje nazwy stylu.

warna - 09-02-2009, 18:49

Gdzie Ty to wywołujesz? Ja funkcję wlepiłem w /includes/funstions.php, w index.php wlepiłem bezczelnie przed

Kod:
//
// Generate the page
//
$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>


kod
Kod:
$style = ($userdata['session_logged_in']) ? style_name($userdata['user_style']) : style_name($board_config['default_style']);

echo '/templates/' . $style . '/';


I normalnie wyświetla. Podgląd tutaj, pod logiem. Gdzie Ty to wywołujesz?

They2 - 09-02-2009, 18:54

w innym pliku gdzie nie ma naglowka i stopki
warna - 09-02-2009, 18:57

No to masz 2 wyjścia: zaincludować functions.php albo wstawić tą małą fucnkję w ten Twój plik. Tylko nie wiem, czy masz obsługę bazy. Najlepiej pokaż to coś.
They2 - 09-02-2009, 19:11

dobra...
problem rozwiązany, dziękuję za pomoc. :mrgreen:



Powered by phpBB modified by Przemo © 2003 phpBB Group