# Frontend: Mengeneingabe durch Textfeld statt Dropdown-Menü

**URL:** <https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827>\
**Category:** Shopware 3.5\
**Tags:** templates--design\
**Created:** [8. August 2011 um 12:04 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827 "2011-08-08T12:04:44Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chaos](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/chaos/32/13622_2.png) [@Chaos](https://forum.shopware.com/u/Chaos)\
**Post date:** [8. August 2011 um 12:04 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/1 "2011-08-08T12:04:44Z")

</div>

Hallo, wie der Titel schon sagt suche ich nach einer Möglichkeit das Dropdown-Menü auf einer Artikeldetailseite bei der Mengenauswahl durch ein Textfeld zu ersetzen, so dass der Kunde seine gewünschte Anzahl eintippen kann. Hat so etwas schon jemand gemacht? Viele Grüße, Martin

---

<div class="post-metadata">

**Author:** ![werny](https://avatars.discourse-cdn.com/v4/letter/w/ba9def/32.png) [@werny](https://forum.shopware.com/u/werny)\
**Post date:** [10. August 2011 um 10:55 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/2 "2011-08-10T10:55:50Z")

</div>

Kleiner Push da ich zur Zeit auch auf der Suche danach bin.

---

<div class="post-metadata">

**Author:** ![UM24](https://avatars.discourse-cdn.com/v4/letter/u/a88e4f/32.png) [@UM24](https://forum.shopware.com/u/UM24)\
**Post date:** [19. September 2011 um 16:34 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/3 "2011-09-19T16:34:46Z")

</div>

Würde mich auch interessieren… Oder eine Art “Kalender”, wo der Kunde ein entsprechendes Datum ankicken kann… Jemand eine Idee?

---

<div class="post-metadata">

**Author:** ![mbcontrol1](https://avatars.discourse-cdn.com/v4/letter/m/e9bcb4/32.png) [@mbcontrol1](https://forum.shopware.com/u/mbcontrol1)\
**Post date:** [3. November 2011 um 17:42 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/4 "2011-11-03T17:42:28Z")

</div>

Ich beschäftige mich auch gerade mit dem Thema. Bei meinen Versuchen die Shop-Performance zu verbessern bin ich auf das Mengenfeld gestoßen. Durch die Lösung mit dem DropDown-Feld wird der HTML-Code unglaublich aufgeblasen. Und das macht z.B. den Warenkorb sehr langsam. Für jede Artikelmenge werden 3 Zeilen Code generiert. Nehmen wir an die maximal wählbare Artikelmenge ist 1000. Dann werden für jeden Artikel im Warenkorb 3.000 Zeilen Code generiert. Das macht bei 10 Artikeln im Warenkorb 30.000 Zeilen HTML-Code. Ich musste für einen Kunden die maximal wählbare Artikelmenge auf 10.000 setzen. Die Shopkunden stellten sich häufig einen Warenkorb mit 30-40 Artikel zusammen. Das machte dann sagenhafte 900.000 bis 1.200.000 Zeilen Code. Die generierte HTML-Datei hat da gerne mal 12MB und mehr. Auch in der Artikel-Detailansicht wird dieser Ballast mitgeschleppt. Nur da wirkt es sich nicht so stark aus, da es ja immer nur ein Artikel ist. Dennoch kann man da auch Geschwindigkeit rausholen. Folgender Beitrag hat mich auf die Lösung gebracht das Pulldownfeld durch ein Texteingabefeld zu ersetzen: [post21181.html?hilit=mengeneingabefeld#p21181](http://forum.shopware.de/post21181.html?hilit=mengeneingabefeld#p21181) Für die Artikel-Detail-Seite habe ich folgende Änderungen in der \templates\mytemplate\frontend\detail\buy.tpl gemacht: `{\* Grundgeruest vom Mastertemplate erben \*} {extends file="../\_default/frontend/detail/buy.tpl"} {block name='frontend\_detail\_buy\_quantity'} {if $sArticle.laststock && !$sArticle.sVariants && $sArticle.instock \< $sArticle.maxpurchase} {assign var=maxQuantity value=$sArticle.instock+1} {else} {assign var=maxQuantity value=$sArticle.maxpurchase+1} {/if}<label for="sQuantity">{s name="DetailBuyLabelQuantity"}{/s}:</label><input id="sQuantity" type="text" name="sQuantity" value="1" size="5" maxlength="30">{/block} ` Und für den Warenkorb musste ich die Datei \templates\mytemplate\frontend\checkout\cart\_item.tpl wie folgt anlegen: [code]{\* Grundgeruest vom Mastertemplate erben \*} {extends file="…/\_default/frontend/checkout/cart\_item.tpl"} {\* Article amount \*} {block name=‘frontend\_checkout\_cart\_item\_quantity’}

{if $sBasketItem.modus == 0}{else} &nbsp; {/if}  
{/block} [/code] Der Wert maximal wählbare Artikelmenge ist aber auch bei dieser Variante relevant und muss entspr. definiert werden.

---

<div class="post-metadata">

**Author:** ![werny](https://avatars.discourse-cdn.com/v4/letter/w/ba9def/32.png) [@werny](https://forum.shopware.com/u/werny)\
**Post date:** [7. November 2011 um 09:07 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/5 "2011-11-07T09:07:58Z")

</div>

Ich habe beide Ordner nicht in meinem template Ordner. Was nun?

---

<div class="post-metadata">

**Author:** ![mbcontrol1](https://avatars.discourse-cdn.com/v4/letter/m/e9bcb4/32.png) [@mbcontrol1](https://forum.shopware.com/u/mbcontrol1)\
**Post date:** [7. November 2011 um 09:17 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/6 "2011-11-07T09:17:33Z")

</div>

Die Ordner einfach anlegen.

---

<div class="post-metadata">

**Author:** ![werny](https://avatars.discourse-cdn.com/v4/letter/w/ba9def/32.png) [@werny](https://forum.shopware.com/u/werny)\
**Post date:** [8. November 2011 um 08:21 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/7 "2011-11-08T08:21:56Z")

</div>

Wunderbar. Funktioniert perfekt.

---

<div class="post-metadata">

**Author:** ![elvitas](https://avatars.discourse-cdn.com/v4/letter/e/f9ae1b/32.png) [@elvitas](https://forum.shopware.com/u/elvitas)\
**Post date:** [24. Mai 2012 um 18:02 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/8 "2012-05-24T18:02:40Z")

</div>

Hallo mbcontrol, und wie schaffe ich es, dass bei der Berechnung auch Kommazahlen akzeptiert werden? Wir bieten auch Rollenware an, dort benötigen wir Eingaben wie z.B. 1,7 m. Freue mich über Tipps! 🙂

---

<div class="post-metadata">

**Author:** ![waldicom](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/waldicom/32/12881_2.png) [@waldicom](https://forum.shopware.com/u/waldicom)\
**Post date:** [3. Juni 2012 um 10:26 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/9 "2012-06-03T10:26:31Z")

</div>

Da muss ja sowieso ein zusätzliches Feld her. Was ist, wenn ich zwei „Rollenware“(was auch immer das ist) je 1,7 m brauche? Und wenn hier ein neue Feld ins Spiel kommt, kann man das ohne Plugin kaum machen (meiner Meinung nach). Ich glaube im Store gibt es ein Plugin, welches die gewünschte Funktionalität realisiert.

---

<div class="post-metadata">

**Author:** ![elvitas](https://avatars.discourse-cdn.com/v4/letter/e/f9ae1b/32.png) [@elvitas](https://forum.shopware.com/u/elvitas)\
**Post date:** [3. Juni 2012 um 13:28 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/10 "2012-06-03T13:28:58Z")

</div>

Danke für den Tipp! Habe gerade die ganze Zeit noch solch einem Plugin gesucht, ohne Erfolg. Wie heißt denn das Plugin? Lieben Gruß

---

<div class="post-metadata">

**Author:** ![ChrisTucker](https://avatars.discourse-cdn.com/v4/letter/c/6f9a4e/32.png) [@ChrisTucker](https://forum.shopware.com/u/ChrisTucker)\
**Post date:** [3. Juni 2012 um 14:46 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/11 "2012-06-03T14:46:35Z")

</div>

Da hat aber einer nicht richtig geschaut. [Flächenberechnung](http://store.shopware.de/sonstiges/flaechenberechnungs-plugin-fuer-shopware)

---

<div class="post-metadata">

**Author:** ![Hohenbostler](https://avatars.discourse-cdn.com/v4/letter/h/e99b99/32.png) [@Hohenbostler](https://forum.shopware.com/u/Hohenbostler)\
**Post date:** [23. Oktober 2013 um 13:54 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/12 "2013-10-23T13:54:13Z")

</div>

Hallo, der Beitrag ist zwar schon etwas älter aber kann mir jemand dort hilfestellung bei der aktuellen 4.1.3 Version?? Am besten wäre es für mich neuling genau zu beschreiben in welcher datei ich welchen codeschnipsel wie ersetzen muss.

---

<div class="post-metadata">

**Author:** ![K.I](https://avatars.discourse-cdn.com/v4/letter/k/34f0e0/32.png) [@K.I](https://forum.shopware.com/u/K.I)\
**Post date:** [14. November 2013 um 13:51 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/13 "2013-11-14T13:51:56Z")

</div>

Und mit ein wenig HTML5, so der Browser es denn kann, wird das gleich noch ein Stück angenehmer. `<input id="sQuantity" type="number" min="1" name="sQuantity" value="1" size="5" maxlength="30">`

---

<div class="post-metadata">

**Author:** ![mac](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/mac/32/7855_2.png) [@mac](https://forum.shopware.com/u/mac)\
**Post date:** [14. November 2013 um 14:35 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/14 "2013-11-14T14:35:48Z")

</div>

Ich habe schon vor einiger Zeit ein Plugin für die Eingabe programmiert. Damit kann man auch große Mengen realisieren, ohne das der Browser oder Server stribt. [Darstellung Artikelmenge](http://store.shopware.de/template-design/darstellung-artikelmenge) Gruß Marco

---

<div class="post-metadata">

**Author:** ![Grow-da](https://avatars.discourse-cdn.com/v4/letter/g/51bf81/32.png) [@Grow-da](https://forum.shopware.com/u/Grow-da)\
**Post date:** [7. Februar 2014 um 22:25 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/15 "2014-02-07T22:25:30Z")

</div>

Hi, habe die Ordner angelegt und den Quelltext eingefügt. Nun erhalte ich folgenden Fehler: Hatte versucht 10x einen Arikel in den Warenkorb zu legen. [code]Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. Syntax Error in template “/var/www/vhosts/grow-da.de/httpdocs/templates/emotion\_green/frontend/checkout/cart\_item.tpl” on line 2 “{extends file=…\_defaultfrontendcheckoutcart\_item.tpl}” - Unexpected “.”, expected one of: INTEGER in Smarty/sysplugins/smarty\_internal\_templatecompilerbase.php on line 657 Stack trace: #0 Smarty/sysplugins/smarty\_internal\_templateparser.php(3144): Smarty\_Internal\_TemplateCompilerBase-\>trigger\_template\_error() #1 Smarty/sysplugins/smarty\_internal\_templateparser.php(3209): Smarty\_Internal\_Templateparser-\>yy\_syntax\_error(59, ‘.’) #2 Smarty/sysplugins/smarty\_internal\_smartytemplatecompiler.php(105): Smarty\_Internal\_Templateparser-\>doParse(59, ‘.’) #3 Smarty/sysplugins/smarty\_internal\_templatecompilerbase.php(192): Smarty\_Internal\_SmartyTemplateCompiler-\>doCompile(’{ Grundgeruest …’) #4 Smarty/sysplugins/smarty\_internal\_compile\_include.php(146): Smarty\_Internal\_TemplateCompilerBase-\>compileTemplate(Object(Enlight\_Template\_Default)) #5 Smarty/sysplugins/smarty\_internal\_templatecompilerbase.php(475): Smarty\_Internal\_Compile\_Include-\>compile(Array, Object(Smarty\_Internal\_SmartyTemplateCompiler), Array, NULL, NULL) #6 Smarty/sysplugins/smarty\_internal\_templatecompilerbase.php(249): Smarty\_Internal\_TemplateCompilerBase-\>callTagCompiler(‘include’, Array, Array) #7 Smarty/sysplugins/smarty\_internal\_templateparser.php(2388): Smarty\_Internal\_TemplateCompilerBase-\>compileTag(‘include’, Array) #8 Smarty/sysplugins/smarty\_internal\_templateparser.php(3101): Smarty\_Internal\_Templateparser-\>yy\_r36() #9 Smarty/sysplugins/smarty\_internal\_templateparser.php(3201): Smarty\_Internal\_Templateparser-\>yy\_reduce(36) #10 Smarty/sysplugins/smarty\_internal\_smartytemplatecompiler.php(105): Smarty\_Internal\_Templateparser-\>doParse(10, ‘? …’) #11 Smarty/sysplugins/smarty\_internal\_templatecompilerbase.php(192): Smarty\_Internal\_SmartyTemplateCompiler-\>doCompile(’?

---

<div class="post-metadata">

**Author:** ![K.I](https://avatars.discourse-cdn.com/v4/letter/k/34f0e0/32.png) [@K.I](https://forum.shopware.com/u/K.I)\
**Post date:** [7. Februar 2014 um 22:37 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/16 "2014-02-07T22:37:43Z")

</div>

[quote=“Grow-da”]Hat jemand eine Idee?[/quote] Der meckert weil da `{extends file=..\_defaultfrontendcheckoutcart\_item.tpl}` statt`{extends file="../\_default/frontend/checkout/cart\_item.tpl"}` im Template geschrieben steht … hastes falsch copy/paste?

---

<div class="post-metadata">

**Author:** ![Grow-da](https://avatars.discourse-cdn.com/v4/letter/g/51bf81/32.png) [@Grow-da](https://forum.shopware.com/u/Grow-da)\
**Post date:** [9. Februar 2014 um 15:10 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/17 "2014-02-09T15:10:37Z")

</div>

Habe die Zeile angepasst. Nun erhalte ich einen weiteren Fehler. Klar nach dem „if“ steht keine Anweisung (missing if condition), aber ich habe auch leider keine Ahnung, was ich dort eintagen müsste -.-" `Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. Syntax Error in template "/var/www/vhosts/grow-da.de/httpdocs/templates/emotion\_green/frontend/checkout/cart\_item.tpl" on line 12 "{if}" missing if condition in Smarty/sysplugins/smarty\_internal\_templatecompilerbase.php on line 657 Stack trace:` Mal von vorne: ich habe in emotion\_green/frontend zwei ordner angelegt Namens checkout und detail. In jedem Ordner jeweils eine Datei angelegt. In Checkout cart\_item.tpl und in detail buy.tpl Inhalt buy.tpl `{\* Grundgeruest vom Mastertemplate erben \*} {extends file="../\_default/frontend/detail/buy.tpl"} {block name='frontend\_detail\_buy\_quantity'} {if $sArticle.laststock && !$sArticle.sVariants && $sArticle.instock \< $sArticle.maxpurchase} {assign var=maxQuantity value=$sArticle.instock+1} {else} {assign var=maxQuantity value=$sArticle.maxpurchase+1} {/if}<label for="sQuantity">{s name="DetailBuyLabelQuantity"}{/s}:</label><input id="sQuantity" type="text" name="sQuantity" value="1" size="5" maxlength="30">{/block}` Inhalt cart\_item.tpl `{ Grundgeruest vom Mastertemplate erben } {extends file="../\_default/frontend/checkout/cart\_item.tpl} { Article amount } {block name='frontend\_checkout\_cart\_item\_quantity'} div class=grid\_1 {if $sBasketItem.modus == 0} input id=sQuantity type=text name=sQuantity value={$sBasketItem.quantity} class=auto\_submit size=5 maxlength=30input input type=hidden name=sArticle value={$sBasketItem.id} {else} &nbsp; {if} div {block}` edit: was mir gerade auffällt, dass das Suchfeld und der Rest im Header fehlt sobalt ich im Warenkorb bin… [http://grow-da.de/](http://grow-da.de/) edit2: wo finde ich Smarty/sysplugins/smarty\_internal\_templatecompilerbase.php ? – found in /engine/Library/Smarty/sysplugins edit3: Inhalt line 657 `throw new SmartyCompilerException($error\_text);` was sagt mir das?

---

<div class="post-metadata">

**Author:** ![Grow-da](https://avatars.discourse-cdn.com/v4/letter/g/51bf81/32.png) [@Grow-da](https://forum.shopware.com/u/Grow-da)\
**Post date:** [10. Februar 2014 um 20:17 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/18 "2014-02-10T20:17:51Z")

</div>

So, ich habe es hinbekommen 🙂 Inhalt cart\_item.tpl [code]{ Grundgeruest vom Mastertemplate erben } {extends file="…/\_default/frontend/checkout/cart\_item.tpl"} {\* Article amount \*} {block name=‘frontend\_checkout\_cart\_item\_quantity’}

{if $sBasketItem.modus == 0} {else} &nbsp; {/if}  
{/block}[/code] Inhalt buy.tpl [code]{\* Grundgeruest vom Mastertemplate erben \*} {extends file="…/\_default/frontend/detail/buy.tpl"} {if !$sArticle.laststock || $sArticle.sVariants || $sArticle.instock\>0}  
{block name=‘frontend\_detail\_buy\_quantity’} {if $sArticle.laststock && !$sArticle.sVariants && $sArticle.instock \< $sArticle.maxpurchase} {assign var=maxQuantity value=$sArticle.instock+1} {else} {assign var=maxQuantity value=$sArticle.maxpurchase+1} {/if} {s name=“DetailBuyLabelQuantity”}{/s}:\<!–

→ {/block}[/code] Damit funktioniert es jetzt perfekt 🙂

---

<div class="post-metadata">

**Author:** ![Neox](https://avatars.discourse-cdn.com/v4/letter/n/b5a626/32.png) [@Neox](https://forum.shopware.com/u/Neox)\
**Post date:** [5. Juni 2014 um 11:30 UTC](https://forum.shopware.com/t/frontend-mengeneingabe-durch-textfeld-statt-dropdown-menu/3827/19 "2014-06-05T11:30:36Z")

</div>

Hallo, vielen Dank für die Lösung. Ich habe allerdings ein kleines Problem, wenn ich im Artikel eine Mindestmenge mit oder ohne Stafflung eingebe, funktioniert das mit dem Text-Feld nicht mehr. Heißt, Artikel A hat eine Mindestmenge von 3, der Kunde gibt in das Feld aber nur 2 ein. Hier wird der Inhalt dann nicht in den Warenkorb übermittelt, nur wenn man die Korrekten Möglichkeiten eingibt! Könnte man bestimmt mit einer {if} in den 2 Datein regeln. Weiß aber nur nicht mit welchen Variablen… Kann mir hierzu jemand helfen?
