Zusatztexte für Versandart

Thema wurde von sebastian-albrecht, 8. Mai 2014 erstellt.

  1. sebastian-albrecht

    sebastian-albrecht Erfahrener Benutzer

    Registriert seit:
    23. Oktober 2013
    Beiträge:
    91
    Danke erhalten:
    0
    Danke vergeben:
    8
    hallo liebe Support-gemeinde,

    ich habe folgendes Problem:

    Wie in den angefügten Bilder zu sehen, habe ich in der checkout_shipping.php bei der Versandart "versandkostenfrei" einen kleinen zusatztext eingefügt

    ***Ihre Sendung ist ab 99,00 EUR innerhalb Deutschlands im Standardversand versandkostenfrei (keine Nachnahme möglich)***

    Dieser gleiche Text erscheint allerdings auch in der checkout_confirmation.php in der Tabelle mit der Artikelübersicht (unten bei versandart)

    dadurch wird die tabelle leider elendig gestreckt und sieht optisch mehr als blöd aus. Wenn ich nun über texte anpassen den text suche, erscheint er leider nur 1x, d.h. die textvariablen sind miteinander verknüpft....lösche ich es dort, verschwindet es auch auf der anderen....php.

    über firebug habe ich auch etwas gefunden und konnte den teil in der confirmation abändern...sah auch so aus wie ich es wollte...leider weiß ich nicht, in welcher datei ich die änderung dauerhaft machen kann

    anzeigen tut er ein <div id="products_overview"> und unter <td class="order_total_name" colspan="2"> ist der text angegeben

    in der checkout_confirmation.html habe ich auch folgendes entdeckt:

    Code:
    	<div id="products_overview">
    			<table cellspacing="0">
    				
    			{$PRODUCTS_TABLE_PART}
    
    			{foreach name=total_block item=total_item_array from=$total_block_data}
    					<tr class="{if $smarty.foreach.total_block.last}total{/if}">
    						<td colspan="2">&nbsp;</td>
    						<td class="order_total_name" colspan="2">{$total_item_array.title}</td>
    						<td class="order_total_price">{$total_item_array.text}</td>
    				</tr>
    			{/foreach}
    		</table>
    		
    			{if $CONFIRMATION_INFO|strip_tags:true|trim}
    				<div id="confirmation_info">{$CONFIRMATION_INFO}</div>
    			{/if}
    		</div>
    Allerdings habe ich keine ahnung, wie ich eben die textpassage dauerhaft nur für die checkout_confirmation abändern kann....
     

    Anhänge:

  2. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Guten Morgen,
    der Text wird in der order_total Klasse erzeugt. Dort wird die Headline und der Text zusammengefügt. Man könnte nun den Code entsprechend ändern, sodass dies nur auf der checkout_shipping Seite geschieht...

    Ich kann dir aktuell aber leider keinen Code-Snippet geben. Das müsste ich mir dann mal direkt in deinem Shop anschauen...

    MfG,
    Timo
     
  3. sebastian-albrecht

    sebastian-albrecht Erfahrener Benutzer

    Registriert seit:
    23. Oktober 2013
    Beiträge:
    91
    Danke erhalten:
    0
    Danke vergeben:
    8
  4. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Zugangsdaten wären auch gut gewesen, konnte es aber nun doch so lösen:

    Öffne die Datei checkout_shipping.php und ersetze folgende Zeile:
    PHP:
    $_SESSION['shipping'] = array ('id' => $_SESSION['shipping'], 'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module'].' ('.$quote[0]['methods'][0]['title'].')'), 'cost' => $quote[0]['methods'][0]['cost']);
    durch:
    PHP:
    if($_SESSION['shipping'] == 'flat_flat')
                            {
                                
    $_SESSION['shipping'] = array ('id' => $_SESSION['shipping'], 'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module']), 'cost' => $quote[0]['methods'][0]['cost']);
                            }
                            else
                            {
                                
    $_SESSION['shipping'] = array ('id' => $_SESSION['shipping'], 'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module'].' ('.$quote[0]['methods'][0]['title'].')'), 'cost' => $quote[0]['methods'][0]['cost']);
                            }
    Du musst dann nur noch in der if-Bedingung die jeweilige Versandart eintragen, da ich aktuell nicht sehe, welches Versandmodul du dort nutzt.

    MfG,
    Timo
     
  5. sebastian-albrecht

    sebastian-albrecht Erfahrener Benutzer

    Registriert seit:
    23. Oktober 2013
    Beiträge:
    91
    Danke erhalten:
    0
    Danke vergeben:
    8
    hallo timo,

    danke erstmal....habe den code so wie angegeben und flat_flat gegen freeamount abgeändert....leider wird in der checkout_confirmation unten immernoch der teil ***(Ihre Sendung ist ab 99,00 EUR innerhalb Deutschlands im Standardversand versandkostenfrei (keine Nachnahme möglich))*** mit angezeigt
     
  6. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Probier mal freeamount_freeamount

    Außerdem musst du den checkout Prozess einmal von vorne beginnen, damit in die Session der neue Text geschrieben wird. Andernfalls kannst du mir mal die Zugangsdaten zukommen lassen...

    MfG,
    Timo
     
  7. sebastian-albrecht

    sebastian-albrecht Erfahrener Benutzer

    Registriert seit:
    23. Oktober 2013
    Beiträge:
    91
    Danke erhalten:
    0
    Danke vergeben:
    8
    warum ist flat_flat...? muss dann auch freeamount_freeamount...?
     
  8. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    So genau bin ich in dem Thema nicht drin. Ich weiss aber dass ein Versandmodul aus Modul und Methode besteht und Module ohne Methode dann den namen "doppelt" drin haben...

    MfG,
    Timo
     
  9. sebastian-albrecht

    sebastian-albrecht Erfahrener Benutzer

    Registriert seit:
    23. Oktober 2013
    Beiträge:
    91
    Danke erhalten:
    0
    Danke vergeben:
    8
    das habe ich jetzt eingesetzt

    Code:
    if($_SESSION['shipping'] == 'freeamount')
                            {
                                $_SESSION['shipping'] = array ('id' => $_SESSION['shipping'], 'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module']), 'cost' => $quote[0]['methods'][0]['cost']);
                            }
                            else
                            {
                                $_SESSION['shipping'] = array ('id' => $_SESSION['shipping'], 'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module'].' ('.$quote[0]['methods'][0]['title'].')'), 'cost' => $quote[0]['methods'][0]['cost']);
                            }
     
  10. sebastian-albrecht

    sebastian-albrecht Erfahrener Benutzer

    Registriert seit:
    23. Oktober 2013
    Beiträge:
    91
    Danke erhalten:
    0
    Danke vergeben:
    8
  11. sebastian-albrecht

    sebastian-albrecht Erfahrener Benutzer

    Registriert seit:
    23. Oktober 2013
    Beiträge:
    91
    Danke erhalten:
    0
    Danke vergeben:
    8
    wenn ichn das noch für zwei drei andereversandarten machen möchte, wie muss ich denn da den code ändern
     
  12. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Guten Morgen,
    dann musst du die if-Bedingung erweitern:

    PHP:
    if($_SESSION['shipping'] == 'freeamount_freeamount' || $_SESSION['shipping'] == 'versand2' || $_SESSION['shipping'] == 'versand3')
    {
    MfG,
    Timo
     
  13. sebastian-albrecht

    sebastian-albrecht Erfahrener Benutzer

    Registriert seit:
    23. Oktober 2013
    Beiträge:
    91
    Danke erhalten:
    0
    Danke vergeben:
    8
    achso geht es...hatte das snippet einfach nochmal im anschluss angeführt und geändert....gab aber fehlermeldungen

    cool...danke
     
  14. sebastian-albrecht

    sebastian-albrecht Erfahrener Benutzer

    Registriert seit:
    23. Oktober 2013
    Beiträge:
    91
    Danke erhalten:
    0
    Danke vergeben:
    8
    habe den snippet wie folgt geändert:

    PHP:
    if($_SESSION['shipping'] == 'freeamount_freeamount' || $_SESSION['shipping'] == 'selfpickup_selfpickup' || $_SESSION['shipping'] == 'flat_flat') || $_SESSION['shipping'] == 'dp_dp')
                            {
                                
    $_SESSION['shipping'] = array ('id' => $_SESSION['shipping'], 'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module']), 'cost' => $quote[0]['methods'][0]['cost']);
                            }
                            else
                            {
                                
    $_SESSION['shipping'] = array ('id' => $_SESSION['shipping'], 'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module'].' ('.$quote[0]['methods'][0]['title'].')'), 'cost' => $quote[0]['methods'][0]['cost']);
                            }
    dann erscheint aber folgende fehlermeldung:

    Parse error: syntax error, unexpected '||' (T_BOOLEAN_OR) in /homepages/32/d108973903/htdocs/checkout_shipping.php on line 201
     
  15. Timo (Gambio)

    Timo (Gambio) Administrator

    Registriert seit:
    23. Juni 2011
    Beiträge:
    1.688
    Danke erhalten:
    651
    Danke vergeben:
    46
    Hallo,
    du hast hinter flat_flat die Klammer zu früh geschlossen:

    PHP:
    == 'flat_flat') || $_SESSION['shipping']
    MfG
     
  16. sebastian-albrecht

    sebastian-albrecht Erfahrener Benutzer

    Registriert seit:
    23. Oktober 2013
    Beiträge:
    91
    Danke erhalten:
    0
    Danke vergeben:
    8
    hallo timo,

    ichhabe unter www.barspoon.de/testshop das aktuelle shopmodul installiert und wollte die obige anpassung durchführen...leider ist die checkout_shipping.php drastisch gekürzt worden, so dass ich die einträge gar nicht finde....wo sind die denn jetzt gelandet bzw. in welcher datei kann ich denn nun die änderungen machen
    alt: 2.0.15.4
    neu (testshop): 2.1.4.0