Ckeckbox für Email-Weitergabe im Bestellprozess einbauen

Tipp: Nimm den Block “shippingAndPayment” statt des nicht vorhandenen, trage diesen in der metadata ein und setze [{$smarty.block.parent}] im Template entsprechend um. Hat denselben Effekt und keine Arbeit im Template.

Danke, auf der order-Seite klappt es nun. Da muss man nur rumspielen, wo der Block eingebaut werden muss, da er sonst den Rest zerhaut. Per css lassen sich die Details noch lösen.

Aber beim payment wird es schwieriger. Es gibt zwar in den tpl-Dateien eine ID, aber im Quellcode ist die nicht. Offenbar läuft das über eine Funktion von Zoxid, die ich erst noch suchen muss, wo die überhaupt liegt. Und dann ist das Problem, dass Deine od_flow_law_next.tpl überhaupt nicht aufgerufen wird. Wenn ich da was reinschreibe, passiert schlichtweg nichts.

Ok. Hast du in dieser Datei page/checkout/payment.tpl das Block hier “checkout_payment_nextstep”?

Grüße
Rafig

[QUOTE=OXID-Design;187363]Ok. Hast du in dieser Datei page/checkout/payment.tpl das Block hier “checkout_payment_nextstep”?[/QUOTE]
Leider nein. Dort steht:

<?= $theme->tracking_enqueue('PAYMENT') ?>

[{capture append="oxidBlock_content"}]
	<?= $theme->checkoutstep_renderAll() ?> 	

	<div class="zoxid-checkoutbox">
		<div class="zoxid-checkoutboxheader"><?= $theme->getText('zoxid-checkoutboxheader-payment') ?></div>

		[{block name="checkout_payment_main"}]

			[{assign var="currency" value=$oView->getActCurrency()}]
			
			[{block name="checkout_payment_errors"}]
				<?= $theme->payment_renderMessages() ?>
			[{/block}]	

			[{block name="change_shipping"}]			
				<?= $theme->shipping_renderMethods() ?>				
			[{/block}]			
			
			[{block name="change_payment"}]			
				<h3>[{oxmultilang ident="PAGE_CHECKOUT_PAYMENT_PAYMENT"}]</h3>				
				<?= $theme->payment_renderMethods() ?>

				[{if $oView->getEmptyPayment()}]
					[{block name="checkout_payment_nopaymentsfound"}]
						
						[{oxmultilang ident="PAGE_CHECKOUT_PAYMENT_EMPTY_TEXT"}]
						<input type="hidden" name="paymentid" value="oxempty">

						<div class="zoxid-linebox clear">
							<a href="[{oxgetseourl ident=$oViewConf->getSelfLink()|cat:"cl=user"}]" class="btn btn-default btn-xs">
								<?= $theme->fa_render('chevron-left') ?>
								[{oxmultilang ident="ZOXID_BACK"}]
							</a>
							<button id="paymentNextStepBottom" class="btn btn-xs btn-info pull-right" name="userform" type="submit">
								[{oxmultilang ident="ZOXID_NEXTSTEP"}]
								<?= $theme->fa_render('chevron-right') ?>
							</button>
						</div>	
					[{/block}]
				[{/if}]				
					
			[{/block}]
		[{/block}]
		
	</div>
    
[{/capture}]

[{include file="layout/page.tpl"}]

Die Zahlungsmöglichkeiten werden allerdings hiermit erzeugt:
<?= $theme->payment_renderMethods() ?>

Ich hab keine Ahnung, wo sich die Funktion real befindet, schon den halben Shop von Hand durchsucht, aber leider gibts da kein ssh, um das mal eben schnell zu suchen.

Dafür gibt es unter …page/checkout noch ein /inc/ und darin eine payment_other.tpl, die ausgeführt wird. Auch dort ist keine checkout_payment_nextstep.

[QUOTE=rubbercut;187361]Tipp: Nimm den Block “shippingAndPayment” statt des nicht vorhandenen, trage diesen in der metadata ein und setze [{$smarty.block.parent}] im Template entsprechend um. Hat denselben Effekt und keine Arbeit im Template.[/QUOTE]

In welcher metadata meinst Du? Das sagt mir grad gar nichts. Von Zoxid?

PS: Ich hab die payment_renderMethods() gefunden. Meine Güte, wo das Zeug überall liegt.

Füge das Block mal ein [{block name=“checkout_payment_nextstep_top”}][{/block}] und schaue was danach passiert.

Nein, er meint das metadata.php vom Modul wegen der letzter schritt. Das funktioniert doch inzwischen sagtest du.

Grüße
Rafig

Hab ich eingebaut, passiert nichts, also kein zusätzlicher Code, höchstens das, was ich zwischen den Block zum Test reinschreibe.

Ja, der letzte Schritt auf der Order-Seite geht.

Aus der ferne vor allem wegen der Zoxid-Theme kann ich dir leider nicht weiterhelfen. Du konntest aber Zoxid Support kontaktieren…

Grüße
Rafig

Ja, das ist schon klar. Trotzdem vielen Dank. Ich muss es jetzt ja nur noch hinbekommen, dass ohne Häkchen zunächst die Buttons grau sind und nach Klicken aktiv werden. Allerdings hat das Theme eben n-Buttons, je nach Anzahl der Zahlmethoden, sodass das mit der id eh nicht geht und ich daher das JS entsprechend anpassen müsste - was kein Problem wäre, aber ich bekomme es ja nicht hin, dass Deine od_flow_law_payment.tpl und Deine od_flow_law_next.tpl im Oxid payment.tpl verfügbar sind.

Die od_flow_law_payment.tpl klappt zwar schon, da ich ja das Häkchen mit Text sehe, aber die andere nicht. Vielleicht kann ich ja einfach den Code rüberkopieren? Mal testen.

Nicht nur grau, im Modul-Einstellungen kannst du auch die Buttons komplett ausblenden.

Ja, das würde ich so machen. Am besten einen Child-Theme erstellen und dort alles ausprobieren.

Grüße
Rafig

Hat funktioniert. Habe alles in od_flow_law_payment.tpl eingebaut, was aus der od_flow_law_next.tpl relevant war.

Da ich ohne größeren Aufwand in den Theme-Funktionen nicht direkt an die Buttons rankomme (vermutlich geht das sogar gar nicht), schalt ich sie einfach per jQuery ein und aus. Das mag zwar bei javascriptlosen Bestellern dann umgehbar sein, aber könnten die bei anderer Implementierung das Häkchen ohne Javascript überhaupt setzen?

Danke nochmals für die Hilfe!

Funktioniert der Shop überhaupt ohne JavaScript?

Grüße
Rafig

Ist überhaupt noch jemand ohne JS unterwegs - außer ein paar Linuxen?

Du fragst mich ob das Modul ohne JavaScript funktioniert und ich frage dich ob dein Shop überhaupt ohne JavaScript funktioniert. Ich bin mir nicht sicher aber bei Flow dürfte ohne JavaScript überhaupt nicht gehen.

Du kannst ja gerne JavaScript bei deinem Browser-Einstellungen deaktivieren und versuchen einzukaufen.

Grüße
Rafig

Deine Antwort war doch sicher nur ironisch gemeint, oder? Ich bin der Meinung, dass JS heute dazugehört. Ansonsten muss man nämlich auf die größten Teil der Webseiten ganz verzichten, also auch auf Shops.

Noch eine kurze Frage, die nicht zum Thema gehört - fand dazu hier sonst nichts: Was für einen Editor nutzt Du unter Windows für die tpl-Dateien? Ich nutze Textpad++, aber der kann mit smarty nichts anfangen, daher zeig ich es als php oder html an. Es gibt wohl ein smarty-xml dafür, das taugt aber noch weniger.

vanilla_thunder hat hier was besseres, Integriert direkt im Shop-Backend. [B]Dev Utils[/B]

Ich bin mit Linux unterwegs, mit Windows kenne ich mich nicht aus.

Grüße
Rafig

Danke, das ist ja schon interessant, was man da machen kann. Aber ein nativer Editor mit den zig Tastaturkürzeln ist mir schon lieber, bin ich einfach vom sonstigen Programmieren gewohnt.

Seltsam, dass auch dieser Online-Editor das smarty nur rudimentär anzeigt. Bei PHP geht das doch auch wunderbar überall. So wenig verbreitet ist smarty doch gar nicht, dass da noch niemand was richtiges für gebaut hat.

Smarty ist keine Programmiersprache, was soll der Editor dir denn anzeigen? Wenn es hochkommt zeigt er dir nicht geschlossene tags und das nicht immer sehr zuverlässig. Also für die Smarty kannst du auch stinknormalen Texteditor benutzen.

Grüße
Rafig