Hallo zusammen. Ich habe wieder eine Frage. wie kann ich in den Bereich “Zuletzt angesehen” die Produkte mit Preis + Grundpreis anzeigen? Danke Sergius
Hallo, ich habe das gefunden für Shopware5. Du kannst neue Attribute für lastSeenProducts erstelen in: themes/Frontend/DeineTheme/frontend/index/index.tpl und die HTML code zu zeigen in: themes/Frontend/DeineTheme/frontend/_public/src/js/jquery.last-seen-products.js Vorsicht: Nur die neue besuchte Artikel nach die Änderung haben das neu Attribute. Beispiel fur Attr1 : themes/Frontend/DeineTheme/frontend/index/index.tpl Die neue Linie: 'attr1': '{$sArticle.attr1}',
zusammen var lastSeenProductsConfig = lastSeenProductsConfig || {ldelim} 'baseUrl': '{$Shop-\>getBaseUrl()}', 'shopId': '{$Shop-\>getId()}', 'noPicture': '{link file="frontend/\_public/src/img/no-picture.jpg"}', 'productLimit': ~~('{config name="lastarticlestoshow"}'), 'currentArticle': {ldelim}{if $sArticle} {foreach $sLastArticlesConfig as $key =\> $value} '{$key}': '{$value}', {/foreach} 'articleId':~~('{$sArticle.articleID}'), 'linkDetailsRewritten': '{$sArticle.linkDetailsRewrited}', 'articleName': '{$sArticle.articleName|escape:"javascript"}', 'attr1': '{$sArticle.attr1}', 'images': {ldelim} {foreach $sArticle.image.thumbnails as $key =\> $image} '{$key}': {ldelim} 'source': '{$image.source}', 'retinaSource': '{$image.retinaSource}', 'sourceSet': '{$image.sourceSet}' {rdelim}, {/foreach} {rdelim} {/if}{rdelim} {rdelim};
themes/Frontend/DeineTheme/frontend/_public/src/js/jquery.last-seen-products.js Das Neu [code] if(article.attr1==“24”){ return $(’
', { ‘class’: me.opts.itemCls, ‘html’: [ me.createProductImage(article), me.createProductTitle(article), ’
’ ] }); } else { … }[/code] zusammen [code] /** * Creates a product slider item template. * * @public * @method createTemplate * @param {Object} article */ createTemplate: function (article) { var me = this; if(article.attr1==“24”){ return $(’
', { ‘class’: me.opts.itemCls, ‘html’: [ me.createProductImage(article), me.createProductTitle(article), ’
’ ] }); } else { return $(’
', { ‘class’: me.opts.itemCls, ‘html’: [me.createProductImage(article), me.createProductTitle(article)] }); } }, … [/code]
1000 Dank für die Anleitung. Ich habe das Vorgehen noch etwas verfeinert, in dem ich nicht die “themes/Frontend/DeineTheme/frontend/_public/src/js/jquery.last-seen-products.js” klone, sondern durch eine “themes/Frontend/DeineTheme/frontend/_public/src/js/jquery.override.last-seen-products.js” erweitere:
;(function ($) {
$.overridePlugin('swLastSeenProducts', {
createTemplate: function (article) {
var me = this,
$template = $('', {
'class': me.opts.itemCls,
'html': [
me.createProductImage(article),
me.createProductTitle(article),
me.createPriceTemplate(article)
]
});
$.publish('plugin/swLastSeenProducts/onCreateTemplate', [me, $template, article]);
return $template;
},
createPriceTemplate: function (article) {
var html;
// your custom stuff here
return $(html);
}
});
}(jQuery));
Das ist natürlich immer noch nicht komplett perfekt, aber erspart schonmal das Kopieren größerer Code-Brocken.
Oh, und die neue JS-Datei muss natürlich in der "Theme.php" registriert werden.