Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Neue Datei includen, aber wie?

    karl

    • Schreiberling
    • Beiträge: 439
    Neue Datei includen, aber wie?
    am: 06. Januar 2012, 08:20:56
    Hallo,
    mal am Beispiel von der "/admin/orders.php".

    Würde gern, da ich gerade komplett umbaue - für alle :!: - sowas wie eine zentrale Datei/File schaffen, um für spätere Änderungen nur eine Datei zu haben.

    Hinter dem:

    Code: PHP  [Auswählen]
    <?php if (($action == 'edit') && ($order_exists)) {?>

    würde ich gern ein file einbinden.
    Hatte schon versucht eine Datei mit dem Namen: "kopfzeile.php" im Ordner "/admin/" per "include" einzubinden. Funktionierte auch fast, nur der "case select" in der "kopfzeile.php" wurde nicht ausgeführt. Per "DIR_WS" kamen nur Fehler, reicht wohl nicht einfach per

    Code: PHP  [Auswählen]
    <?php require(DIR_WS_INCLUDES . 'kopfzeile.php'); ?>

    einzubinden.

    Die Datei "kopfzeile.php" ist neu. Diese möchte ich ein vielen Stellen einbinden. In dieser Datei soll per

    Code: PHP  [Auswählen]
    switch ($_GET['action']) {
       Anweisung = 001 ???
       Anweisung = 001 ???
       
    case '001':
     echo 'Ausgabe 1';

         break;
         

         
    case '002':
     echo 'Ausgabe 1';


         break;
      }

    jeweils die richtige Ausgabe in den verschiedenen Dateien geschehen.

    Anhand folgendem Beispiel benötige ich die richtige Syntax, damit ich einen Ansatz habe für die Programmierung.

    Wenn nun z.B. in einer Datei (wie der "orders.php") folgendes steht:

    Code: PHP  [Auswählen]
    <?php if (($action == 'edit') && ($order_exists)) {?>

    muß ja in diesen Befehl etwas eingebaut werden, damit aus dem action == edit  >> mein "case 001" wird.

    Und in meiner Datei ("kopfzeile.php") muß ein Code rein, der die Zuweisung für den "case 001" gibt.
    Wenn ich das richtig sehe.

    Das Gleiche benötige ich ebenfalls in der "orders.php" hinter:

    Code: PHP  [Auswählen]
    }
    elseif ($action == 'custom_action') {

      include ('orders_actions.php');

    } else {

    Das durch das "else" mein "case 002" ausgewählt wird.

    Den "action == custom_action" verstehe ich nicht weil "orders_action.php" eine leere Datei ist!

    Wer kann mir da einen Ansatz geben.
    So ganz allein und nur mit den PHP-Erklärungen schaffe ich das nicht.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=17695.0

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Re: Neue Datei includen, aber wie?
    Antwort #1 am: 06. Januar 2012, 09:10:15
    Warum so kompliziert ?

    Mach deine Änderungen doch in der "application_top.php".

    Die heisst schon fast wie deine Datei und wird in fast jeder eingebunden, ausser wenn die Datei selbst nur includiert wird, dann nicht, aber dann stehen die Anweisungen auch hier durch Vererbung zur Verfügung.

    Gruss Gerhard

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Neue Datei includen, aber wie?
    Antwort #2 am: 06. Januar 2012, 15:25:48
    [...]
    muß ja in diesen Befehl etwas eingebaut werden, damit aus dem action == edit  >> mein "case 001" wird.
    [...]

    Ich werde ja den Eindruck nicht los, hier erzählt ein Blinder von der Farbe. Ein Großumbau des xt:C-Admins erscheint mir nicht das richtige Projekt für einen blutigen Einsteiger in die (php)-Programmierung zu sein.

    karl

    • Schreiberling
    • Beiträge: 439
    Re: Neue Datei includen, aber wie?
    Antwort #3 am: 08. Januar 2012, 04:30:11
    Und ich habe so den Verdacht, dass das PHP-Wissen eine Geheimwissenschaft ist und nur ungern verraten wird. Nach dem Motto: Das war so schwer und umfangreich zu lernen, das gebe ich ungern mal so weiter.

    Ich will ja auch keine Coder werden (Gott bewahre) aber bei so kleinen Umbauten einmal unter die Arme greifen, statt irgendwelcher unsinnigen Kommentare (grenzt ja an Sarkasmus) das wäre hilfreich. Im Endeffekt ist der Umbau zu 90% eine Designfrage und kein coden! Aber wenn man sich schon mal alle Dateien vornimmt, dann kann man ja die eine oder andere Verbesserung bzw. Vereinfachung (für die Zukunft) mit einbauen, oder nicht?

    Wäre also nett wenn mir jemand die Frage beantworten könnte, für einen Profi wohl eher eine Kleinigkeit, denke ich.

    Und zum anderen kann das dann von modified eCommerce Shopsoftware so übernommen werden, wenn es gefällt und funktioniert. Ich mache hier quasi eine Arbeit die schon längst überfällig ist und die dem Backend einen modernen Style verleihen wird. Trägt ja auch zum Erfolg der Geschichte bei.

    web4design

    • Experte
    • Beiträge: 1.122
    Re: Neue Datei includen, aber wie?
    Antwort #4 am: 08. Januar 2012, 09:03:37
    @karl
    Das du eine Arbeit machst die überfällig ist mag wohl stimmen, aber durch eine neue Optik und mit noch schlechteren Code wird es auch nicht besser. Sonst hast du doch das typische Bild von "Außen hui, innen pfui".

    Ich wage zu bezweifeln, dass das was du da erstellts Einzug in das Modified-Grundsystem findet wenn du einfache PHP Geschichten schon nicht hin bekommst.

    Gruß

    karl

    • Schreiberling
    • Beiträge: 439
    Re: Neue Datei includen, aber wie?
    Antwort #5 am: 08. Januar 2012, 09:30:29
    Das wird sich zeigen wenn es fertig ist. Aber wie schon oben erwähnt, mit drumrum posten und versuchen es einem auszureden, seit Ihr bei mir an der falschen Stelle. Das wird jetzt fertig gemacht. Und glaub mal nicht dran, dass der Code schlechter wird.

    Da ich ja hier als Einzelkämpfer unterwegs bin, antworte ich mir selbst und denen die nach mir diese Frage haben.

    Also jetzt kommt da absolut nicht postbare Geheimwissen, wahrscheinlich php-Lehrgang Stunde 1. :lol1:

    In der "orders.php" aus dem:

    Code: PHP  [Auswählen]
    <?php if (($action == 'edit') && ($order_exists)) {

    ?>

    das machen:

    Code: PHP  [Auswählen]
    <?php if (($action == 'edit') && ($order_exists)) {

         $weiche = 0;
         require (DIR_WS_CLASSES.'bed_kopfzeile.php');
         

    ?>

    Die Variable weiche wird mit der Zahl 0 gefüllt, in folge bei den anderen Einbindungen wird dann einfach hoch gezählt. Quasi wird hier händisch eine variable, nach Lust und Laune gefüllt.

    In der neu erstellten Datei "bed_kopfzeile.php" (gespeichert in der "/admin/includes/classes/") die in der "application_top.php" nicht mit "require" eingebunden werden muß, da der Aufruf ja bereits u.a. in der "orders.php" stattfindet, steht dann folgender Code (habe ich um das wichtigste gekürzt):

    Code: PHP  [Auswählen]
    switch ($weiche) {
       
       case '0':
     ?>  
         HTML-Text 1 mit allem Schnick-Schnack
    <?php

         break;
         
       case '1':
    ?>
          HTML-Text 2 mit allem Schnick-Schnack
    <?php
       
         break;
      }

    Man kann und das habe ich nach ziemlich langer Zeit rausgefunden, einen kompletten HTML-Code inkl. PHP-Code ausgeben, wenn man das so angibt. Nach dem "case" das schliessende "?>" und hinter dem auszugebenden Text wieder ein öffnendes "<?php" angeben. Mit "echo"- oder "print"-Befehlen kommen nur Fehler!

    Und somit werden nun alle Kopfzeilen ausgelagert um bei späteren Änderungen mit einer zentralen Datei zu ändern bzw. einzufügen. Falls man hier und da noch irgendwelche Gimmicks einbauen will.

    Und das ist jetzt ein schlechter Code? Und eine schlechte Idee?

    Und zum Thema Anfänger! => Früher hatte ich in der Schwerindustrie Anlagen per SPS programmiert. Das ist was ganz anderes und wenn man da Fehler gemacht hätte wäre es direkte Millionenschäden. Nur leider habe ich mit PHP die gleichen Probleme wie damals mit den Microcontrollern. Ist nicht ganz meine Welt aber ich lerne nun jeden Tag dazu. Und das ohne Schulung!

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: Neue Datei includen, aber wie?
    Antwort #6 am: 08. Januar 2012, 09:38:44
    Hallo karl,

    ja das ist schlechter Code, denn nach Möglichkeit trennt man HTML von PHP.

    Außerdem müsste spätestens bei dem Code ein Fehler kommen:

    Code: PHP  [Auswählen]
        <?php if (($action == 'edit') && ($order_exists)) {
         
             $weiche = 0;
             require (DIR_WS_CLASSES.'bed_kopfzeile.php');
             
         
        ?>

    denn dort fehlt die schließende Klammer am Ende.

    Und zu dem Thema: "Wir verheimlichen was..."
    Wenn das so wäre und wir hier alles verheimlichen würden, wäre dieses Forum wohl eher schlechter besucht!

    Ich würde mich erstmal mit den Grundkenntnissen auseinandersetzen denn die Weisheit das man HTML und PHP kombinieren könnte ist absolutes Grundwissen und können wir Dir schon alleine wegen des Umfangs hier im Forum nicht vermitteln.

    Das gleiche gilt auch für SPS Programmierung (ja habe ich auch schon durch) ;) ... Grundkenntnisse sollte man erstmal haben bevor man sich an Großprojekte setzt.
    Um es mal mit SPS Worten zu erklären. Du schreibst gerade in einem SPS Forum: "Ich habe gerade rausgefunden das ich mit einem AND 2 Eingänge hintereinander abfragen kann um dann einen Ausgang zu schalten!" (Ich weiß ist bei jedem Hersteller anders) ;)

    Wie gesagt das ist kein Ausreden von Dingen sondern nur die Aufforderung vorher mal das Grundwissen zu studieren und hier auch im Forum rum zu schmökern! :)

    Viele Grüße

    Franky

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: Neue Datei includen, aber wie?
    Antwort #7 am: 08. Januar 2012, 09:58:44
    Hallo karl,

    ach ja zu Deiner Frage:
    Das kannst Du in der "/includes/application_top.php" schon denn diese Datei wird immer schon von vorne herein geladen.
    Dort kannst Du dann auch Deine PHP Codes unterbringen oder auch eine zusätzliche Datei per "include"... obwohl das nur doppelt gemoppelt wäre.
    Übrigens hat das Gerhard schon oben im 2ten Post erwähnt...

    Viele Grüße

    Franky

    karl

    • Schreiberling
    • Beiträge: 439
    Re: Neue Datei includen, aber wie?
    Antwort #8 am: 08. Januar 2012, 10:15:27
    Hallo Franky,
    das ist aber so original drin gewesen: Da kommt kein Fehler!

    Code: PHP  [Auswählen]
    <?php if (($action == 'edit') && ($order_exists)) {
         
                 ?>

    warum sollte man hier dann ein Klammer einbauen? Voll überflüssig, oder?

    Code: PHP  [Auswählen]
    <?php if (($action == 'edit') && ($order_exists)) {
         
             $weiche = 0;
             require (DIR_WS_CLASSES.'bed_kopfzeile.php');
             
         
        ?>

    Verstehe ich jetzt auch überhaupt nicht!!!! :crazy:

    HTML von PHP trennen!!!! Bei modified eCommerce Shopsoftware !!! Wann fangt Ihr denn damit an?
    Das gesamte ist doch ein Mix aus beiden, warum sollte ICH :hust: jetzt damit anfangen?

    Funzt doch alles prima.

    Außerdem habe ich bereits die tableBlock und Box eliminiert! Da gibt es jetzt zwei neue, die wunderschöne div-Layer erzeugen! :-D und  den Ausgabecode verkleinern.
    Dachte wenn ich alle Dateien schon durchgehen muß dann sollte auch ein bisschen mehr bei rumkommen.

    Die ich bisher fertig gemacht habe funktionieren alle wunderprächtig. Null Problemo. Wird ja auch erst abgelegt wenn es funzt.

    web4design

    • Experte
    • Beiträge: 1.122
    Re: Neue Datei includen, aber wie?
    Antwort #9 am: 08. Januar 2012, 10:17:57
    [...]
    HTML von PHP trennen!!!! Bei modified eCommerce Shopsoftware !!! Wann fangt Ihr denn damit an?
    Das gesamte ist doch ein Mix aus beiden, warum sollte ICH :hust: jetzt damit anfangen?
    [...]

    Na weil du es doch "komplett" überarbeitest. Wenn schon dann richtig ansonsten bleibt das ja ewig so. ;-)

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Re: Neue Datei includen, aber wie?
    Antwort #10 am: 08. Januar 2012, 10:34:33
    Nimm dir einfach mal einen alten xt:Commerce vor und vergleiche mal, da wirst du staunen was wir hier schon alles getrennt haben.

    Das Backend ist hier in der Tat etwas zu kurz gekommen, aber dafür ist eine Arbeitsgruppe geplant wie wir es bereits erfolgreich für die UTF-8 Version gemacht haben.

    Also gedulde dich einfach ein wenig, dann wird das von Profis gemacht.

    Gruss Gerhard

    PS: Hier will dich niemand einbremsen, aber wenn Du nach Grundkenntnisse fragst, wie man eine Datei einbindet, dann müssen wir hier den Rat geben:

    Lass die Finger davon.

    Bei PHP Grundfragen wendest du dich besser an ein PHP Forum.

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: Neue Datei includen, aber wie?
    Antwort #11 am: 08. Januar 2012, 11:26:45
    Hallo karl,

    [...]
    Das gesamte ist doch ein Mix aus beiden, warum sollte ICH :hust: jetzt damit anfangen?
    [...]

    Ganz einfach weil es bereits im Frontend integriert ist und im Backend in Planung.
    Wenn Du das alles sowieso neu machst und schon alles kannst, dann wohl richtig oder?
    Ist doch Dein Anspruch!
    Und übrigens ist das auch eine Empfehlung von mir gewesen die Du dann ja eigentlich haben willst (zumindest sagtest Du ja das Du hier was lernen willst) aber nicht hören möchtest!
    Ein bisschen Kindergarten wie ich finde... ;)

    Wie Gerhard schon sagte haben wir für das Backend bereits eine Arbeitsgruppe und diese macht auch schon...
    Wichtig war uns bis dato erstmal das Frontend soweit wie möglich fehlerfrei, sauber und sicher zu bekommen. Danach das Backend...
    Schau Dir lieber erstmal der Trunk an bevor Du über anderer Leute Arbeit urteilst! Du hast nämlich nur die 1.05 gesehen...

    [...]
    Verstehe ich jetzt auch überhaupt nicht!!!! :crazy:
    [...]

    Kann ich nachvollziehen das Du es noch nicht verstehst!  :crazy:

    Viele Grüße

    Franky

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Neue Datei includen, aber wie?
    Antwort #12 am: 08. Januar 2012, 13:02:08
    [...]
    Also jetzt kommt da absolut nicht postbare Geheimwissen, wahrscheinlich php-Lehrgang Stunde 1. :lol1:
    [...]

    Das ist hier aber kein PHP-Lehrgang. Also spar dir deine Spitzen, lies dir meine anderen ~1400 Beiträge durch und entscheide dann, ob ich irgendwas verheimliche.

    Du verträgst einfach die Wahrheit nicht und bist beratungsresistent.

    Und ja, der Code wird schlechter, das sehe ich schon deinen wenigen Beispielen an.

    *PLONK*

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: Neue Datei includen, aber wie?
    Antwort #13 am: 08. Januar 2012, 13:05:22
    [...]
    HTML von PHP trennen!!!! Bei modified eCommerce Shopsoftware !!! Wann fangt Ihr denn damit an?
    Das gesamte ist doch ein Mix aus beiden, warum sollte ICH :hust: jetzt damit anfangen?
    [...]

    Nimm dir einfach mal einen alten xt:Commerce vor und vergleiche mal, da wirst du staunen was wir hier schon alles getrennt haben.
    [...]

    Oh man... auf sowas kann ich ja immer richtig gut! :ironie:

    Damit reicht es mir dann hier auch langsam mal.

    :close:

    Grüße

    Torsten
    0 Antworten
    1445 Aufrufe
    06. November 2010, 17:36:45 von rattenfänger
    3 Antworten
    3903 Aufrufe
    13. Oktober 2013, 14:28:12 von 3rdlife
    2 Antworten
    2274 Aufrufe
    26. August 2011, 20:38:32 von NMWorkwear
    17 Antworten
    9369 Aufrufe
    17. März 2010, 08:26:11 von Tomcraft