Verschachteltes PHP

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

  • Verschachteltes PHP

    Hallo,
    habe folgendes Problem:

    ich möchte den bestehenden Code:

    HTML-Code:
    <?php _e('Preis', 'theme_front'); ?> <small>(<?php _e('z.B.: zzgl. 19% MwSt.', 'theme_front'); ?>)</small></label> <input type="text" class="text" value="<?php echo esc_attr(nt_check($preis)); ?>" name="preis"  />
    in eine IF-ElLSE Abfrage integrieren:

    IF ($flag==1) { ---hier soll obiger Code reinkommen --- };
    ELSE { bla, bla, bla };

    Jedoch gibt dies nur Fehlermeldungen aus. Vermute wegen den im obigen Code vorhandenen Sonderzeichen ' und " bzw. < >

    Wie muss ich das ganze korrekt verschachteln bzw. formatieren, damit es funktioniert?

    Vielen Dank für Eure Hilfe!

  • #2
    Das dürfte eher daran liegen, dass du <?php einfach übernommen hast, obwohl du dich mit einem if natürlich bereits im PHP-Parser-Bereich befindest.

    Grundlagen: PHP: Escaping from HTML - Manual
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ok, verstehe. Muss dann also das Ganze ohne die "<? php"-Aufrufe einsetzen...

      Danke

      Kommentar


      • #4
        Hallo,

        Ganz so einfach wirds nicht.
        Ich empfehle Dir, Deine Ausgabe zuvor in einem String abzulegen und diesen an gegebener Stelle auszugeben.
        Alles andere ist viel zu viel gewurste und Hin- und Her-Gespringe für den Interpreter

        Kommentar


        • #5
          Wobei das an der Stelle Template-Code zu sein scheint. Da ist es nicht ungewöhnlich, ständig zu springen.

          Vielleicht wäre es daher auch sinnvoll, die alternative Syntax für Kontrollstrukturen zu nutzen:

          - PHP: Alternative syntax for control structures - Manual

          PHP-Code:
          <?php if () : ?>
              <?php _e('Preis''theme_front'); ?>
              <small>(<?php _e('z.B.: zzgl. 19% MwSt.''theme_front'); ?>)</small>
              </label>
              <input type="text" class="text" value="<?php echo esc_attr(nt_check($preis)); ?>" name="preis"  />
          <?php else : ?>
              ...
          <?php endif; ?>
          Ist letztlich aber keine funktionale Frage, sondern mehr ne „optische“ Sache.

          String-Zusammenbau geht natürlich auch.

          Kommentar


          • #6
            Hallo,

            Für Template-Code in dem Sinne halte ich das nicht, denn wenn ich Templates nutze wird i.d.R. kein Code im Template ausgeführt, sondern das Template an sich gerendert und die darin verbastelten Templates-Codes über Controller während dessen ausgeführt.

            Ich sehe da keinen Grund hin- und her zu springen.

            Gruß Arne

            Kommentar


            • #7
              Das ist wahrscheinlich eine Variante des „PHP als Templatesprache“-Stils, den beispielsweise auch das Zend Framework standardmäßig nutzt.

              - Beispiel: Database and models ? Zend Framework 2 2.4.8 documentation - Zend Framework (zweiter Codeblock in dem Abschnitt)

              Kommentar


              • #8
                Puha... Die machen das wirklich...

                Kommentar

                Lädt...
                X