Ankündigung

Einklappen
Keine Ankündigung bisher.

Header und Footer auslager: Problem stylesheet

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Header und Footer auslager: Problem stylesheet

    Hallo,
    Ich habe wiedereinmal ein Problem:

    Ich möchte meinen header (grundgerüst,logo,navigation und co) und footer auslagern (mit include). Das problem ist nun das jede seite ein extra stylesheet hat, zusätlich zu dem, welches auf jeder unterseite benötigt wird.

    Hier mal ein paar Codeschnipsel wie es gedacht ist:

    header.php
    PHP-Code:
    <!doctype html>
    <
    html>
    <
    head>
    <
    link href="css/main.css" rel="stylesheet" type="text/css"> <!-- Soll auf jeder seite eingebunden werden -->
    <
    link href="css/startseite.css" rel="stylesheet" type="text/css"><-- z.Bnur auf Startseite -->
    <
    meta charset="utf-8">
    <
    title>Beispiel</title>
    </
    head>
    <!-- 
    Ab hier dann navigation und der ganze mist wie logo co -->
    ...
    ...
    ...
    <!-- 
    Hier dann ende --> 
    footer.php
    PHP-Code:
    <p>Hier footer inhalt blablabla</p>
    <
    body>
    </
    body>
    </
    html
    index.php
    PHP-Code:

    <? 
    include 'doc/header.php'; 
    ?>

    <!-- Ab hier dann normaler webseiten content -->
    bla...
    bla...
    bla...
    <!-- Hier endet Webseiten content -->
    <?
    include'doc/footer.php';
    ?>
    Vielen dank im Vorraus für eure Lösungvorschläge.
    Grüße
    anghenfil

    Edit eigentliche Frage: Wie löse ich das Problem, dass ich auf z.B. unterseite a noch ein anderes stylesheet eingebunden habe möchte als auf z.B. der Startseite?
    Nützliches:

  • #2
    Was ist die Frage?
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      Wie löse ich das Problem, dass ich auf z.B. unterseite a noch ein anderes stylesheet eingebunden habe möchte als auf z.B. der Startseite.
      Nützliches:

      Kommentar


      • #4
        Mit ner anständigen Templateengine
        [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

        Kommentar


        • #5
          oder mit if, testen würde ich dann was aus http://php.net/manual/de/reserved.variables.server.php

          Kommentar


          • #6
            was spricht gegen nur eine einzige css Datei in der du dann speziell für header / footer etc. eigene style-anweisungen schreibst ?

            gruß doowoop

            Kommentar


            • #7
              @doowoop Ich glaube ich muss es nochmal erklären xD. Also nehmen wir jetzt mal an wir haben 2 seiten. Also einmal die startseite und einmal sagen wir mal kontakt. Für beide soll es für das grund design ein stylesheet das main.css geben. Dann soll jede seite nochmal ein eigenes stylesheet haben für seitenspezifische inhalte also z.B. auf der kontaktseite kontaktformulare und so weiter und so fort und auf der startseite halt andere inhalte. Ich möchte damit eig. nur verhindern das es nicht so unübersichtlich wird (zu lang in einem stylesheet), oder meint ihr/du das ein stylesheet ausreicht?
              Grüße anghenfil
              Nützliches:

              Kommentar


              • #8
                Ich habe gerade eine Idee gehabt:

                index.php:
                PHP-Code:
                <?php
                $stylesheets 
                '<link href="css/index.css" rel="stylesheet" type="text/css">';
                include
                'doc/header.php';
                ?>
                <div id="test">
                <p>Hallo Welt!</p>
                <div>
                <?php
                include'doc/footer.php';
                ?>
                header.php:
                PHP-Code:
                <?php 
                include("conf/config.php"); 
                ?>
                <!doctype html>
                <html>
                <head>
                <link href="css/main.css" rel="stylesheet" type="text/css">
                <?php
                echo $stylesheets;
                ?>
                <meta charset="utf-8">
                <title><?php echo $site_titel?></title>
                </head>
                Was haltet ihr davon?

                Ps: @moma stimmt if wäre auch ne idee...
                Nützliches:

                Kommentar


                • #9
                  Ist eine Lösung. Template-Engine wäre ggf. noch eleganter.
                  Aber anstatt:
                  PHP-Code:
                  $stylesheets '<link href="css/index.css" rel="stylesheet" type="text/css">'
                  doch
                  $stylesheet = 'index.css';
                  und statt
                  Code:
                  <?php 
                  echo $stylesheets; 
                  ?>
                  eher
                  Code:
                  <link href="css/<?php echo $stylesheet ?>" rel="stylesheet" type="text/css">

                  Kommentar


                  • #10
                    Zitat von monolith Beitrag anzeigen
                    Ist eine Lösung. Template-Engine wäre ggf. noch eleganter.
                    Aber anstatt:
                    PHP-Code:
                    $stylesheets '<link href="css/index.css" rel="stylesheet" type="text/css">'
                    doch
                    $stylesheet = 'index.css';
                    und statt
                    Code:
                    <?php 
                    echo $stylesheets; 
                    ?>
                    eher
                    Code:
                    <link href="css/<?php echo $stylesheet ?>" rel="stylesheet" type="text/css">
                    stimmt ist intelligenter, danke
                    Grüße anghenfil
                    Nützliches:

                    Kommentar


                    • #11
                      Zitat von monolith Beitrag anzeigen
                      Ist eine Lösung. Template-Engine wäre ggf. noch eleganter.
                      Aber anstatt:
                      PHP-Code:
                      $stylesheets '<link href="css/index.css" rel="stylesheet" type="text/css">'
                      doch
                      $stylesheet = 'index.css';
                      und statt
                      Code:
                      <?php 
                      echo $stylesheets; 
                      ?>
                      eher
                      Code:
                      <link href="css/<?php echo $stylesheet ?>" rel="stylesheet" type="text/css">
                      Ich weiß nicht, würds eher so machen:

                      PHP-Code:
                      $additionalStylesheets = ['style.css''another.css''third.css'];
                      require 
                      'header.php'
                      PHP-Code:
                      //some HTML
                      <?php
                      if(isset($additionalStylesheets) && is_array($additionalStylesheets))
                        foreach(
                      $additionalStylesheets as $stylesheet)
                          echo 
                      '<link href="css/' $stylesheet '" rel="stylesheet" type="text/css">';
                      //more HTML
                      Das könnte man so auch 1zu1 ins Templatesystem mitnehmen (additionalStylesheets assign'en und im Template durchiterieren).
                      [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

                      Kommentar


                      • #12
                        Die Lösung ist ganz einfach: Finger weg von CSS
                        Wenn du nicht gezwungen wirst css zu benutzen, dann lass es bleiben! Nutze SASS (bzw SCSS; mit Compass) oder LESS
                        Und dann ja: Alles ergibt am Ende eine große CSS-Datei mit Definitionen für alle Elemente, die es auf deinen Unterseiten so gibt.

                        Kommentar


                        • #13
                          Und auch wenn du gezwungen wirst, nutzt du reines CSS besser nicht.

                          Kommentar


                          • #14
                            rkr schön und gut, aber für ihn ist das erst mal wahrscheinlich too much. Ich finde auch Anfänger früh an moderne Konzepte wie OOP und Tools wie SASS (Kompiler) heranzuführen ist eine gute Idee aber ob der TE das jetzt wirklich als seine Priorität sieht - ich glaube nicht. Denke er steht noch ganz am Anfang. Sollte erst mal PHP-Basics lernen. Denke er hat mit include bisher kaum gearbeitet. Man sieht doch dass er erst mal mit include, Variablen und dergleichen vertraut werden muss. Ob er CSS fundiert beherrscht bezweifle ich erst recht und das sollte meiner Meinung nach schon der Fall sein ehe man mit SASS/LESS startet. Zumindest die CSS Grundlagen sollten sicher beherrscht werden.

                            Kommentar


                            • #15
                              Zitat von monolith Beitrag anzeigen
                              rkr schön und gut, aber für ihn ist das erst mal wahrscheinlich too much. Ich finde auch Anfänger früh an moderne Konzepte wie OOP und Tools wie SASS (Kompiler) heranzuführen ist eine gute Idee aber ob der TE das jetzt wirklich als seine Priorität sieht - ich glaube nicht. Denke er steht noch ganz am Anfang. Sollte erst mal PHP-Basics lernen. Denke er hat mit include bisher kaum gearbeitet. Man sieht doch dass er erst mal mit include, Variablen und dergleichen vertraut werden muss. Ob er CSS fundiert beherrscht bezweifle ich erst recht und das sollte meiner Meinung nach schon der Fall sein ehe man mit SASS/LESS startet. Zumindest die CSS Grundlagen sollten sicher beherrscht werden.
                              Ja, das ist so, als würdest du behaupten, er solle PHP erst mal an die Seite legen und richtig HTML lernen. Aber ganz unrecht hast du sicher nicht.

                              Trotzdem noch mal zur Vollständigkeit: http://sass-lang.com/guide

                              Kommentar

                              Lädt...
                              X