Schnellbestellung in leeren Warenkorb einbauen

Hallo zusammen,

ich würde gern die Schnellbestellung aus dem Warenkorb “Artikelnummer eingeben…” auch im leeren Warenkorb zeigen. Technisch scheint das zu funktionieren, das Layout wird aber zersemmelt und man muss auch Code aus zwei Templatedateien kombinieren. Ich würde das gerne mit so wenig Redundanz wie möglich lösen, deswegen stelle ich hier mal die Frage.

Konkret geht es also um den Bereich ganz unten in der cart.tpl:

        {else}
            {* Empty basket *}
            {block name='frontend_basket_basket_is_empty'}
                
                    {include file="frontend/_includes/messages.tpl" type="warning" content="{s name='CartInfoEmpty'}{/s}"}
                
            {/block}
        {/if}

Und das Eingabefeld für die Schnellbestellung findet sich in der cart_footer.tpl:

{* Add product using the sku *}
{block name='frontend_checkout_cart_footer_add_product'}
    

        {block name='frontend_checkout_cart_footer_add_product_field'}
            
        {/block}

        {block name='frontend_checkout_cart_footer_add_product_button'}
            
                
            
        {/block}
    
{/block}

Wenn ich das einfach stumpf zusammenkopiere, funktioniert es schon, das Eingabefeld wird aber nicht korrekt dargestellt. Ein zusätzliches Dazunehmen der umgebenen DIV-Container hat leider nicht den erwünschten Erfolg gebracht. Kann man in der eigenen cart.tpl irgendwie auf den Block in der cart_footer.tpl referenzieren, um die Redundanz zu vermeiden?

Was ist sonst noch zu beachten?

 

Danke im Voraus und Grüße
Pierre

 

Ich hab noch etwas weitergemacht und einfach den kompletten Summenblock und die Benefits mit reingenommen, damit es nicht so leer ausieht. Das gefällt mir auf jeden Fall besser:

            {* Empty basket *}
            {block name='frontend_basket_basket_is_empty'}
                {$smarty.block.parent} 
                
                    {* Product table content *}
                    {block name='frontend_checkout_cart_panel'}
                        
                            
                                {* Product table footer *}
                                {block name='frontend_checkout_cart_cart_footer'}
                                    {include file="frontend/checkout/cart_footer.tpl"}
                                {/block}
                            
                        
                    {/block}
                
                    {* Benefit and services footer *}
                    {block name="frontend_checkout_footer"}
                        {include file="frontend/checkout/table_footer.tpl"}
                    {/block}
            {/block}

Jetzt hab ich das Problem mit der Redundanz. Die Blöcke frontend_checkout_cart_panel und frontend_checkout_footer sind 1:1 aus Bare übernommen, aber wenn ich darin {$smarty.block.parent} verwende, wird nicht deren Inhalt sondern der Inhalt des übergeordneten Blocks verwendet, also dasselbe wie beim ersten Vorkommen von  {$smarty.block.parent}. In dem Fall ist das der gelbe Hinweis “Es befinden sich keine Artikel im Warenkorb”. Der steht dann dreimal da.