Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][CSS] <link> czy include?
Rudi1204
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 2
Dołączył: 11.03.2007

Ostrzeżenie: (0%)
-----


Tak jakoś mnie naszło i zacząłem się zastanawiać jaka forma jest wygodniejsza na dodawanie arkuszy stylów do strony:
Kod
<link rel="stylesheet" href="/adres do arkusza/style.css" type="text/css" />

czy może lepiej jest użyć funkcji include()
Kod
<style type="text/css">
<?php include '/adres do arkusza/style.css'; ?>
</style>

Tak jak sprawdzałem zaletą drugiego rozwiązania jest to iż jeśli mamy zdefiniowaną np stałą ścieżkę do katalogu z arkuszami to podczas przeniesienia lub zmiany układu folderów w naszej stronie wystarczy zmienić tylko jedną zmienną (np css_path), a poza tym jeśli używamy background-image nei trzeba robić np "../../" bo można skorzystać ze zmiennej image_path.

Co o tym śądzicie? Jakie jest Wasze zdanie na temat?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Rudi1204
post
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 2
Dołączył: 11.03.2007

Ostrzeżenie: (0%)
-----


No ok sposób ciekawy jak chodzi o połączenie styli z kilku plików w jeden. Rozumiem, że jakoś trzeba to wywołać tylko raz bo inaczej przecież nie ma sensu jak by patrzeć na wydajność serwera (chyba, że się mylę), ale nadal pozostaje problem z "../" idzie się jakoś pozbyć tego zapisu czy trzeba przywyknąć do tego?

EDIT:
Właśnie sobie tak na roboczo poprostu przed ob_start() dodałem zmienną path i śmiga ładnie tylko ciągle mnie nurtuje fakt, gdzie to wrzucić by za każdym razem nie generować pliku stylów?

Dobra zrobiłem sobie to na podstawie takiego helperka:
Kod
class Links_Style {
    
    public static function display($style_include, $style_out = 'style.css') {
        $style_parts = explode(':', $style_include);

        ob_start();

        foreach ($style_parts as $style_file) {
            include DIR_TEMPLATES . 'default/css/' . $style_file;
            echo "\n";
        }

        //include DIR_TEMPLATES . 'default/css/reset.css';
        //include DIR_TEMPLATES . 'default/css/template.css';

        $content = ob_get_clean();

        file_put_contents(DIR_TEMPLATES . 'default/css/'.$style_out, $content);

        $path =  URL . DS . 'templates/default/css/'.$style_out;
        echo $path;

    } // end display();
}

GDZIE:
$style_include = nazwy arkuszy stylów rozdzielone dwukropkiem (np: styl1.css:styl2.css),
$style_out = nazwa pliku wyjściowego

ogólnie całość zwraca link do pliku css a wywołuję to tak:
Kod
<link rel="stylesheet" href="<?php Links_Style::links_style('reset.css:template.css');?>" type="text/css" />


No i includuje wszystko cacy, ale (IMG:style_emoticons/default/tongue.gif) ... jak to ma się do wspomnianej wyżej wydajności? Skrypt przecież jest wywoływany za każdym razem jak otwieram każdą stronę/podstronę.

Ten post edytował Rudi1204 24.01.2011, 12:10:54
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 02:02