Merkmalfilter mit nur einem Merkmal ausblenden

  • Ersteller des Themas Ersteller des Themas mksl
  • Erstellungsdatum Erstellungsdatum

mksl

Guest
Hallo, hat jemand eine Idee wie ich die Filterdropdowns mit nur einem Eintrag ausblende?

Danke für jeden Tip im Vorraus Michael.
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.655
2.707
Berlin
Firma
css-umsetzung
AW: Merkmalfilter mit nur einem Merkmal ausblenden

Nur über eine tpl manipulation, du könntest dort mit einer if abfrage, die jeweilige vorhandene Menge abfragen.
 

mksl

Guest
AW: Merkmalfilter mit nur einem Merkmal ausblenden

Danke für die Info.

Vieleicht einen kurzen Tip in welcher .tpl und wie die If Abfrage aussehen könnte?

Danke im Vorraus.

Michael
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.655
2.707
Berlin
Firma
css-umsetzung
AW: Merkmalfilter mit nur einem Merkmal ausblenden

das sollte wenn du nicht die globalen meinst in boxes/box_filter_characteristics.tpl Zeile 7 sein

dort steht das hier {if ($Merkmal->cTyp === 'SELECTBOX') && $Merkmal->oMerkmalWerte_arr|@count > 1}

was bereits dafür sorgt das Merkmale unter 2 Werte nicht in einer Selectbox angezeigt werden wenn ich das jetzt so richtig deute.

du müsstest also vermutlich den section block mit einer if abfrage umschließen

PHP:
{if $Merkmal->oMerkmalWerte_arr|@count > 1}
<section...>
</section>
{/if}

aber das ist jetzt so nebenbei beim Fußball getippt....
 
  • Gefällt mir
Reaktionen: djdreh

mksl

Guest
AW: Merkmalfilter mit nur einem Merkmal ausblenden

Super, funktioniert in den Boxen. Wie kann kann ich das gleiche für die Merkmal-Dropdowns in im Contentbereich erreichen?
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.655
2.707
Berlin
Firma
css-umsetzung
AW: Merkmalfilter mit nur einem Merkmal ausblenden

Es gibt zwei dieser merkmalfilter, die andere tpl hat den gleichen namen mit dem zusatz global, wenn du das meinst
 

mksl

Guest
AW: Merkmalfilter mit nur einem Merkmal ausblenden

Nein ich meine diese:

filter.jpg
 

Anhänge

  • filter.jpg
    filter.jpg
    83 KB · Aufrufe: 81

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.655
2.707
Berlin
Firma
css-umsetzung
AW: Merkmalfilter mit nur einem Merkmal ausblenden

Das sollte dann vermutlich productlist/result_options.tpl sein so ab Zeile 102 fangen die an und das müsste dann wohl so aussehen:

PHP:
                        {if $Merkmal->oMerkmalWerte_arr|@count > 1}
                            <div class="form-group dropdown">
                                <a href="#" class="btn btn-default dropdown-toggle form-control" data-toggle="dropdown" role="button" aria-expanded="false">
                                    {$Merkmal->cName} <span class="caret"></span>
                                </a>
                                {include file='snippets/filter/characteristic.tpl' class="dropdown-menu" role="menu"}
                            </div>
                        {/if}
 

mksl

Guest
AW: Merkmalfilter mit nur einem Merkmal ausblenden

Genial. Tausend Dank.

Hättest du evt. noch einen Tip wie ich das Dropdown "Filter" standardmäßig geöffnet ist?
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.655
2.707
Berlin
Firma
css-umsetzung
AW: Merkmalfilter mit nur einem Merkmal ausblenden

Uiiii das wird jetzt aber teuer....

in Zeile 46 vom result

da hängst du in der class das fett markierte ran

<div id="filter-collapsible" class="collapse top10 in">
 

mksl

Guest
AW: Merkmalfilter mit nur einem Merkmal ausblenden

Nochmal super.

Danke für die schnelle und kompetente Hilfe. Werde deine Dienste gerne in Anspruch nehmen.
Sende mir doch kurz per PN deine Tarife und Kontaktdaten. Beim nächsten Problemchen spanne ich dich dann gerne ein.

Gruß Michael
 

mksl

Aktives Mitglied
8. Juli 2021
4
2
Kaum fünf Jahre vergangen und schon wieder ein Problem. Kann mir jemand weiterhelfen beim Ausblenden der Merkmalfilter im JTL Shop 5 die nur einen Eintrag haben?

Verwende aktuell im JTL 5 Testshop das EVO-master Template.

Gruß Michael
 
  • Gefällt mir
Reaktionen: Alexander Zezula

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
309
11
@mksl Ich hatte das heute Testweise in einem Child Template gemacht, aber wieder verworfen, daher auch nur mäßig getestet und ohne Garantie:

boxes/box_filter_characteristics.tpl

Code:
{extends file="{$parent_template_path}/boxes/box_filter_characteristics.tpl"}
{block name='boxes-box-filter-characteristics'}
    {if $nSeitenTyp === $smarty.const.PAGE_ARTIKELLISTE
        && !($isMobile || $Einstellungen.template.productlist.filter_placement === 'modal')}
        {foreach $oBox->getItems() as $characteristic}
        {if $characteristic->getOptions()|@count > 1}
            <div id="sidebox{$oBox->getID()}-{$characteristic->getID()}" class="box box-filter-characteristics d-none d-lg-block">
                {button
                    variant="link"
                    class="btn-filter-box dropdown-toggle"
                    role="button"
                    block=true
                    data=["toggle"=> "collapse", "target"=>"#cllps-box{$oBox->getID()}-{$characteristic->getID()}"]
                }
                    <span class="characteristic-collapse-btn-inner text-truncate">
                        {$img = $characteristic->getImage(\JTL\Media\Image::SIZE_XS)}
                        {if $Einstellungen.navigationsfilter.merkmal_anzeigen_als !== 'T'
                        && $img !== null
                        && $img|strpos:$smarty.const.BILD_KEIN_MERKMALBILD_VORHANDEN === false
                        && $img|strpos:$smarty.const.BILD_KEIN_ARTIKELBILD_VORHANDEN === false}
                            {include file='snippets/image.tpl'
                                item=$characteristic
                                square=false
                                class='img-xs'
                                srcSize='xs'
                                sizes='24px'}
                        {/if}
                        {if $Einstellungen.navigationsfilter.merkmal_anzeigen_als !== 'B'}
                            {$characteristic->cName}
                        {/if}
                    </span>
                {/button}
                {collapse
                    id="cllps-box{$oBox->getID()}-{$characteristic->getID()}"
                    visible=$characteristic->isActive() || $Einstellungen.template.productlist.filter_items_always_visible === 'Y'}
                    {block name='boxes-box-filter-characteristics-characteristics'}
                        {if ($characteristic->getData('cTyp') === 'SELECTBOX') && $characteristic->getOptions()|@count > 0}
                            {block name='boxes-box-filter-characteristics-select'}
                                {dropdown variant="outline-secondary" text="{lang key='selectFilter' section='global'} " toggle-class="btn-block text-left-util"}
                                {block name='boxes-box-filter-characteristics-include-characteristics-dropdown'}
                                    {include file='snippets/filter/characteristic.tpl' Merkmal=$characteristic}
                                {/block}
                                {/dropdown}
                            {/block}
                        {else}
                            {block name='boxes-box-filter-characteristics-link'}
                                {block name='boxes-box-filter-characteristics-include-characteristics-link'}
                                    {include file='snippets/filter/characteristic.tpl' Merkmal=$characteristic}
                                {/block}
                            {/block}
                        {/if}
                    {/block}
                {/collapse}
                {block name='boxes-box-filter-characteristics-hr'}
                    <hr class="box-filter-hr">
                {/block}
            </div>
        {/if}
        {/foreach}
    {/if}
{/block}

Innerhalb der FOR-Schleife in Zeile 6 gibt es eine zusätzlich if-Abfrage, die in Zeile 58 wieder geschlossen wird.
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.775
831
Wir suchen auch diese Möglichkeit, wir haben die Merkmale als "Text-Auswahl" definiert, die Einstellung 1787 auf Standard gestellt (wir haben sehr viele Merkmale + Artikel).

Leider greift aber diese Variante nicht, sofern man ein Merkmalwert ausgewählt hat, selbst Merkmale mit 0 Treffer werden angezeigt.

Kann hier jemand helfen?
 

Ähnliche Themen