Seite 15 von 15 ErsteErste ... 51112131415
Ergebnis 281 bis 288 von 288

Thema: Allgemeiner Fragenthread II

  1. #281
    Hi,

    danke habs mittlerweile schon hinbekommen, indem ich eben die Variablen Namen geändert habe und die Arrays anders erstelle.
    Allerdings wurde ich auch schon woanders darauf hingewiesen, ein fertiges template system zu verwenden, was ich aber eigentlich nicht möchte, sich wohl aber nicht vermeiden lässt, weil selber schreiben scheint zu kompliziert.
    Allerdings auf keinen Fall mehr smarty, das habe ich vorher benutzt und war sehr unzufrieden. Kann mir jemand ein anderes template system empfehlen?

    Edit: Hier noch der Weg wie ich das Problem gelöst habe, die Werte werden nun Außerdem aus einer Datenbank ausgelesen.
    PHP-Code:
    <?php
    //startseite
    $site "main";

    include 
    "config.php";

    $satz "Dies ist L_MAIN_TITLE. L_MAIN_WELCOME!";

    //Datenbankabfrage nach Sprachvariablen

    $lang_query mysql_query("SELECT `langvar`, `varcont` FROM `bg_l_de` WHERE `site` = '$site'");
    $lv = array();
    $vc = array();
    while(
    $langrow mysql_fetch_assoc($lang_query))
    {
             
    $lv[] = $langrow['langvar'];
             
    $vc[] = $langrow['varcont'];
    }

    //Template Ausgabe
    $content str_replace($lv$vc$satz);
    echo 
    $content;
    ?>

  2. #282
    Zitat Zitat
    Code:
      foreach($vars as $key => $value){
        $$key = $value;
      }
    Kann man auch einfacher machen mit der extract-Funktion.

    Allerdings finde ich PHP-Templates persönlich extrem unübersichtlich.

    Edit:
    Dieses Template-System habe ich die Tage gefunden und finde es eig. ziemlich cool:
    http://www.twig-project.org/

  3. #283
    Ich verstehe nicht, warum du nicht einfach das Array durchiterierst und bei jedem Durchgang die Ersetzen-Funktion aufrufst? Oder auf die DB-Lösung angewandt:
    PHP-Code:
    <?php
    $content 
    "Dies ist L_MAIN_TITLE. L_MAIN_WELCOME!";

    $lang_query mysql_query("SELECT `langvar`, `varcont` FROM `bg_l_de` WHERE `site` = '$site'");

    while (
    $langrow mysql_fetch_assoc($lang_query))
    {
        
    $content str_replace($langrow['langvar'],
                               
    $langrow['varcont'],
                               
    $content);
    }

    echo 
    $content;
    ?>
    Ich bin schon unheimlich lange aus PHP draußen, deshalb nicht schimpfen, wenn ich da irgendwas falsch verstanden habe. (;

    Mal nebenbei bemerkt: Ich würde nicht für jede Sprache eine eigene Tabelle benutzen, sondern einfach ein Feld mit der Info. Der Primärschlüssel setzt sich dann aus Sprache und Ersetzungsmuster zusammen.

  4. #284
    Hi,

    ich code gerade eine einfach Seite in Html und css, dabei hab ich nun folgendes Problem,
    die Seite soll 3 Spalten besitzen.

    Code (CSS):
     
    #content {
    	width:980px;
    	height: 100%;
    	background-color: #FFF2DA;
     
    }
     
    #box1 {
    	float: left;
    	width: 200px;
    	height: 100%;
    	text-align:left;
    	background-color: #FFF2DA;
    }
     
    #box2 {
    	float: left;
    	width: 580px;
    	height: 100%;
    	text-align:left;
    	background-color: #FFF2DA;
    }
     
    #box3 {
    	float: right;
    	width: 200px;
    	height: 100%;
    	text-align:left;
    	background-color: #FFF2DA;
    }
     


    HTML-Code:
     <div id="content">
    			<div id="box1">
                             Das ist die Linke Spalte.
                            </div> 
    			<div id="box2">
    			Das ist die mittlere Spalte	         
                            </div>
                            <div id="box3">
                	        Das ist die rechte Spalte.
                            </div>
    </div>
    Mein Problem besteht dadrin, dass wenn ich in die "mittlere Spalte" , einen sehr langen Text schreibe, das die seitlichen Spalten sich von der Höhe nicht anpassen, weswegen ich mir überlegt habe, einfach den umschließenden div, in diesem Fall "content" einfach die gleiche Background Farbe zu geben, aber irgendwie hat, das immernoch keine Auswirkung.

    Um mein Problem besser zu veranschaulichen hier ein Screen.

  5. #285
    Floating divs haben die Angewohnheit, auch über die Größen des Elternelements zu gehen. Mach ganz zum Schluss ein <div style="clear: both;"></div> hin, dann passts.

  6. #286
    Danke, hat geklappt

  7. #287
    Moin,

    bräuchte mal Hilfe mit meinem neuen Design.
    Und zwar möchte ich es vermeiden, der content-div box eine feste größe zuzuweisen. Aber da in dieser Box bis auf weiter boxen kein Inhalt wie text steht, taucht die box garnicht erst auf wenn ich keine feste Größe zuweise, hat jemand eine Idee?

    http://www.rdn-online.com/hosted/test/index.html
    HTML-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
             <meta http-equiv="content-type" content="text/html; charset=utf-8" />
             <title>Band Layout</title>
             <style type="text/css">
                     #background {
                             position: fixed;
                             left: 0px;
                             top: 0px;
                             width: 100%;
                             height: 100%;
                             background-image: url(images/hintergrund_kachel.jpg);
                             background-repeat: repeat-y;
                     }
                     #center {
                             width: 1000px;
                             top: 0px;
                             bottom: 0px;
                             background: #000000;
                             border: 1px solid #000000;
                             margin: 0 auto;
                     }
                     #header {
                             position: relative;
                             top: 0px;
                             bottom: 0px;
                             height: 205px;
                             background-image: url(images/header.png);
                             background-repeat: no-repeat;
                             z-index: 101;
                     }
                     #content {
                             position: relative;
                             background-color: transparent;
                             color: #FFFFFF;
                             top:0px;
                             bottom: 0px;
                             z-index: 101;
                     }
                     #band1 {
                             position: absolute;
                             left: 10px;
                             top: 10px;
                             width: 440px;
                             height: 300px;
                             background-color: transparent;
                             background-image: url(images/pics.png);
                             background-repeat: no-repeat;
                             z-index: 101;
                     }
                     #band2 {
                             position: absolute;
                             right: 10px;
                             top: 10px;
                             width: 440px;
                             height: 300px;
                             background-color: transparent;
                             background-image: url(images/band.png);
                             background-repeat: no-repeat;
                             z-index: 101;
                     }
                     #band3 {
                             position: absolute;
                             left: 10px;
                             bottom: 10px;
                             width: 440px;
                             height: 300px;
                             background-color: transparent;
                             background-image: url(images/dates.png);
                             background-repeat: no-repeat;
                             z-index: 101;
                     }
                     #band4 {
                             position: absolute;
                             right: 10px;
                             bottom: 10px;
                             width: 440px;
                             height: 300px;
                             background-color: transparent;
                             background-image: url(images/blog.png);
                             background-repeat: no-repeat;
                             z-index: 101;
                     }
                     #footer {
                             position: relative;
                             background: #b7d84b;
                             top:0px;
                             bottom: 0px;
                             height: 20px;
                             color: #008000;
                             z-index: 101;
                     }
    div.box {
         border: 1px solid #000000;
         position: relative;
         width: 1000px;
         margin: 0 auto;
    }
    div.box_contents {
         background-color:transparent;
         color: #FFFFFF;
         height: 650px;
         position: relative;
         width: 100%;
         z-index: 101;
    }
    div.box_background {
         background-color: #000000;
         height: 100%;
         filter:alpha(opacity=60);
         left: 0px;
         opacity: 0.60;
         position: absolute;
         top: 0px;
         width: 100%;
         z-index: 99;
    }
             </style>
    </head>
    <body>
             <div id="background"></div>
             <div class="box" id="box">
                     <div class="box_background"> </div>
                     <div id="header"></div>
                     <div class="box_contents">
                             <div id="band1"></div>
                             <div id="band2"></div>
                             <div id="band3"></div>
                             <div id="band4"></div>
                     </div>
                     <div id="footer">Copyright blabla</div>
             </div>
    </body>
    </html>
    Dann habe ich noch eine Frage bzgl.
    HTML-Code:
    <html xmlns="http://www.w3.org/1999/xhtml">
    Und zwar verstehe ich nicht so richtig was es mit diesem xmlns="..." auf sich hat, der Validator hat mir das so vorgeschlagen und ich habe mir das alles durchgelesen was da stand aber den Sinn doch nicht verstanden, kann jemand das einfach erläutern?

    Geändert von rgb (12.04.2012 um 22:28 Uhr)

  8. #288
    Ich weiß gar nicht, wo man da am Besten anfangen kann, da dort doch recht viele Fehler drinnen sind.
    Ich hab mal auf die Schnelle die Webseite nachgebastelt. Das liegt im Anhang als Zip-Datei.

    Transparenz ist noch so ne Sache. Da kann man lieber auf einen alten Trick zurückgreifen:
    Man nehme eine .png Datei, die 1x1 Pixel groß ist, mit einem Alpha-Kanal und benutzt dieses als Hintergrund.

    Diese ganze z-index Geschichte braucht man auch nicht und band1, band2, ... kann man auch zusammenfassen.

    (Muss aber zugeben, dass meine Kenntnisse ein wenig eingerostet sind, da ich kein Bock mehr auf diesen Mist Webentwicklung habe)

    xmlns heißt "XML Namespace". Um das zu verstehen, muss man wissen, dass HTML auf XML basiert. Der Namespace wird verwendet, um das Vokabular eindeutig zu identifizieren.
    Alle Elemente zwischen den Element-Paar <html> gehören in deinem Fall zum Namensraum "xhtml". Namensräume werden aber erst wichtig, wenn man mehrere XML-Sprachen mischen möchte. Es gibt ja mehr Sprachen, als nur HTML, die auf XML basieren. Ein Problem, was nämlich auftauchen kann, wenn man zwei Sprachen mischen möchte, die teilweise die selben Elementnamen besitzen. Ein Parser hätte Probleme, die Elemente richtig der Sprache zuzuordnen.
    Mit diesem Namespace-Mechanismus hätte man nun die Möglichkeit, die Sprachen von einander zu trennen.
    Angehängte Dateien

    Geändert von Whiz-zarD (13.04.2012 um 20:30 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •