Neu JTL Shop5 ... Merkmalwerte mit 0 Treffer ausblenden

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.717
812
Hallo,

wir wollen im JTL Shop 5 komplett mit Merkmalen arbeiten.

Die Merkmalübersicht befindet sich links in der Leiste, wenn ich eine Oberkategorie geöffnet habe, sehen wir alle Merkmale und Merkmalwerte.
Sobald ich nun aber ein Merkmalwert angeklickt habe, möchte ich alle weiteren Merkmalwerte mit "0" Treffer ausblenden.

Wir haben die Option Trefferanzahl bei Merkmalfiltern anzeigen (Einstellung: 1787) aktiviert "Trefferanzahl auch bei möglicher Mehrfachauswahl anzeigen (performancelastig)", was sehr performancelastig sein soll und wir auch bemerkt haben.
Hier konnte ich aber im Template einen "display: none" setzen, dass alle Werte mit 0 verschwinden, klappt sehr gut ... Performance aber bescheiden.


Warum ist denn dies überhaupt so performancelastig??? Wir würden in den sauren Apfel beißen uns sagen, OK wir verzichten auf die Mengenanzahl, leider greift aber dann unsere Anpassung oben nicht mehr.
Wir kann ich also Merkmalwerte filtern, wenn es keine Treffer dazu gibt?

Danke


/snippets/filter/characteristic.tpl (Zeile 31)
{extends file="{$parent_template_path}/snippets/filter/characteristic.tpl"}

{block name='snippets-filter-characteristic'}
{$is_dropdown = ($Merkmal->cTyp === 'SELECTBOX')}
{$limit = $Einstellungen.template.productlist.filter_max_options}
{$collapseInit = false}
{$showFilterCount = $Einstellungen.navigationsfilter.merkmalfilter_trefferanzahl_anzeigen !== 'N'
&& !($Einstellungen.navigationsfilter.merkmalfilter_trefferanzahl_anzeigen === 'E' && $Merkmal->getData('isMultiSelect'))}
<div class="filter-search-wrapper">
{block name='snippets-filter-characteristic-include-search-in-items'}
{include file='snippets/filter/search_in_items.tpl' itemCount=count($Merkmal->getOptions()) name=$Merkmal->getName()}
{/block}
{if $Merkmal->getData('cTyp') === 'BILD'}
<ul class="nav nav-filter-has-image">
{/if}
{foreach $Merkmal->getOptions() as $attributeValue}
{$attributeImageURL = null}
{if ($Merkmal->getData('cTyp') === 'BILD' || $Merkmal->getData('cTyp') === 'BILD-TEXT')}
{$attributeImageURL = $attributeValue->getImage(\JTL\Media\Image::SIZE_XS)}
{if $attributeImageURL|strpos:$smarty.const.BILD_KEIN_ARTIKELBILD_VORHANDEN !== false
|| $attributeImageURL|strpos:$smarty.const.BILD_KEIN_MERKMALWERTBILD_VORHANDEN !== false}
{$attributeImageURL = null}
{/if}
{/if}
{if $is_dropdown}
{block name='snippets-filter-characteristics-dropdown'}
{dropdownitem
class="{if $attributeValue->isActive()}active{/if} filter-item"
href="{if !empty($attributeValue->getURL())}{$attributeValue->getURL()}{else}#{/if}"
title="{if $Merkmal->getData('cTyp') === 'BILD'}{$attributeValue->getValue()|escape:'html'}{/if}"
style="{if $attributeValue->getCount()==0}display: none;{/if}"
}
<div class="box-link-wrapper">
<i class="far fa-{if $attributeValue->isActive()}check-{/if}square snippets-filter-item-icon-right"></i>
{if !empty($attributeImageURL)}
{image lazy=true webp=true
src=$attributeImageURL
alt=$attributeValue->getValue()|escape:'html'
class="vmiddle"
}
{/if}
<span class="word-break filter-item-value">{$attributeValue->getValue()|escape:'html'}</span>
{if $showFilterCount}
{badge variant="outline-secondary"}{$attributeValue->getCount()}{/badge}
{/if}
</div>
{/dropdownitem}
{/block}
{else}
{if $limit != -1 && $attributeValue@iteration > $limit && !$collapseInit}
{block name='snippets-filter-characteristics-more-top'}
<div class="collapse {if $Merkmal->isActive()} show{/if}" id="box-collps-filter-attribute-{$Merkmal->getValue()}" aria-expanded="false" role="button">
<ul class="nav {if $Merkmal->getData('cTyp') !== 'BILD'}flex-column{/if}">
{$collapseInit = true}
{/block}
{/if}
{block name='snippets-filter-characteristics-nav'}
{if {$Merkmal->getData('cTyp')} === 'TEXT'}
{block name='snippets-filter-characteristics-nav-text'}
{link class="{if $attributeValue->isActive()}active{/if} filter-item"
href="{if !empty($attributeValue->getURL())}{$attributeValue->getURL()}{else}#{/if}"
title="{$attributeValue->getValue()|escape:'html'}"
rel="nofollow"
}
<div class="box-link-wrapper" {if $attributeValue->getCount()==0}style="display: none;"{/if}>
<i class="far fa-{if $attributeValue->isActive()}check-{/if}square snippets-filter-item-icon-right"></i>
{if !empty($attributeImageURL)}
{image lazy=true webp=true
src=$attributeImageURL
alt=$attributeValue->getValue()|escape:'html'
class="vmiddle"
}
{/if}
<span class="word-break filter-item-value">{$attributeValue->getValue()|escape:'html'}</span>
{if $showFilterCount}
{badge variant="outline-secondary"}{$attributeValue->getCount()}{/badge}
{/if}
</div>
{/link}
{/block}
{elseif $Merkmal->getData('cTyp') === 'BILD' && $attributeImageURL !== null}
{block name='snippets-filter-characteristics-nav-image'}
{link href="{if !empty($attributeValue->getURL())}{$attributeValue->getURL()}{else}#{/if}"
title="{if $showFilterCount}{$attributeValue->getValue()|escape:'html'}: {$attributeValue->getCount()}{else}{$attributeValue->getValue()|escape:'html'}{/if}"
data=["toggle"=>"tooltip", "placement"=>"top", "boundary"=>"window"]
class="{if $attributeValue->isActive()}active{/if} filter-item"
rel="nofollow"
}
{image lazy=true webp=true
src=$attributeImageURL
alt=$attributeValue->getValue()|escape:'html'
title="{if $showFilterCount}{$attributeValue->getValue()|escape:'html'}: {$attributeValue->getCount()}{else}{$attributeValue->getValue()|escape:'html'}{/if}"
class="vmiddle filter-img"
}
<span class="d-none filter-item-value">
{$attributeValue->getValue()|escape:'html'}
</span>
{/link}
{/block}
{else}
{block name='snippets-filter-characteristics-nav-else'}
{link href="{if !empty($attributeValue->getURL())}{$attributeValue->getURL()}{else}#{/if}"
title="{if $showFilterCount}{$attributeValue->getValue()|escape:'html'}: {$attributeValue->getCount()}{else}{$attributeValue->getValue()|escape:'html'}{/if}"
class="{if $attributeValue->isActive()}active{/if} filter-item"
rel="nofollow"
}
<div class="box-link-wrapper" {if $attributeValue->getCount()==0}style="display: none;"{/if}>
{if !empty($attributeImageURL)}
{image lazy=true webp=true
src=$attributeImageURL
alt=$attributeValue->getValue()|escape:'html'
title="{if $showFilterCount}{$attributeValue->getValue()|escape:'html'}: {$attributeValue->getCount()}{else}{$attributeValue->getValue()|escape:'html'}{/if}"
class="vmiddle filter-img"
}
{/if}
<span class="word-break filter-item-value">
{$attributeValue->getValue()|escape:'html'}
</span>
{if $showFilterCount}
{badge variant="outline-secondary"}{$attributeValue->getCount()}{/badge}
{/if}
</div>
{/link}
{/block}
{/if}
{/block}
{/if}
{/foreach}
{if !$is_dropdown && $limit != -1 && $Merkmal->getOptions()|count > $limit}
{block name='snippets-filter-characteristics-more-bottom'}
</ul>
</div>
<div class="snippets-filter-show-all">
{button variant="link"
role="button"
data=["toggle"=> "collapse", "target"=>"#box-collps-filter-attribute-{$Merkmal->getValue()}"]}
{lang key='showAll'}
{/button}
</div>
{/block}
{/if}
{if $Merkmal->getData('cTyp') === 'BILD'}
</ul>
{/if}
</div>
{/block}
 

golvreven

Gut bekanntes Mitglied
1. Oktober 2020
273
21
Hallo zusammen,

meine Frage geht auch in die Richtung: Wie kann ich verhindern, dass Nutzer bei der Filterung auf Kombinationen stoßen, zu denen es keine Ergebnisse gibt?

Viele Grüße
g.
 

golvreven

Gut bekanntes Mitglied
1. Oktober 2020
273
21
Hallo Sirko,

das wusste ich nicht. Ist aber auch recht aktuell (07.04.). Als Nutzer ist es sehr frustrierend, wenn ich mich durch die Merkmale klicke und ständig "0 Ergebnisse" angezeigt bekomme. Da breche ich das Ganze nach kurzer Zeit ab und zweifle an der Sinnhaftigkeit der Filterfunktion.

Viele Grüße
g.
 

ple

Sehr aktives Mitglied
20. August 2019
864
181
Mh, also bei mir ist das so, aber ich kann dir nicht genau sagen, ob es am Merkmalplugin liegt oder Kategorieplugin von @zaxxo oder meine Templateänderungen (ist noch nicht optimal, ich weiß) . Oder ich habe dein Problem falsch verstanden.
Hier mal ein Beispiel
https://numiverse.com/Edelmetalle
- Ohne ein Feingewicht auszuwählen stehen somit alle Feingewichte der Artikel zum Filtern zur Verfügung.
- Filtert man jetzt nach Nominal mit 1/4 Dollar, dann kann man unter Feingewicht nur noch die anklicken, die auch gelistet werden,.

Oder hier,
https://numiverse.com/Muenzen_2
Filtert man Nominal mit 1 Dollar, verschwinden alle anderen Filter.

Hier mal die Plugins, die ich im Einsatz habe mit dem Shop 5.3.3
https://www.zaxxo.de/Artikel-aus-Unterkategorien-auch-in-Oberkategorien-anzeigen
https://www.zaxxo.de/Erweiterte-Merkmale
 

golvreven

Gut bekanntes Mitglied
1. Oktober 2020
273
21
Hallo ple,

mir geht es auch um kombiniere Filtermerkmale. In etwa so: Ein Kunde filtert in der Kategorie Schuhe nach Schuhen mit Klettverschluss. Und kann diesen Filter weiterhin mit dem Filter Schnürsenkellängen kombinieren. Was ja keinen Sinn macht, weil 0 Ergebnisse dahinterstehen.

Viele Grüße
g.
 

ple

Sehr aktives Mitglied
20. August 2019
864
181
Wäre doch aktuell bei mir so. Man filtert nach 1/4 Dollar, unter Feingewicht oder Land verschwinden alle anderen Merkmal, die die Artikel halt nicht haben. Wäre ja blöd wenn er Land Kanada auswählen könnte, es aber keine kombination gibt.
Oder ich hab ne Brett vorm Kopf.
 

golvreven

Gut bekanntes Mitglied
1. Oktober 2020
273
21
Bei uns ist es leider nicht so. Die Filtermerkmale, die zu 0 Ergebnissen führen, bleiben auswählbar.
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.717
812
wir haben nur die 2. Option gewählt, wir haben das damals mit Template Snacky integrieren lassen, weil diese Option richtig Power braucht vom Server
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Plugin: JTL Exportformat Google Shopping gibt <g:google_product_category> unter Shop 5.7.1 und Wawi 2.0.4 nicht aus Plugins für JTL-Shop 1
Neu Widerrufsbutton für JTL-Shop 4 Allgemeine Fragen zu JTL-Shop 6
Neu Rabatte aus dem JTL-Shop werden in der Wawi nur als Netto-Preis übernommen, Rabatt % gehen verloren Onlineshop-Anbindung 0
JTL Anmeldung letzter Benutzer JTL-Wawi 1.11 3
Test-Kunden als solche in JTL markieren, um die Auswertungen sauber zu halten? JTL-Wawi 1.11 1
Neu Ab Wawi 1.10 - JTL.Wawi.Pos.exe direkt ohne JTL-Administrator starten? Allgemeine Fragen zu JTL-POS 2
Neu JTL-Shop - Wechsel von Test zum Livebetrieb - was beachten ? Installation / Updates von JTL-Shop 2
JTL APP - Fehlermeldung nach Update auf Wawi 1.11. JTL-Wawi App 6
Eigener Drittshop-Connector (jtl/connector 5.3): valide Variationskombinationen werden mit „besitzt keine Variationen" nicht gesendet JTL-Wawi 1.11 1
JTL Wawi 1.11. - Fenstergröße - Artikel auf Einkaufsliste setzen JTL-Wawi 1.11 3
Neu Problem mit dem JTL-Connector – Invalid Shopify connection credentials. Shopify-Connector 3
Neu JTL Artikelanlage mit KI beschleunigen User helfen Usern - Fragen zu JTL-Wawi 2
Neu JTL-Wawi Shopabgleich per E-Mail überwachen (Warnungen & Fehler) Onlineshop-Anbindung 1
Neu Helfen Lösungen wie Unicorn wirklich, um die teuren Preise bei JTL zu vermeiden? Amazon-Anbindung - Ideen, Lob und Kritik 1
Neu Meta Shop seit September 2025: JTL-Lösung für neue Checkout-URL gesucht Allgemeine Fragen zu JTL-Shop 0
Neu Bug? Führende Nullen bei Sendungsnummern verschwinden in JTL-Wawi 2.0.3 JTL-ShippingLabels - Fehler und Bugs 1
DPD Cloud Labeldruck auf Zebra LP 2844-Z seit Update auf JTL-Wawi 1.11.x fehlerhaft JTL-Wawi 1.11 3
JTL nach Update auf 2.0.3 im Bereich „Kunden“ extrem langsam JTL-Wawi 2.0 1
Neu DHL 4.0 mit JTL-ShippingLabels funktioniert nicht JTL-ShippingLabels - Fehler und Bugs 2
JTL-Wawi sucht falschen ShopType nach Gambio-Update JTL-Wawi 1.7 2
Neu JTL Lizensserver ist nicht erreichbar eBay-Anbindung - Fehler und Bugs 0
Nach update 1.8>1.11 Kein Mandant in JTL-Wawi gefunden JTL-Wawi 1.11 5
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Rabatt Coupons in Verbindung mit Staffelpreisen - JTL 1.11.9, JTL Shop JTL-Wawi 1.11 0
Neu JTL → Shopify Connector: MappingTablesException / „Endpoint id is empty“ – betroffene Artikel aus Logs per SQL finden Shopify-Connector 1
Neu Abschaltung DHL versenden 3.0 vs JTL Shipping JTL-ShippingLabels - Ideen, Lob und Kritik 4
Neu JTL PayPal Checkout 2.3.0 ... 1. Update klappte nicht, 2. Update nun Eintrag doppelt Plugins für JTL-Shop 19
Fehler beim Abgleich mit dem JTL-Shop JTL-Wawi 2.0 12
Neu Warnung: Attribute via JTL Funktion JTL_GetProductAttribute() funktioniert nicht zuverlässig Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 0
Neu Eignes Feld aus Auftrag in Rechnung anzeigen lassen JTL-WaWi 1.11.10 Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
In Bearbeitung JTL FFN Seite defekt? JTL-Fulfillment Network - Fehler und Bugs 1
Neu Freelancer für JTL-Wawi, Shop & Prozessautomatisierung Dienstleistung, Jobs und Ähnliches 0
Neu Hilfe bei jtl-pos Synchronisation User helfen Usern - Fragen zu JTL-Wawi 5
Beantwortet JTL-POS „Rechnung drucken“ Allgemeine Fragen zu JTL-POS 2
JTL ERP-Connector JTL-Wawi 2.0 0
Neu Reverse Charge Verfahren - JTL richtiger Steuersatz Shopify-Connector 3
Neu JTL Shop 5.7.1 mit Fehlern - versandarten zahlungsarten nicht änderbar, leere weiße Seite JTL-Shop - Fehler und Bugs 5
Neu Umzug von sehr alter JTL Wawi Version auf neuen PC User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL REST API (on premise) - welche API Version ab welcher Wawi-Version? Changelog? Schnittstellen Import / Export 0
Neu Massiver jtl-shop-cron aufruf JTL-Shop - Fehler und Bugs 7
Neu Ab welcher JTL Wawi Version ist der OnPremise REST API Endpoint POST /v2/returns oder POST /v1/returns für Create Return verfügbar? Schnittstellen Import / Export 0
Neu JTL Stammtisch im TurboZentrum 04.06.2026 Messen, Stammtische und interessante Events 1
Neu JTL Stammtisch Dresden 21.05.2026 Messen, Stammtische und interessante Events 0
Neu JTL Stammtisch Bochum am 20.05.2026 (morgen) Messen, Stammtische und interessante Events 0
Manche Produkte werden nicht erkannt JTL/ Shopify JTL-Wawi 2.0 3
Bessere Greyhound-Anbindung ab 1.10 - JTL-API-Pflicht? JTL-Wawi 1.10 12
Neu Seller2Go – Mobile App & JTL-Plugin für Bestellungen, Support und Produktmanagement Plugins für JTL-Shop 0
JTL Ameise Lieferantenbestellung mit VPE importieren oder umrechnen JTL-Wawi 1.11 0
JTL-Stammtisch Bochum – am 20.05.2026 Messen, Stammtische und interessante Events 0

Ähnliche Themen