Ankündigung

Einklappen
Keine Ankündigung bisher.

Multi Language PHP/SQL

Einklappen

Neue Werbung 2019

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

  • Multi Language PHP/SQL

    Hallo,

    Ich möchte mir ein eigenes kleines CMS basteln...
    Ich habe aktuell ein paar Probleme denn ich möchte:

    1.) mehrere Sprachen anbieten (aktuell nur Englisch und Deutsch, es sollen aber noch mehr werden also brauche ich eine möglichkeit das zu erweitern)

    2.) Bis dato habe ich meine Navi immer so gebaut:
    PHP-Code:
    <div id="nav">
          <div class="container">
            <div class="navbar navbar_ clearfix">
              <div class="navbar-inner">
                <div class="clearfix">
                  <!-- Logo -->
                  <a href="startseite"><img src="images/logo.png" alt="" title=""></a><span></span>

                  <!-- Naviation -->
                  <div class="nav-collapse nav-collapse_ collapse">
                    <ul class="nav sf-menu clearfix">
                      <li class="sub-menu"><a href="#">#</a>
                        <ul>
                          <li><a href="#">#</a></li>
                          <li><a href="#">#</a></li>
                          <li><a href="#">#</a></li>
                          <li><a href="#">#</a></li>
                        </ul>
                      </li>
                            

     <?php
                
    if(isset($_SESSION['Rechte']) OR in_array('Adminbereich'$_SESSION['Rechte']) OR $_GET['adminmenu'] == "true")
                { 
                 echo 
    "<li><a href='admin-index'>Admin</a>";
                 echo 
    "<ul>";
                 echo 
    "<li><a href='artikel'>Artikel</a></li>";
                 echo 
    "<li><a href='news_edit'>Blog edit</a></li>";         
    //           echo "<li><a href='admin-blog-news'>Blog & News</a></li>";
                 
    echo "<li><a href='logout'>Abmelden</a></li>";
                 echo 
    "</ul></li>";

               }
     
    ?> 


                           </div>
                </div>
              </div>
            </div>
          </div>
        </div>
    und das ganze per include geladen. Das ganze soll nun aber in die Datenbank.

    3.) habe ich bis jetzt eigentlich jede datei einzel erstellt meine index.php sieht so aus:
    PHP-Code:
    <?php
           header
    ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
        
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 



        
    if ($_GET['seite']=="" OR  $_GET['seite']=="index") {$title="#"$descr="#"$keywords="#";}
        
        if (
    $_GET['seite']=="#") {$title="#"$descr="#"$keywords="#";}



        
    $tsmeta filemtime(__FILE__);
        
    $tsmeta date("Y-m-d"$tsmeta); 
            
    session_start();

        echo 
    "<!DOCTYPE html>\n";
          echo 
    "<html lang=\"de\">\n";
        echo 
    "<head>\n";
        echo 
    "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n";
        echo 
    "<title>$title</title>\n";
        echo 
    "<meta name=\"description\" content=\"$descr\"/>\n";
        echo 
    "<meta name=\"keywords\" content=\"$keywords\"/>\n";
        echo 
    "<meta name=\"robots\" content=\"index,all, follow\"/>\n";
        echo 
    "<meta name=\"revisit-after\" content=\"1 days\"/>\n";
        echo 
    "<meta name=\"geo.region\" content=\"DE-BE\" />\n";
        echo 
    "<meta name=\"geo.placename\" content=\"#\" />\n";
        echo 
    "<meta name=\"geo.position\" content=\"#\" />\n";
        echo 
    "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\" />\n";
        echo 
    "<meta property=\"og:title\" content=\"$title\"/>\n";
        echo 
    "<meta property=\"og:site_name\" content=\"#\"/>\n";
        echo 
    "<meta property=\"og:description\" content=\"$descr\"/>\n";
        echo 
    "<meta property=\"og:image\" content=\"#\"/>\n";
        echo 
    "<meta property=\"og:url\" content=\"#"/>\n";
        echo "
    <meta property=\"og:type\" content=\"company\"/>\n";
        echo 
    "<meta property=\"article:publisher\" content=\"#\"/>\n";
        echo 
    "<meta name=\"twitter:card\" content=\"summary\"/>\n";
        echo 
    "<meta name=\"twitter:site\" content=\"#"/>\n";
        echo "
    <meta name=\"twitter:url\" content=\"#"/>\n";
        echo "
    <meta name=\"twitter:title\" content=\"$title\"/>\n";
        echo 
    "<meta name=\"twitter:description\" content=\"$descr\"/>\n";
        echo 
    "<meta name=\"twitter:image\" content=\"#"/>\n";
         echo "
    <link rel=\"next\" title=\"#" href=\"#" />\n";
        echo "
    <link rel=\"author\" href=\"#" />\n";
        echo "
    <link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"favicon.ico\" />\n";
        echo 
    "<link rel=\"apple-touch-icon\" href=\"apple-touch-icon.png\" />\n";

        include(
    "config.php");

    ?>


    <link rel="stylesheet" href="css/style.css" type="text/css" media="screen">


    <!--[if lt IE 8]>
                <div style='text-align:center'><a href="http://www.microsoft.com/windows/internet-explorer/default.aspx?ocid=ie6_countdown_bannercode"><img src="http://www.theie6countdown.com/img/upgrade.jpg"border="0"alt=""/></a></div>  
           <![endif]-->
    <!--[if lt IE 9]>
          <link rel="stylesheet" href="css/docs.css" type="text/css" media="screen">
          <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen">
          <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
    </head>
    <body>
    <div class="main">
      <div class="div-content">
        <!--==============================header=================================-->
    <?php 
        
    include ("include/header.php"); 
        include (
    "include/navi.php"); 

                    
    $inc_array = array();
                    
    $inc_dir=opendir ("./include");
                    while (
    $inc readdir($inc_dir)){
                    if(
    $inc != "." && $inc != ".."){
                    
    $short_inc str_replace(".inc.php"""$inc);
                    
    array_push ($inc_array$short_inc);
                    }
                    }
                    
    closedir($inc_dir);
                    
    $show strip_tags($_GET['seite']);
                    if (isset(
    $_GET['seite']) && in_array($_GET['seite'], $inc_array)){
                    include(
    "./include/".$show.".inc.php");
                        }else{
                    include(
    "./include/index.inc.php"); 

                    } 
        include (
    "include/footer.php"); 
    ?>

      </body>
    </html>
    ich möchte das ganze also dynamischer machen. Vorallem auch die Meta angaben nicht so "schlecht" in die index packen sondern eben in die Datenbank.

    Hat mir jemand für die Vorhaben eine gute Anleitung und ein script in dem das sehr gut erkennbar ist und ich es mir so abschauen kann (so das ich auch verstehe was da gemacht wurde) Gerne bin ich auch Bereit etwas Geld dafür auszugeben.

  • #2
    1) DB gesteuert: 1. Tabelle für Sprachen die du anbietest, 2. Tabelle für den Inhalt/Texte (language_id, short, text). In der 1. Tabelle kannst du dann Sprachen Aktivieren/Deaktivieren, so weißt der Benutzer, welche Sprache du anbietest und welche nicht (die vllt erst in Bearbeitung sind)

    2) Was soll in die DB? Die URL's? Die PHP Datei? Warum DB? Schreib eine static Klasse namens Layout und eine Funktion loadNav. Mit der Funktion includes du dann.
    PS: Schau dir __autoload an.

    3. MVC anschauen

    Kommentar


    • #3
      da fällt mir ganz sponta i18n ein... einfach mal googlen, da liegt die Lösung für dein Problem
      Gelber Schnee ist kein Zitroneneis!

      Kommentar


      • #4
        super das sind doch schonmal ein paar Stichpunkte die ich abarbeiten kann.
        Vielen Dank

        Kommentar


        • #5
          Suche hier mal ein bisschen, das kommt Thema kommt immer wieder mal daher:

          https://www.google.at/#safe=off&q=si...ti+language%22

          LG
          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Zitat von Condor93 Beitrag anzeigen
            Schreib eine static Klasse namens Layout und eine Funktion loadNav. Mit der Funktion includes du dann.
            Lasst uns die Welt etwas statischer gestalten
            [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

            Kommentar


            • #7
              Gibt es jemand der mir eine HTML Vorlage mit meinen oben genannten Wünsche so anpassen kann?
              Wenn ja bitte privat melden (mit Preisvorstellung)

              Kommentar


              • #8
                http://www.php.de/scriptboerse/
                Solltest deine Wünsche mal ein bisschen präziser definieren. "Soll nun aber in die Datenbank"..
                [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


                • #9
                  Zitat von VPh Beitrag anzeigen
                  http://www.php.de/scriptboerse/
                  Solltest deine Wünsche mal ein bisschen präziser definieren. "Soll nun aber in die Datenbank"..
                  naja ich möchte das ich im Admin Bereich neue Seiten / Unterseiten einstellen kann und diese dann in der Navi erscheinen (bis dato muß ich immer in die PHP Datei)

                  Kommentar


                  • #10
                    so nebenbei, wundert sich niemand über das farbmuster des orginal posts?
                    PHP-Code:
                     echo "<meta name="twitter:url\" content=\"#"/>n"; 
                    beispielsweise?

                    Kommentar


                    • #11
                      Zitat von frage007 Beitrag anzeigen
                      naja ich möchte das ich im Admin Bereich neue Seiten / Unterseiten einstellen kann und diese dann in der Navi erscheinen (bis dato muß ich immer in die PHP Datei)
                      Dazu sollte man die Grundlagen von PHP/MySQL schon etwas beherschen. Denn sowas ist kein bisschen schwer. Kleiner Tipp dazu noch: Rekursive Funktionen anwenden.

                      Kommentar


                      • #12
                        Zitat von Condor93 Beitrag anzeigen
                        Dazu sollte man die Grundlagen von PHP/MySQL schon etwas beherschen. Denn sowas ist kein bisschen schwer. Kleiner Tipp dazu noch: Rekursive Funktionen anwenden.
                        Glaub das "Lernen" hat sich für ihn schon erledigt: http://www.php.de/gewerblich/111180-...tml#post817656
                        The string "()()" is not palindrom but the String "())(" is.

                        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                        PHP.de Wissenssammlung | Kein Support per PN

                        Kommentar

                        Lädt...
                        X