Neu JTL Shop5 ... Merkmalwerte mit 0 Treffer ausblenden

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.674
807
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
271
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
271
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
861
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
271
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
861
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
271
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.674
807
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 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 0
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 1
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 2
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 0
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 0
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
Jtl pos Einstellungen mit wiwa 2.02 JTL-Wawi 1.11 0
Neu Bestellabgleich Shopify - JTL | Point of Sales und Online Stores Shopify-Connector 1
PayPal Abgleich funktioniert nicht (JTL 1.9.8.0) JTL-Wawi 1.9 10
Keine Rückmeldung in JTL Wawi sobald SQL Server Memory durch Database Cache ausgeslastet ist JTL-Wawi 2.0 9
Neu Nach Update auf JTL-Wawi 2.0.3 keine WMS-Lager mehr auswählbar – Versand komplett blockiert JTL-Wawi 2.0 3
Neu Neues Plugin: Erweiterter Widerrufsbutton für JTL-Shop Plugins für JTL-Shop 9
Problem mit Hermes Österreich Sendungsnummern – Fehler beim Amazon-Abgleich in JTL-Wawi JTL-Wawi 1.10 0
Ameise.exe Fundort bei JTL WAWI 2.02 JTL-Wawi 2.0 2
Neu [Suche 5 Beta-Tester] KI generiert JTL Shop 5 Templates per Beschreibung – kostenlos testen Templates für JTL-Shop 7
Webinar am 20.05. – Temu x JTL: Die Cross-Border-Chance, die du nicht verpassen solltest Messen, Stammtische und interessante Events 0
Bestellabgleich mit JTL Wawi und WooCommerce 1h verzögert JTL-Wawi 2.0 0
JTL-Worker 2.0 - Einrichtung als Dienst - Auffälligkeiten und Problemlösungen für manche JTL-Wawi 2.0 3
Neu Telemetrie-Datenerfassung in JTL-Shop 5.7.0: Bitte um Klarstellung der DSGVO-relevanten Aspekte Allgemeine Fragen zu JTL-Shop 4
Neu jtl POS und wawi 1.11.9 Bestände User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL-Anmerkungen nicht in POS-Comments übertragen Allgemeine Fragen zu JTL-POS 3
Neu JTL-Wawi mit Claude, ChatGPT, Openclaw/Hermes oder CRM System verbinden User helfen Usern 2
Hat schon jemand auf JTL 2.0.2 installieren? JTL-Wawi 2.0 9
Neu Shopware 5 + JTL-Connector: sporadische 500 Fehler / PHP-FPM Limit erreicht – trotz unverändertem Setup User helfen Usern - Fragen zu JTL-Wawi 0
Neu Komplettkündigung durch JTL - Neukunde User helfen Usern 4
Neu ❓JTL Wawi Update von 1.8 auf ??? User helfen Usern - Fragen zu JTL-Wawi 1
JTL Artikel-Maske leer/verschoben (1.11.7) JTL-Wawi 1.11 2
Ebay angebote lassen sich nicht mehr bei JTL bearbeiten JTL-Wawi 2.0 0
Using short screen recordings for JTL-Wawi workflow documentation – anyone doing this? JTL-Wawi 2.0 3
JTL-Wawi 1.11.7 Sporadischer Fehler - Zugriff verweigert. JTL-Wawi 1.11 4
Neu JERA Fehlerhafte Belege / Konfiguration JTL Steuertabelle User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL Wawi Einloggen geht nicht!! User helfen Usern - Fragen zu JTL-Wawi 4
Sanktionsprüfung mit JTL JTL-Wawi 1.10 0
Neu Gutscheincodes aus Shopware 6 in JTL Wawi als Anmerkung zeigen? Shopware-Connector 0
Neu Database connection timeouts and interface lag in JTL-Wawi with background script managers User helfen Usern 0
Welche JTL Version aktuell am sinnvollsten JTL-Wawi 1.11 29
Neu Versandkostenersparnis mit JTL-Shipping: Vergünstigte Versandlabels ohne individuelle Rahmenverträge mit Versanddienstleistern User helfen Usern - Fragen zu JTL-Wawi 1
Neu product_visibility bei JTL-Wawi und Shopware 6 Shopware-Connector 1

Ähnliche Themen