Plural der Verpackungseinheit

Hallo z’samme!

Nutzt man bei Verpackungseinheit ein Wort, wie z.B Flasche, dann hat man im Forntend leider immer nur singular im Dropdown:

3 Flasche hört sich aber sch**** an und sieht zudem auch noch sch**** aus. Klar, man könnte mit Stück arbeiten oder es auch so schreiben: Flasche(n).

Fnd ich persönlich aber alles nicht so dolle. Früher, also für 4.0 gab’s wohl mal ein Plugin dafür. Gibt’s da evtl. ne Lösung für?

Merci vorab… :slight_smile:

 

Schreib doch „Fläschchen“, dann passt’s immer :wink: Wenn es für 4 ein Plugin gab, dann dürfte das bei der 5er Version unter umständen auch noch gehen. Wäre aber ein interessanter „Pluginwunsch“ https://forum.shopware.com/categories/plugin-wuensche

Hehe, ne lass mal, ein verschlüsseltes Plugin aus der 4er Version, ne Du. Hatte auf eine simplere Methode gehofft. Wink

BTW: Pluginwünsche hätte ich zuhauf! Ein paar sinnvolle Coreänderungen (wie z.B. ein simples Galerie Feature, Abschalten der Löschfunktion im Tiny MCE oder simples Umschalten auf Code Mirror etc.pp.) wären mir da aber schon viel, viel lieber, wie für jeden Müll gleich ein Plugin einzusetzen, was mich später dann wieder um den Verstand bringt, wenn’s um’s updaten geht! Wearing-Sunglasses

Nicht ganz so einfach, weil via smarty eine Schleife gemacht wird, aber auch wieder nicht sooo schwer.
shopware/buy.tpl at 5.5 · shopware/shopware · GitHub
Müsste man den ganzen Block für “Flaschen” im Theme eine eigene Schleife bauen.

Dann natürlich auch für die Dropdowns in der Cart und im Checkout.
Geht 100% im Theme - hab grad nur keine Zeit für fertigen Code.

@sonic‍: Ok, danke für die Info. Denke aber, das meine begrenzten Fähigkeiten dafür wohl nicht ganz reichen werden… Crying

Muss nicht heute sein, oder?
Hab da so eine Idee, die muss ich mal ausprobieren. Singular/Plurar-Ersetzer über Textbaustein pflegen *g*
Versprech noch nichts, aber ich bastel die Tage mal rum.

1 „Gefällt mir“

Zwischen den Tasks *lol*

Dazu dann eine erste buy.tpl

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

{block name='frontend_detail_buy_quantity_select'}
                                  
{s namespace='frontend/detail' name='VPReplace' assign='replacelist'}Flasche,Flaschen|Kopf,Köpfe{/s}

{if $sArticle.packunit}
	{assign var="ParamList" value="|"|@explode:$replacelist}
	{foreach $ParamList as $mvalue}
		{assign var="mPair" value=","|@explode:$mvalue}
		{if $mPair[0] == $sArticle.packunit}
			{assign var="plural" value=$mPair[1]}
		{/if}
	{/foreach}
	{if !$plural}
		{$smarty.block.parent}
	{else}
	


{$sArticle.minpurchase} {$sArticle.packunit}
{section name="i" start=$sArticle.minpurchase+$sArticle.purchasesteps loop=$maxQuantity step=$sArticle.purchasesteps}
{$smarty.section.i.index} {$plural}
{/section}


{/if}
{else}
{$smarty.block.parent}
{/if}
{/block}

Nach dem ersten Aufruf einer Detail-Seite wird der Textbaustein  VPReplace unter  frontend/detail angelegt , welcher die Ersetzungen enthält. Mehrere Paarungen aus Singular/Pluar werden mit der Pipe |  getrennt, der Singular vom Plural durch ein Komma.
Siehe die Vorbelegung für den Textbaustein „Flasche,Flaschen|Kopf,Köpfe“
 

Ist jetzt natürlich nur für die Detail-Seite und ohne jegliche Gewähr.

Könnte man natürlich auch mit einem Plugin lösen… KÖNNTE man, muss man aber nicht  Wink

Edit:  Da kommt die Tage noch was nach, denn so wird die MIndestmenge nicht berücksichtigt, der erste Wert geht von „1“ aus und setzt damit den „Singular“ also „10 Flasche“  Halo

2 „Gefällt mir“

Hammer Sonic! Bin gerade noch am Exportieren und Importieren, was gerade meine ganze Aufmerksamkeit in Beschlag nimmt. Schau ich mir aber gerne alles morgen mal in Ruhe an. Wenn’s funzt, dann dank ich Dir jetzt schon mal tausend mal für Deinen Einsatz!

:slight_smile:

Noch mal überarbeitet. Nun wird auch die Mindestabnahme berücksichtigt und eine If-Verschachtelung weniger. Vorbelegung für den ersten Aufruf auf Stück,Stücke|Flasche,Flaschen vorbelegt. Werde ich die Tage nach Update auf 5.5.3 auch ins eigene Theme übernehmen. Danke für den Denkanstoß Wearing-Sunglasses 

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

{block name='frontend_detail_buy_quantity_select'}
{s namespace='frontend/detail' name='VPReplace' assign='mReplacelist'}Stück,Stücke|Flasche,Flaschen{/s}

{if $sArticle.packunit && $mReplacelist}
	{assign var="mParamList" value="|"|@explode:$mReplacelist}
	{assign var="mOffset" value="0"}
	{assign var="mUnit" value=$sArticle.packunit}
	{foreach $mParamList as $mvalue}
		{assign var="mPair" value=","|@explode:$mvalue}
		{if $mPair[0] == $sArticle.packunit}
			{assign var="mUnit" value=$mPair[1]}
		{/if}
	{/foreach}
	
	
		
			{if $sArticle.minpurchase == "1"}
				{$sArticle.minpurchase} {$sArticle.packunit}
				{assign var="mOffset" value=$sArticle.purchasesteps}
			{/if}
			{section name="i" start=$sArticle.minpurchase+$mOffset loop=$maxQuantity step=$sArticle.purchasesteps}
				{$smarty.section.i.index} {$mUnit}
			{/section}
		
	
{else}
	{$smarty.block.parent}
{/if}
{/block}

 

1 „Gefällt mir“

Hammer Sonic! Besten Dank für Deine Mühe! :slight_smile:

 

@sonic‍:

Gerad einen Shop mit Subshop implementiert. Funzt einwandfrei. Du bist mein Held! Thumb-Up

1 „Gefällt mir“