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: Angepasstes Formular (eigener Button)?

    cybermailer

    • Schreiberling
    • Beiträge: 308
    Angepasstes Formular (eigener Button)?
    am: 15. Januar 2015, 23:28:15
    Ich habe auf Grundlage vom Kontaktformular ein eigenes Formular gebastelt.

    Nach submit des Formulars wird die success Variable mit 1 befüllt und dieser Bereich ausgeführt:

    Code: PHP  [Auswählen]
    {$FORM_END}
    {else}

    <div class="alert alert-success">
      {#text_success#}
    </div>
    <br>
    <p> {#text_success_2#}</p>
    <br>

    <p>{$BUTTON_CONTINUE}</p>
    {/if}
     

    MEINE Frage:

    - Wie kann ich einen eigenen Button anlegen?
    habs so versucht:
    Code: PHP  [Auswählen]
    $smarty->assign('BUTTON_NEU', '<a href="http://www.orf.at">'.xtc_image_button('button_neu.gif', IMAGE_BUTTON_NEU).'</a>');

    und natürlich in der language/german.php den Text hinterlegt..
    Code: PHP  [Auswählen]
    define('IMAGE_BUTTON_NEU', 'NEU');

    und in der template datei (duplikat von contact_us):
    Code: PHP  [Auswählen]
    {BUTTON_NEU}

    Er wird mir aber nicht angzeigt...?! Was mache ich falsch?

    Frage 2:
    ********
    - Kann ich eigentlich in der gleichen php Datei in diesem Bereich ein weiteres Formular anlegen?

    Würde mich über Input freuen....

    Danke im Voraus,

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

    WayneTsun

    • Fördermitglied
    • Beiträge: 1.082
    • Geschlecht:
    Re: Angepasstes Formular (eigener Button)?
    Antwort #1 am: 16. Januar 2015, 10:44:14
    Wenn der Link auf eine Seite im Shop zielt, solltest Du xtc_href_link verwenden, sonst verliert der Kunde evtl. die Session. Beispiel für index-Seite:
    Code: PHP  [Auswählen]
    $smarty->assign('BUTTON_NEU', '<a href="'.xtc_href_link(FILENAME_CONTENT, 'coID=5').'">'.xtc_image_button('button_neu.gif', IMAGE_BUTTON_NEU).'</a>');

    Ansonsten:
    Code: PHP  [Auswählen]
    $smarty->assign('BUTTON_NEU', '<a href="www.orf.at">'.xtc_image_button('button_neu.gif', IMAGE_BUTTON_NEU).'</a>');

    Und dann:
    Code: PHP  [Auswählen]
    {$BUTTON_NEU}

    Beste Grüße,
    Wayne

    cybermailer

    • Schreiberling
    • Beiträge: 308
    Re: Angepasstes Formular (eigener Button)?
    Antwort #2 am: 17. Januar 2015, 10:57:06
    Irgendwie wird mir der Button noch immer nicht an der richtigen Stelle angezeigt.
    Das habe ich gemacht:

    i.d. /includes/contact_us.php
    Code: PHP  [Auswählen]
    $smarty->assign('BUTTON_NEU', '<a href="'.xtc_href_link(FILENAME_CONTENT, 'coID=5').'">'.xtc_image_button('button_neu.gif', IMAGE_BUTTON_NEU).'</a>');

    i.d. /lang/german/german.php
    Code: PHP  [Auswählen]
    define('IMAGE_BUTTON_NEU', 'Jetzt Pilgerpassantrag abschließen');

    i.d. /template/module/contact_us.html
    Code: PHP  [Auswählen]
    {$BUTTON_NEU}

    Testweise habe ich den Button 2x im Template eingebaut um zu sehen was passiert:

    Auf der standardmäßig aufgerufenen Seite wird er angezeigt. Nach submit des Formulars wird ja der untere Bereich angezeigt dort wird der Button nicht angezeigt sondern nur der CONTINUE Button...

    Abgekürzte Version meiner contact_us.html

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="newsletter"}
    {config_load file="$language/lang_$language.conf" section="pilgerpass"}
    <h1>{$CONTACT_HEADING}</h1>
    {$CONTACT_CONTENT} <br />
    {if $error_message!=''}
    <div class="alert alert-error">{$error_message}</div>
    {/if} {if $success!='1'} {$FORM_ACTION|replace:'<form':'<form class="form-horizontal" '}
    <div class="well well-small">

      <div class="control-group row-fluid">
        <label class="control-label">{#text_salutation#}</label>
       <div class="controls">{$INPUT_SALUTATION|replace:'<input type':'<input class="span6" type'|regex_replace:'/size.*"/':''}</div>
      </div>
     
      <div class="control-group row-fluid">
        <label class="control-label">{#text_degree#}</label>
       <div class="controls">{$INPUT_DEGREE|replace:'<input type':'<input class="span6" type'|regex_replace:'/size.*"/':''}</div>
      </div>
     
      <div class="control-group row-fluid">
        <label class="control-label">{#text_firstname#}*</label>
       <div class="controls">{$INPUT_FIRSTNAME|replace:'<input type':'<input class="span6" type'|regex_replace:'/size.*"/':''}</div>
      </div>

    <br>
      <div class="control-group row-fluid">
        <label class="control-label">{#text_sec_code#}</label>
       <div class="controls">{$VVIMG}</div>
      </div>
     
      <div class="control-group row-fluid">
        <label class="control-label">{#text_sec_code#}*</label>
       <div class="controls">{$INPUT_CODE|replace:'<input type':'<input class="span6" type'|regex_replace:'/size.*"/':''}</div>
      </div>
     
     <p>{$BUTTON_NEU}</p>
     
      <div class="control-group row-fluid">
        <div class="controls">{$BUTTON_SUBMIT}</div>
      </div>
      <p><strong>{#text_hint#}</strong></p>
    </div>
    <!--p>{*$BUTTON_SUBMIT*}</p-->
    {$FORM_END}
    {else}

    <div class="alert alert-success">
      {#text_success#}
    </div>
    <br>
    <p> {#text_success_2#}</p>
    <br>
    <p>{$BUTTON_NEU}</p>
    <br>
    <p>{$BUTTON_CONTINUE}</p>
    {/if}
     

    und der dazugehörige php logik teil abgekürzte Version:

    Code: PHP  [Auswählen]
    $smarty->assign('CONTACT_CONTENT', $contact_content);
       
        $smarty->assign('FORM_ACTION', xtc_draw_form('contact_us', xtc_href_link(FILENAME_CONTENT, 'action=send&coID='.(int) $_GET['coID'], 'SSL')));
           
     
        $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES,'','SSL').'" alt="Captcha" />');

    $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="8" maxlength="6"', 'text', false));

            $smarty->assign('INPUT_FIRSTNAME', xtc_draw_input_field('firstname', ($error ? $_POST['firstname'] : $customers_firstname), 'size="30"'));
            $smarty->assign('INPUT_LASTNAME', xtc_draw_input_field('lastname', ($error ? $_POST['lastname'] : $customers_lastname), 'size="30"'));
    $smarty->assign('BUTTON_NEU', '<a href="'.xtc_href_link(FILENAME_CONTENT, 'coID=5').'">'.xtc_image_button('button_neu.gif', IMAGE_BUTTON_NEU).'</a>');

        $smarty->assign('BUTTON_SUBMIT', xtc_image_submit('button_send.gif', IMAGE_BUTTON_SEND));
        $smarty->assign('FORM_END', '</form>');

    Anbei auch 2 Bilder

    cybermailer

    • Schreiberling
    • Beiträge: 308
    Re: Angepasstes Formular (eigener Button)?
    Antwort #3 am: 17. Januar 2015, 12:37:01
    So, der Button wird nun auch auf der zweiten Seite angezeigt,
    hatte übersehen die Button Logik an der richtigen Stelle zu platzieren.

    Nämlich so:
    Code: PHP  [Auswählen]
    $smarty->assign('CONTACT_HEADING', $shop_content_data['content_heading']);
      if (isset ($_GET['action']) && ($_GET['action'] == 'success')) {
        $smarty->assign('success', '1');
        //$smarty->assign('BUTTON_CONTINUE', '<a href="'.xtc_href_link(FILENAME_DEFAULT).'">'.xtc_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE).'</a>');
            switch ($_POST['pmfrage']) {
                    case 1:
                            $email_pmfrage = EMAIL_PMFRAGE_M;
                            $caseid= 80;
                           
                            break;
                    case 2:
                            $email_pmfrage = EMAIL_PMFRAGE_S;
                            $caseid= 80;
                           
                            break;
                    }
           
            $smarty->assign('BUTTON_NEU', '<a href="'.xtc_href_link(FILENAME_BUYNOW, 'action=buy_now&BUYproducts_id='.$caseid).'">'.xtc_image_button('button_continue.gif', IMAGE_BUTTON_PILGERPASS).'</a>');

      } else {

    Ich check jetzt nur noch nicht ganz warum ich auf die Variable aus dem Submit (Post) des Formulars nicht zugreifen kann...bzw. warum diese verloren geht obwohl ich auf der gleichen seite bin ...

    Habe die Variable jetzt in eine Session geschrieben:

    Code: PHP  [Auswählen]
    if(isset($_POST['pmfrage']))
                    {
                            switch ($_POST['pmfrage']) {
                            case 1:
                                    $_SESSION['caseid'] = 80;
                                    break;
                            case 2:
                                    $_SESSION['caseid'] = 81;
                                    break;
                            }
                     
                     
                    }

    Jetzt kann ich diese nutzen:
    Code: PHP  [Auswählen]
    if(isset($_SESSION['caseid'])){
            $caseid = $_SESSION['caseid'];
            }
           
            $smarty->assign('BUTTON_NEU', '<a href="'.xtc_href_link(FILENAME_BUYNOW, 'action=buy_now&BUYproducts_id='.$caseid).'">'.xtc_image_button('button_continue.gif', IMAGE_BUTTON_PILGERPASS).'</a>');
     

    Frage:
    - Habe ich das ordentlich gelöst? (kenne mich mit Session zu wenig aus)
    - Ist diese Session Variable jetzt solange gültig bis der Kunde sich wieder abmeldet?
    - Warum war eigentlich die Post Variable nicht mehr abgreifbar an der Stelle?
    4 Antworten
    1939 Aufrufe
    23. November 2017, 10:58:24 von meikeZ
    3 Antworten
    2824 Aufrufe
    14. Juni 2010, 20:58:58 von Tomcraft
    2 Antworten
    2412 Aufrufe
    28. September 2010, 13:53:24 von baldkeindaumehr