"In den Warenkorb"-Button auf Starteseite in einem Emotion-Template

Hi,

ich versuche auf der Startseite meines Subshops einen “In den Warenkorb”-Button zu erstellen.  Den Button habe ich erstellt, indem ich die buy.tpl ins box-emotion.tpl inkludierte habe. Alle meine Versuche den Button funktionsfähig zu machen schlugen fehl: Ich habe die Theme.php mit dem Pfad zu meiner test.js ausprobiert, ich habe versucht die die .js Datei im Footer einzubinden. Ich werde immer auf die “Ups! Ein Fehler ist aufgetreten”-Seite geschickt.

Aber gebe ich aber den Code “$(’*[data-add-article=“true”]’).swAddArticle();” in der Browserkonsole ein funktioniert der Button danach wie gewünscht.

Freue mich über Hilfe und Anregungen!

 

Hallo JakobL,

  1. Binde deinen Code über den Block

    {block name=„frontend_index_header_javascript_jquery“ append} {/block}

ein. Testweise kannst du es ja in die index.tpl schreiben.

EDIT:

Achja, es kann auch sein, dass du dich auf ein event registrieren musst, da die emotion geschichten nachgeladen werden.
Ungetestet:

 $.subscribe('plugin/swEmotionLoader/onRegisterEvents', function () {

     $(’*[data-add-article=„true“]’).swAddArticle();

 });
  1. Evtl. fehlen dir Daten zum Artikel die in der buy.tpl benötigt werden. Stell sicher, dass eine Variable $sArticle vorhanden ist und diese auch die 
    benötigte Struktur hat.

Sollte nichts funktionieren, kuck dass du eine Fehlermeldung erhälst. Dies gelingt dir über die config.php in dem du folgendes hinzufügst:

 'front' =\> ['noErrorHandler' =\> false, 'throwExceptions' =\> true, 'disableOutputBuffering' =\> false, 'showException' =\> true, 'charset' =\> 'utf-8'], 'template' =\> ['compileCheck' =\> true, 'compileLocking' =\> true, 'useSubDirs' =\> true, 'forceCompile' =\> true, 'useIncludePath' =\> true, 'charset' =\> 'utf-8', 'forceCache' =\> false, 'cacheDir' =\> $this-\>getCacheDir().'/templates', 'compileDir' =\> $this-\>getCacheDir().'/templates',], 'phpsettings' =\> ['display\_errors' =\> 1,], 'front' =\> ['noErrorHandler' =\> false, 'throwExceptions' =\> true, 'disableOutputBuffering' =\> false, 'showException' =\> true, 'charset' =\> 'utf-8'],

Hoffe es hilft.

Gruß.

Johannes.