css dynamisch mit include

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

  • css dynamisch mit include

    tag zusammen,

    meine frage bezieht sich auf css, ist aber eher ein php-thema. ja, ich habe gesucht ;-)

    mein ziel:
    ein dynamisches script css.php. ich will das script
    für mehrere subdomains mit unterschiedlicher gestaltung verwenden,
    z.b. individuelle navigations-/ farbkombinationen je subdomain bei sonst gleicher
    verhaltensweise

    mein ansatz:
    - beispiel für dynamik einer navigations-schaltfläche:
    border-color: <?php echo $hint . " " . $vord . " " . $vord . " " . $hint; ?>;
    - auf jeder seite wird definiert:
    <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <meta http-equiv="Content-Style-Type" content="text/css">
    <title>Titel_der_Seite</title> /* $title ist vorher definiert */
    <link rel="stylesheet" type="text/css" href="css.php">
    <?php //
    include("ctrl_domv.php"); /* darin enthalten: $body="#FFFFFF";$vord="#306090";$hint="#EBF2FA";$link="#1176C8"; */
    ?>
    </head>

    mein zwischen-erfolg:
    so klappt alles: schriftgrößen, farben, hintergründe, rahmen, navigationsflächen.

    mein problem:

    ich will die css-definitionen auf mehrere script-"bausteine" verteilen,
    die ich nach bedarf miteinander kombinieren will, z.b.
    - einheitliche definitionen für standards zu a,h1,h2,h3,h4,h5,...
    - unterschiedliche navigations-typen für sub-domains

    die css.php enthält:
    <?php
    include("ctrl_domv.php"); /* individuelle farben der subdomain */
    include("css_st.php"); /* standards wie a,h1,h2,h3,... */
    include("css_ob.php"); /* navigation oben und fuss */
    include("css_li.php"); /* navigation links */
    ?>

    der baustein css_st.php beginnt so:
    a,h1,h2,h3,h4,h5,h6,td,li,input,textarea,p {font-family: Verdana, Arial, Helvetica, sans-serif;}
    und endet so:
    li{list-style-type: square;border:none;}
    das script enthält also nur die css-definitionen.
    die anderen bausteine sehen entsprechend aus,
    haben eingebettet z.b. color: <?php echo $hint; ?>;

    in dieser form werden die formatierungen nicht verstanden,
    der seiteninhalt funktioniert, keine fehlermeldungen.

    wenn ich das ganze mit dem firefox-zusatz: web developer 0.8 von chris pederick
    im modus EDIT CSS ansehe, kommt alles wie gewünscht. korrektur: nicht alles, aber das meiste. muss noch nach den unterschieden suchen

    kann mir jemand einen tipp geben?
    vielen dank
    Zuletzt geändert von oskar40; 26.06.2005, 21:51.
    gruss oskar40

    kapieren - nicht kopieren

  • #2
    Re: css dynamisch mit include

    der seiteninhalt funktioniert, keine fehlermeldungen.
    ... kommt alles wie gewünscht. korrektur: nicht alles, aber das meiste. muss noch nach den unterschieden suchen
    Dann tippe ich solange mal auf invalides CSS. Stimmts?

    Kommentar


    • #3
      vielleicht baust du dir dafür eine minitemplate?
      oder beschäfftigst dich mal mit templates?

      Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
      sondern mit den Augen das Manual zu lesen.

      Kommentar


      • #4
        @ onemorenerd: war mein fehler, ich hatte temporär zu testzwecken ein paar includes ausgeschaltet. mit eingeschalteten includes klappt mit dem developer wieder vollständig, ohne developer garnicht. ich habe den eindruck, dass es an den includes liegt, nicht am css. denn wenn ich ohne includes den vollen text (mit php-einbettungen) im gleichen script habe, klappt alles.

        @ xManUx: mach ich vielleicht. erst will ich aber herausfinden, warum mein ansatz nicht geht.

        erstmal danke
        gute nacht
        gruss oskar40

        kapieren - nicht kopieren

        Kommentar


        • #5
          <link rel="stylesheet" type="text/css" href="css.php">

          ich wusste gar net das ne php datei als css funzen kann



          zu dem editor
          die browser interpretieren durchaus entschieden anders als nen editor..
          wird auch immer sehr deutlich wenn man mal längere zeit mit dem dreamweaver gearbeitet hat
          Die Milch bleibt ranzig!

          Kommentar


          • #6
            ich wusste gar net das ne php datei als css funzen kann
            doch, das klappt und kann viel arbeit sparen. aber mit include gibt's offensichtlich probleme.
            gruss oskar40

            kapieren - nicht kopieren

            Kommentar


            • #7
              ist denn das css valide..... d.h, funzt es? -> kommen dort durch die verschiedenen dateien evtl. fehler rein?
              Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
              var_dump(), print_r(), debug_backtrace und echo.
              Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
              Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
              Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

              Kommentar


              • #8
                ja, das css funktioniert. ich habe mich schrittweise herangetastet:

                1. eine grosse datei css.php, in der die dynamik enthalten war (z.b. color:<?php echo $vord; ?>). ergebnis: alles klappt, wie ich es mir vorgestellt habe.

                2. diese grosse datei zu mehreren "bausteinen" auseinandergenommen, ohne reihenfolge oder andere dinge zu verändern, danach diese bausteine per include in meiner neuen "kleinen" css.php zusammengefasst. so klappt es nicht mehr.

                3. kontrolle mit firefox developer-modus:
                a) bei eingeschaltetem editmodus (ohne irgendeine änderung!) klappt es.
                b) sobald ich den edit-modus ausschalte, sieht es aus als hätte es css nie gegeben

                aus 1. und 3a) schliesse ich, dass css ok sein muss.

                kann das problem in der koppelung liegen?
                - css-bausteine mit eingebetteten php-befehlen
                - dann die bausteine per include in der "kleinen" css.php zusammengefügt
                gruss oskar40

                kapieren - nicht kopieren

                Kommentar


                • #9
                  Speichere die CSS-Datei aus 1. und 2. mal lokal ab und vergleiche sie.

                  Beim Browser sollte ja das gleiche ankommen, ist das so?
                  Wenn ja, häng die beiden Dateien mal an
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Re: css dynamisch mit include

                    wird die css.php denn auch mit dem korrekten Content-type-header "text/css" ausgeliefert ...?
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      @ mrhappiness: das mache ich und teile das ergebnis dann mit

                      @ wahsaga: ich denke ja. im ersten post steht das:
                      PHP-Code:
                      <head>
                      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
                      <meta http-equiv="Content-Style-Type" content="text/css">
                      <title>Titel_der_Seite</title>
                      <link rel="stylesheet" type="text/css" href="css.php">
                      <?php
                      include("ctrl_domv.php"); /* darin enthalten: $body="#FFFFFF";$vord="#306090";$hint="#EBF2FA";$link="#1176C8"; */
                      ?>
                      </head>
                      gruss oskar40

                      kapieren - nicht kopieren

                      Kommentar


                      • #12
                        Original geschrieben von oskar40
                        @ wahsaga: ich denke ja. im ersten post steht das: [...]
                        dann denkst du vermutlich falsch.

                        was in deinem eingangspost an code steht, ist uninteressant.
                        ich rede vom Content-type-header der CSS-ressource, nicht von irgendwelchen angaben im HTML-code.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          @ wahsaga:
                          das war der entscheidende hinweis. diese anweisung in meiner css.php hatte ich bei meinen versuchen irgendwann auskommentiert und dann aus den augen verloren (das thema ist mir noch nicht richtig vertraut):
                          PHP-Code:
                          header("content-type: text/css"); 
                          @ mrhappiness:
                          durch den hinweis von wahsaga konnte ich den vergleich sparen, hätte wahrscheinlich zur gleichen erkenntnis geführt.

                          danke allen für die unterstützung, es klappt, es lag nicht am include.
                          gruss oskar40

                          kapieren - nicht kopieren

                          Kommentar

                          Lädt...
                          X