Kann mir jemand bei solch einer Umsetzunge helfen - Brainstorming?

Hallo liebe Shopware Community mal wieder bin ich mit einem kleinen Wunsch hier.

 

Modal

https://imgur.com/a/8diffzX

 

Habt ihr Ideen dazu wie soetwas in Shopware zu realisieren ist? Bzw. ob es nicht sogar schon ein Plugin gibt? Ich finde leider wenig und weis aber das hier einige Leute unterwegs sind die richtig fit in der ganze Sache sind. Ich möchte nicht irgend ein Code schnorren oder ähnliches sondern benötige einfach ein paar Denkanstöße um das ganze dann selbst in die Hand zu nehmen und es zu erledigen - oder eben zu kaufen falls es schon soetwas gibt.

 

Prinzipiell leitet einer der Buttons zu dem Privatkundenshop um und der andere schließt einfach die Modal. Diese soll jedoch nur durch den Klick auf den Button geschlossen werden können und nicht durch etwas anderes.

 

Vielleicht kann mir ja jemand helfen. Ich bedanke mich jetzt schon einmal. 

 

 

Es kommt drauf an wie/wo es eingebunden werden soll, Startseite, Bestellung usw. und wie es sich öffnen soll, bei Seitenaufruf oder durch ein Button Klick.
Du könntest ein Modal Window in das jeweilige Template einbauen, als Denkanstoss kannste Du auch das „Cookie-Richtlinien“ Window nehmen, was im Grunde die selben Funktionen hat.
Die nötigen Frameworks wie Jquery/Bootstrap sind eingebunden und ein paar Zeilen HTML/Javascript kann man einfach ins Template einbauen.
Nur die Plazierung und der Aufruf ist der eigentliche Knacksus daran, was später in den Body kommt, Texte, Close oder Button Links, ist das wenigste.
Ein Plugin wäre natürlich besser um die Updatefähigkeit zu gewährleisten, sonst müsstet Du es jedesmal wieder neu einbauen.

STORE: Kundengruppen-Popup

Wenn es denn um Kundengruppen geht.

Geht es um Kundengruppen? Oder geht es um zwei Shops? Oder geht es um einen SubShop? Oder geht es um etwas anderes?

Nein um Kundengruppen geht es nicht - jeder Besucher soll das auswählen. Der Kunde soll wenn er sich für Privatkunde entscheidet auf einen fremden Shop weitergeleitet werden. Wählt er jedoch Firmenkunde soll sich die Modal schließen und er kann sich im aktuellen Shop frei bewegen und sich die Preise ansehen. 

@jor schrieb:

STORE: Kundengruppen-Popup

Wenn es denn um Kundengruppen geht.

Geht es um Kundengruppen? Oder geht es um zwei Shops? Oder geht es um einen SubShop? Oder geht es um etwas anderes?

@MrAle schrieb:

Nein um Kundengruppen geht es nicht - jeder Besucher soll das auswählen. Der Kunde soll wenn er sich für Privatkunde entscheidet auf einen fremden Shop weitergeleitet werden. Wählt er jedoch Firmenkunde soll sich die Modal schließen und er kann sich im aktuellen Shop frei bewegen und sich die Preise ansehen. 

@jor schrieb:

STORE: Kundengruppen-Popup

Wenn es denn um Kundengruppen geht.

Geht es um Kundengruppen? Oder geht es um zwei Shops? Oder geht es um einen SubShop? Oder geht es um etwas anderes?

Schönen Guten Morgen…

dann sag ich mal:

  • Cookie anlegen
  • Nicht Modal verwenden, sondern Overlay in frontend/index/index.tpl einbinden, in Abhängigkeit von diesem Cookie
  • Zwei „Buttons“: einer schließt das Overlay , der andere ruft die fremde URL auf 

Und wenn nicht Modal verwendet wird, dann gibts auch nicht das Problem, dass es durch Klick (anders als Button-Auswahl) geschlossen werden kann. 

1 „Gefällt mir“

Danke, ich denke das klingt nach einem guten Weg - bin neu hier und deswegen fehlen mir noch genau solche Denkansätze die eben schlauer sind.

 

 

@MrAle schrieb:

Danke, ich denke das klingt nach einem guten Weg - bin neu hier und deswegen fehlen mir noch genau solche Denkansätze die eben schlauer sind.

 

 

Das darfst Du nicht so eng sehen - viele Wege führen nach Rom  Wink 

Ich poste mal einen Ansatz…

 

{extends file="parent:frontend/index/index.tpl"}

{block name='frontend_index_after_body'}


	{if $smarty.cookies.mymodal != ''}
		Cookie ist vorhanden: {$smarty.cookies.mymodal}
	{else}
		Cookie muss gesetzt werden!
	{/if}



//<![CDATA[
function setCookieMyModal(wert) {
		var cname = "__csrf_token-1";
		var name = cname + "=";
		var ca = document.cookie.split(';');
		for(var i = 0; i < ca.length; i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') { c = c.substring(1); }
			if (c.indexOf(name) == 0) {
				var tokenstring;
				tokenstring = c.substring(name.length,c.length);
			}
		}	
		var datum = new Date();
		datum.setTime(datum.getTime()+(7*24*60*60*1000)); // 7 = 7 days // D H M S MS
		var verf = "; expires="+datum.toGMTString();
		document.cookie = "mymodal="+wert+verf+"; path=/";
	}
//]]>



#myOverlay {
	z-index:9999;
	position:fixed;
	left:0px; top:0px;
	width:100%; height:100%;
	background:black; opacity:.8;
}
#myModalOuter {
	z-index:99999;
	position:fixed;
	left:0px; top:0px;
	width:100%; height:100%;
	background:transparent;
}
#myModal {
	position:relative;
	background:rgba(255,255,255,.65);
	display:block;
	top:50%;
	margin-top:-75px;
	padding:30px 0px;
	text-align:center;
}
#myModal a {
	display:inline-block;
	width:200px; max-width:45%;
	padding:30px; margin:0px 10px;
	background:#009cc0; color:#FFF;
}
#myModal a:hover {
	background:#FFF; color:#000;
}




	
		Privatkunde
		Händlerkunde	
	


{/block}

 

Sieht in meinem Testshop dann zum Beispiel so aus…

 

 

Ich denke der Code ist jetzt nicht so kompliziert, dass die einzelnen Schritte im Detail erklärt werden müssen.

 

Zu Beginn die Prüfung auf Cookie mit Namen “mymodal”. An der Stelle müssen dann drei Fälle unterschieden werden:

  • Kein Cookie = Auswahl anzeigen
  • Cookie Wert 1 = Shop anzeigen
  • Cookie Wert 2 = Weiter zu Händler-Shop

Im Javascript steckt die Funktion um den Cookie zu setzen.

Dann ein bisschen CSS-Formatierung.

Und zum Schluss das Overlay mit Inhalt.