Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mehrsprachige Webseite mit Session

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #46
    Zitat von nikosch Beitrag anzeigen
    Die Seitenstruktur ist aber wieder eine andere Baustelle. Stell Dir vor, DU hast zwei Links, die beide auf die selbe Seite verweisen. Das kannst Du in der Sprachdatei gar nicht abbilden.

    Mh. macht doch aber jede opensourse software so!? Wie Oxid-Shop. Aber mir gehts halt mehr darum wie ich das aufrufe.

    das ich halt sage das der text der Startseite auch wirklich dort angezeigt wird in der jeweiligen sprache.

    3. punkt ist auch ne frage der url /de/ueber-uns/ und /en/ueber-uns/ oder /de/ueber-uns/ und /en/about-us/

    Zitat von mquadrat Beitrag anzeigen
    Die Frage ist dann nur wie du ihn ausliest und anzeigst.
    das meinte ich ja damit

    Kommentar


    • #47
      Zitat von 22hase Beitrag anzeigen
      Mh. macht doch aber jede opensourse software so!? Wie Oxid-Shop. Aber mir gehts halt mehr darum wie ich das aufrufe.

      das ich halt sage das der text der Startseite auch wirklich dort angezeigt wird in der jeweiligen sprache.

      3. punkt ist auch ne frage der url /de/ueber-uns/ und /en/ueber-uns/ oder /de/ueber-uns/ und /en/about-us/



      das meinte ich ja damit
      HTTP_ACCEPT_LANGUAGE aus der SERVER-Global kannst du auch nutzen, oder einen cookie, oder eine session-variable, oder "lang"-tags, oder apache-decide-by-content-language

      möglichkeiten gibs da genug
      [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

      Kommentar


      • #48
        Also damit man noch durch sieht, geht mir erstmal darum wie ich es am besten mache das ich sage

        DIESER TEXT soll nur auf der STARTSEITE usw.

        ich würd ja einfach in der DB noch ein feld machen "pageArt" ('index',about','usw.')

        Und um den indextext auszulesen einfach in der index.php

        PHP-Code:
        SELECT .. .. .. FROM table WHER langID AND pageArt 'index' 

        Kommentar


        • #49
          pageArt ? seitenkunst ?

          - PageType
          - SeitenArt

          Ich wär da lieber für
          Code:
          table mytables_content:
          - ID ( integer(20) )
          - title ( varchar(200) )
          - contents ( text )
          - template-file ( varchar(100) )
          - language ( ENUM ( 'de', 'en', ... ) )
          - {... statistische spalten wie "hits" ...}
          Code:
          table mytables_structure:
          - ID ( integer(20) )
          - key ( varchar(200) )
          - link_caption ( varchar(200) )
          - show ( int(1) )
          - order_value ( int(3) )
          - parent_id( int(20) )
          - page_id( int(20) )
          Betritt einer die seite von dir bestimmst du durch $_GET["site"] oder sonstwas, wohin es geht. ist der wert leer weist du ihm einen standard zu "siteindex". ( dieser standardwert sollte auch in der ganzen anwendung nicht als key für die navigation vergeben werden können ), wirft jemand ein 'site=blub' gegen das script, fragst du die navigation was "key=blub" wäre, und gibst anhand der page_id, die entsprechende page aus dem page-table mit der 'ID=page_id' an den browser aus ( dank den Einträgen template-file ist auch definiert wie ).

          Die Navigation kann sogar noch angepasst werden, anhand order_value kann die sortierung beeinflusst werden, link-caption kannst du für die seitennavigation verwenden, statt den "Langen Titel" aus dem content-table.

          Ich befürchte bei dir mangelt es bis dato etwas an Überblick. Aber korrigier mich wenn ich falsch liege.
          [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

          Kommentar


          • #50
            naja nicht überblick, tu mich nur immer bissl schwer mit den Überlegungen, weißt.

            ich geh davon aus das ich folgende datein habe

            index.php
            agb.php
            impressum.php
            kontakt.php
            unterseite_1.php
            usw..

            und den inhalt der seiten je nach sprache ausgebe.

            Kommentar


            • #51
              Wieso benuzt Du einzelne PHP-Seiten, statt eine zentrale, die ein System zur Inhaltsverwaltung bereitstellt? Gerade wenn die Inhalte datenbankseitig liegen, brauchst Du Scripte eigentlich nur nur für Spezialseiten wie Formularverarbeitung.
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #52
                mh ja. aber ich hasse es wenn alles auf einer seite ist, da der php code mir zu unübersichtlich wird.

                und wenn ich die seiten mit www. domain . de/index.php?page=index aufrufe ist mir das zu unsicher (sprich sql injection)

                Kommentar


                • #53
                  index.php?page=index
                  index.php?page=agb
                  index.php?page=kontakt
                  index.php?page=untersteite3

                  PHP-Code:
                  select $_GET['page'] ) {
                   case 
                  "page": echo "page seite"; break;
                   case 
                  "agb": echo "agb's are evil!"; break;

                  [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                  Kommentar


                  • #54
                    Zitat von tr0y Beitrag anzeigen
                    index.php?page=index
                    index.php?page=agb
                    index.php?page=kontakt
                    index.php?page=untersteite3

                    PHP-Code:
                    select $_GET['page'] ) {
                     case 
                    "page": echo "page seite"; break;
                     case 
                    "agb": echo "agb's are evil!"; break;


                    mh ist dennoch das problem wenn der seiten betreiber was ändern willl er nicht durrch sieht, ist ein älterer herr...

                    und ob ich nun alles in eine datei mache oder oder für agb, index, kontakt eine anlege dürfte ja vom speicherplatz nicht viel unterschied machen oder?

                    Kommentar


                    • #55
                      Und unübersichtlich wird es erst wenn du in der index.php auch direkt alles verarbeiten willst. Optimalerweise startest du dort nur deine Anwendung oder verteilst die Anfrage z.B. je nach page-Parameter auf verschiedene Controller.

                      Und wenn dir das zu hoch erscheint, ein ganz trivialer Anfang: [MAN]include[/MAN]
                      [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
                      [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

                      Kommentar


                      • #56
                        Zitat von 22hase Beitrag anzeigen
                        wenn der seiten betreiber was ändern willl er nicht durrch sieht, ist ein älterer herr...
                        Dann lass ihn nicht an den PHP-Code. Oder was sollte er ändern wollen?
                        [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
                        [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

                        Kommentar


                        • #57
                          und ob ich nun alles in eine datei mache oder oder für agb, index, kontakt eine anlege dürfte ja vom speicherplatz nicht viel unterschied machen oder?
                          Nein, das ist auch nicht die Argumentation. Sondern, dass eine zentrale Inhaltsverwaltung eine zentrale Stelle bietet, die Funktionalität anzupassen, nicht dazu verführt, Inhalte in den Inhaltsseiten auszulagern etc.
                          [COLOR="#F5F5FF"]--[/COLOR]
                          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                          [COLOR="#F5F5FF"]
                          --[/COLOR]

                          Kommentar


                          • #58
                            mh er hat es jetzt so

                            htdocs
                            -> inde.php
                            ->agb.php
                            usw..
                            -> en
                            -> en / index.php
                            ->en / agb.php

                            usw...

                            und immer an die 20 datein...

                            deswegen sagte ich ja weiter oben (was mir jedoch nicht sicher genug erscheint)

                            die tabelle

                            id | pageArt | titel | inhalt | langid

                            1 | index | ...
                            2 | agb |

                            und dies dann in der index.php zum beispiel so

                            PHP-Code:
                            Select ... FROM table WHERE langID $_GET['lang'] AND pageArt '$_GET['page']' 
                            (natürlich die GET-Paramenter noch in mysql_real_escape_string setzten)

                            bei der variante hab ich ja auch alles in einer datei.

                            Kommentar


                            • #59
                              Zitat von 22hase Beitrag anzeigen
                              mh ist dennoch das problem wenn der seiten betreiber was ändern willl er nicht durrch sieht, ist ein älterer herr...

                              und ob ich nun alles in eine datei mache oder oder für agb, index, kontakt eine anlege dürfte ja vom speicherplatz nicht viel unterschied machen oder?
                              Das war prinzipiell als Beispiel.

                              PHP-Code:
                              include("myapp.php");

                              AppControl::getInstance()->Page = new Page($_GET["page"]);
                              AppControl::getInstance()->Page->DisplayPage(); 
                              PHP-Code:
                              # auszug aus der myapp.php
                              require_once("smarty/Smarty.class.php");

                              class 
                              Page extends Smarty {
                               private 
                              $pagedata;

                               public function 
                              __construct($what$lang=false) {
                                if ( 
                              $lang === false AppControl::getInstance()->getBrowserLanguage();
                                
                              $this->pageData AppControl::getInstance()->DB->getPageDataByLanguage($what,$lang);
                               }

                               public function 
                              DisplayPage() {
                                
                              $this->Assign("content"$this->pagedata['content']);
                                
                              $this->Assign("title"$this->pagedata['title']);
                                
                              $this->Assign("menu"AppControl::getInstance()->DB->LoadMenuAsArray($this->pagedata['key']));
                                
                              $this->Display($this->pagedata['template-file']);
                               }

                              Bastel da noch nen Backend mit userverwaltung dran und bau das was ich hier nich gepostet hab ( die Datenbankklasse und die AppControl-Klasse :P ), und du hast eine einfach zu erweiterende php anwendung ( klassen basiert ).

                              Du kannst sogar wenn du lust hast jede einzelne page in andere php files auslagern.

                              PHP-Code:
                              # agbs.php
                              AppControl::getInstance()->Page = new Page("agb");
                              AppControl::getInstance()->Page->DisplayPage(); 
                              <( hat das blind getippselt, keine garantie )
                              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                              Kommentar


                              • #60
                                Erstmal danke für deine mühe

                                aber geht meine art auch. ok man muss gucken das man das sicher macht, könnte aber jedoch ein array anlegen wo die "pageArten" drin stehen und nur diese zulassen, alles andere wird auf ne standart oder fehlerseite weitergeleitet.

                                EDIT: Userverwaltung brauch ich nicht, nur adminbereich wo der betreiber rankann, aber das ist das wenigere Übel.

                                Kommentar

                                Lädt...
                                X