Habe das Thema mit Interesse verfolgt, da ich die Filterbox und die Auswahl unter der Kategorie-Beschreibung haben möchte. Das Problem ist das mit {$FILTER_SELECTION} ein JS geladen wird und eben immer oben angezeigt. Überladen der category_listing_template_categorie_listing.html funktioniert nicht, da erst die Original-Datei geladen wird und dann die eigene Überladung. damit ist {$FILTER_SELECTION} schon geladen. So habe ich die originale category_listing_template_categorie_listing.html bearbeitet und {$FILTER_SELECTION} entfernt HTML: {block name="category_listing_template_categorie_listing_filter_selection"} {/block} und nach GXModules/BoxFilter/Filter/Shop/Themes/All/Html/System/ hochgeladen. Dann als Überladung eine category_description_top.html mit diesem Inhalt erstellt: Code: {block name="category_description_top_container_if" append} {if ""|show_left_column === true} {menuboxes first=2 last=2} {/if} {include file="get_usermod:{$tpl_path}filter.html"} {/block} Caches geleert und nun ist alles da wo es hin soll. Bitte vorher testen!
Das müsste in der index.html funktionieren mit: ... HTML: {block name="index_inner_wrapper_main_banner" append} {if ""|detect_page == 'Index'} {block name="new_filter_position"} {if $SHOW_LEFT_COLUMN} {menuboxes first=2 last=2} {/if} {/block} {/if) {/block} ungetestet, brauche ich nicht
da haben wir was gemeinsam , die neue Version hier läuft bei mir auch nicht; dafür aber die alte. Kann ich aber gut mit leben.
Hallo @Cyrus (LeGong) , danke für deine Erweiterung. Bei mir ist allerdings auch die "Mehr über" Box in der linken Spalte obwohl ausgeschaltet. Hast du hier schon eine Idee? Grüße becks
In der neuen index.html steht: HTML: {block name="index_inner_wrapper_left_content"} {if ""|show_left_column === true} <!-- BOF Turnoff Filter --> {menuboxes first=1 last=1 exclude="filter"} {menuboxes first=3 last=100 exclude="filter"} <!-- EOF Turnoff Filter --> {/if} {/block} Bei mir steht in der alten Index.html noch: HTML: {block name="index_inner_wrapper_left_content"} {if $SHOW_LEFT_COLUMN} <!-- BOF Turnoff Filter --> {menuboxes first=1 last=1 exclude="filter,content"} {menuboxes first=3 last=100 exclude="filter,content"} <!-- EOF Turnoff Filter --> {else} {menuboxes only="categories"} {/if} {/block} und damit wird die Box "mehr über" nicht angezeigt, sondern nur das, was ich angezeigte haben möchte.
@Gerd_P Erstmal Danke für deine Teilnahme und die Mitteilung deine Methode. Natürlich kann man deine Methode auch sehr gut einsetzen. Das einzige Problem ist bei der methode geht ein Stück USERMOD-Vorteil verloren, da du eine Original-Datei "category_listing_template_categorie_listing.html" änderst. Man kann auch Original-Dateien komplett überladen. Außerdem ich finde es nicht so schlimm, wenn die "FILTER_SELECTION" über die Kategorien-Beschreibung steht. Das löst auch das Problem der Seitenaktualisierung von @barbara Man kann durch ein Paar kleine Änderungen auch dieses Problem beseitigen. Ich habe die folgende Dateien folgendermaßen erweitert und in "GXModules/Meine-Name/Änderungsbezogen-Name/Shop/Themes/All/Html/System" und "GXModules/Meine-Name/Änderungsbezogen-Name/Shop/Themes/All/Css" hochgeladen. Das Ergebnis sieht man unter p3.legong.de Die Datei "SHOP-Ordner/themes/Honeygrid/html/system/box_filter.html" folgendermaßen erweitert und in "SHOP-ORDNER/GXModules/Legong/Filter-Umzug/Shop/Themes/All/Html/System" hochgeladen. Code: <!----------------------------------------------------------------------- changing the design of "box_filter.html" to a dropdown accordion panel cp LeGong webdesign and more... Copyright 2021 Legong Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] ----------------------------------------------------------------------> {load_language_text section="box_filter"} {load_language_text section="messages_filter" name="error"} {block name="box_filter"} {block name="box_filter_top"} <!--{include file="get_usermod:{$tpl_path}layout_box_top.html" class="filter" headline=$txt.heading_filter}--> {/block} {block name="box_filter_content_panel"} <div class="panel-group" id="accordion" role="filterlist"> <div class="row"> <div class="panel panel-default"> {block name="panel_title"} <h4 class="panel-title"> <button id="myBtn" style="text-align:left" class="btn btn-filter btn-block" type="button" data-toggle="collapse" data-parent="#accordion" href="#collapsible"> <span class="dropdown-name">Suche verfeinern </span><span class="caret"></span> </button> </h4> {/block} {block name="panel_body"} <div id="collapsible" class="panel-collapse collapse in" role="tabpanel"> <div class="panel-body"> {block name="box_filter_content"} <div id="filterbox-container"> {block name="box_filter_form"} <form name="search_filter" method="get" action="{$content_data.FORM_ACTION_URL}" data-gambio-widget="filter" data-gambio-_widget="filter" {if $content_data.FEATURE_DATA|@count == 0} data-filter-auto-update="false"{/if}> {block name="box_filter_form_content_inc"} {include file="get_usermod:{$tpl_path}box_filter_form_content.html"} {/block} {block name="box_filter_form_preloader"} <!--<div class="preloader"></div>--> {/block} {block name="box_filter_form_error_box"} <div class="preloader-message"> {block name="box_filter_form_error_message"} <!--<span>{$error.error}</span>--> {/block} </div> {/block} </form> {/block} </div> {/block} </div> </div> {/block} </div> </div> </div> {/block} {block name="box_filter_bottom"} <!--{include file="get_usermod:{$tpl_path}layout_box_bottom.html"}--> {/block} {/block} Die Datei "SHOP-Ordner/themes/Honeygrid/html/system/box_filter_form_content.html" folgendermaßen erweitert und in "SHOP-ORDNER/GXModules/Legong/Filter-Umzug/Shop/Themes/All/Html/System" hochgeladen. Code: <!------------------------------------------------------------- Deactivating the WRONG Message indicating an empty filter value, even though the chosen filter exists. cp Legong webdesign and more... Copyright (c) 2021 Legong Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] ------------------------------------------------------------> {load_language_text section="box_filter"} {block name="box_filter_form_content"} <div class="filter-box-form-wrapper"> <input type="hidden" name="feature_categories_id" value="{$content_data.categories_id}" /> <input type="hidden" name="filter_categories_id" value="{$content_data.categories_id}" /> {foreach name=feature_html item=feature_code from=$content_data.FEATURE_DATA} {block name="box_filter_form_content_feature"} <div class="{if ($content_data.FEATURE_MODE == 1 && $feature_code.show == false) || ($content_data.FEATURE_EMPTY_BOX_MODE == 0 && $feature_code.empty_feature == true)} hidden {else} show-filter{/if}"> {block name="box_filter_form_content_feature_html"}{$feature_code.html}{/block} {block name="box_filter_form_content_feature_empty_text_if"} {if $content_data.FEATURE_EMPTY_BOX_MODE == 1} {block name="box_filter_form_content_feature_empty_text"} <div{if !$feature_code.empty_feature} class="hidden"{/if}> <!--{$txt.feature_empty_text}--> </div> {/block} {/if} {/block} </div> {/block} {/foreach} {block name="box_filter_form_content_price_filter_if"} {if $content_data.PRICE_FILTER_FROM_ACTIVE eq 'true' || $content_data.PRICE_FILTER_TO_ACTIVE eq 'true'} {block name="box_filter_form_content_price_filter"} <fieldset class="form-horizontal"> {block name="box_filter_form_content_price_lable"} <label class="control-label option-heading" for="filter_price_min"> {$txt.text_price} </label> {/block} <div class="form-group input-container"> <div class="col-sm-4"> {block name="box_filter_form_content_price_min_if"} {if $content_data.PRICE_FILTER_FROM_ACTIVE eq 'true'} {block name="box_filter_form_content_price_min"} <input type="text" class="form-control" id="filter_price_min" name="filter_price_min" placeholder="{$txt.text_price}" value="{$content_data.DEFAULT_PRICE_START}" /> {/block} {/if} {/block} </div> {block name="box_filter_form_content_price_max_if"} {if $content_data.PRICE_FILTER_TO_ACTIVE eq 'true'} {block name="box_filter_form_content_price_max_lable"} <label class="control-label col-sm-1" for="filter_price_max"> {$txt.text_to} </label> {/block} <div class="col-sm-4"> {block name="box_filter_form_content_price_max"} <input type="text" class="form-control" id="filter_price_max" name="filter_price_max" placeholder="{$txt.text_to}" value="{$content_data.DEFAULT_PRICE_END}" /> {/block} </div> {block name="box_filter_form_content_price_currency_label"} <label class="control-label col-sm-1"> {$content_data.CURRENCY} </label> {/block} {/if} {/block} </div> </fieldset> {/block} {/if} {/block} {block name="box_filter_form_content_buttons"} <div class="form-group"> {block name="box_filter_form_content_filter_button"} <button class="btn btn-primary btn-block" type="submit" title="{$txt.button_filter}"> {$txt.button_filter} </button> {/block} {block name="box_filter_form_content_reset_button"} <button class="btn btn-default btn-block" type="reset" title="{$txt.button_reset}"> {$txt.button_reset} </button> {/block} </div> {/block} <input type="hidden" name="filter_url" value="{$content_data.FILTER_URL}" /> {load_env_array source='get' name='ENV_GET_DATA' exclude=$content_data.EXCLUDE_GET_PARAMS} {foreach name=hidden_params key=param_key item=param_value from=$ENV_GET_DATA} {if $param_key != 'feature_categories_id' && $param_key != 'filter_url' && $param_key != 'module' && $param_key != 'action' && $param_key != 'gm_boosted_product'} <input type="hidden" name="{$param_key}" value="{$param_value}" /> {/if} {/foreach} {load_env_array source='post' name='ENV_GET_DATA_POST' exclude=$content_data.EXCLUDE_POST_PARAMS} {foreach name=hidden_params key=param_key item=param_value from=$ENV_GET_DATA_POST} {if $param_key != 'feature_categories_id' && $param_key != 'filter_url' && $param_key != 'module' && $param_key != 'action'} <input type="hidden" name="{$param_key}" value="{$param_value}" /> {/if} {/foreach} </div> {/block} Die Datei "SHOP-Ordner/themes/Honeygrid/html/system/category_description_top.html" folgendermaßen erweitert und in "SHOP-ORDNER/GXModules/Legong/Filter-Umzug/Shop/Themes/All/Html/System" hochgeladen. Code: {block name="category_description_top_container_if" append} {block name="filter_under_category_description"} {if $SHOW_LEFT_COLUMN} {menuboxes first=2 last=2 exclude="content"} {/if} {/block} <!--{include file="get_usermod:{$tpl_path}filter.html"}--> {/block} Die Datei "SHOP-Ordner/themes/Honeygrid/html/system/filter_selection_template_dropdown.html" folgendermaßen erweitert und in "SHOP-ORDNER/GXModules/Legong/Filter-Umzug/Shop/Themes/All/Html/System" hochgeladen. Code: <!----------------------------------------------------------------------- changing the design of dropdowns for categories filter "filter_selection_template_dropdown.html" cp Legong webdesign and more... Copyright (c) 2021 Legong Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] ----------------------------------------------------------------------> {load_language_text section="box_filter"} {block name="filter_selection_template_dropdown"} <fieldset> <div class="filter-form-group{if $feature_value.VISIBLE == false && $feature_value.DISPLAY_MODE == 1} disabled{/if}"> <!-- BOF Adding a Table --> {block name="filter_table"} <table style="width:100%;"> <tr style="width:100%;"> <td class="filter-td"> {block name="module_filter_section_dropdown_label"} <label class="filter-control-label option-heading" for="filter_fv_id[{$content_data.FEATURE_ID}][]"> {$content_data.FEATURE_NAME} </label> {/block} </td> <td> {block name="module_filter_section_dropdown_select"} <select class="filter-form-control" id="filter_fv_id[{$content_data.FEATURE_ID}][]" name="filter_fv_id[{$content_data.FEATURE_ID}][]"{if $feature_value.VISIBLE == false && $feature_value.DISPLAY_MODE == 1} disabled="disabled"{/if}> <option value="">-</option> {foreach name=features item=feature_value from=$content_data.FEATURE_VALUE_DATA} {block name="module_filter_section_dropdown_option"} <option value="{$feature_value.ID}" {if $feature_value.SELECTED}selected="selected"{/if}> {$feature_value.NAME} </option> {/block} {/foreach} </select> {/block} </td> </tr> </table> {/block} <!-- EOF Adding a Table --> </div> </fieldset> <input type="hidden" name="value_conjunction[{$content_data.FEATURE_ID}]" value="{$content_data.VALUE_CONJUNCTION}" /> {/block} Die Datei "SHOP-Ordner/themes/Honeygrid/html/system/sidebar.html" folgendermaßen erweitert und in "SHOP-ORDNER/GXModules/Legong/Filter-Umzug/Shop/Themes/All/Html/System" hochgeladen. Code: <!----------------------------------------------------------------------- changing the values of $SHOW_LEFT_COLUMN to remove FILTER from MENUBOXES to MAIN-INSIDE cp Legong webdesign and more... Copyright 2021 Legong Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] ----------------------------------------------------------------------> {block name="index_inner_wrapper_left_aside"} <aside id="left"> {block name="index_inner_wrapper_left_content"} {if $SHOW_LEFT_COLUMN} {menuboxes first=1 last=1 exclude="content"} {menuboxes first=3 last=100 exclude="content"} {else} {menuboxes only="categories"} {/if} {/block} {block name="index_inner_wrapper_left_trusted_shops"} {if $TRUSTED_SHOPS_REVIEW_STICKER|strpos:"variant: 'skyscraper_vertical'" !== false || $TRUSTED_SHOPS_REVIEW_STICKER|strpos:"variant: 'vertical'" !== false} {$TRUSTED_SHOPS_REVIEW_STICKER} {/if} {/block} </aside> {/block} Nun habe ich passend zu Malibu-Theme eine CSS-Datei für meine Selectoren/Gambio-Filter-Selectoren (NEU DEFINIERT) und in dem Ordner "SHOP-ORDNER/GXModules/Legong/Filter-Umzug/Shop/Themes/All/Css" hochgeladen. Jeder kann passend zu seine Website die SELECTORN andere Eigenschaften definieren. Code: /*---------------------------------------------------------- changing the design of categories filter "filter.css" cp LeGong webdesign and more... Copyright (c) 2021 Legong Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] --------------------------------------------------------*/ #wrapper #main { left: 0%; float: left; width: 100% } .box-filter { position: relative; } .panel-default { background-color:#ffd200; color: #000; box-shadow: none; border-color: #eee; } .btn.btn-filter { background-color: #ffd200; background-image: none; } .btn.btn-filter:hover { background-color: #eee; background-image: linear-gradient(to bottom, #ddd 0%, #f1f1f1 100%); } .show-filter { display: inline-block; margin-right: 10px; } .filter-form-group { display: inline; margin-bottom: 15px; box-sizing: border-box; } .filter-td { width: 100px; text-align: right; padding-right:10px; } .filter-control-label { display: inline; } .filter-checkbox { display: inline; } .filter-form-control { color: #999; opacity: 1; border: 1px solid #f2f5ad; box-shadow: none; display: inline-block; width: 100%; height: 26px; padding: 2px 12px; font-size: 13px; line-height: 1.42857; color: #555; background-color: #fff; background-image: none; border-radius: 2px; transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } option { width: 100px; } .radio, .checkbox { position: relative; display: inline-block; margin-top: 10px; margin-bottom: 10px; padding-left: 10px; } .checkbox label { margin-right: 30px; } .panel-filter { margin-bottom: 18px; background-color: #fff; border: 1px solid transparent; border-radius: 2px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); box-shadow: 0 1px 1px rgba(0, 0, 0, .05); } form fieldset { margin-bottom: 10px; } form fieldset:first-of-type { margin-top: 5px; } .panel-collapse.collapse { display: none; } .collapse.in { display: block; } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .panel-collapse.collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition-property: height, visibility; -o-transition-property: height, visibility; transition-property: height, visibility; -webkit-transition-duration: 0.35s; -o-transition-duration: 0.35s; transition-duration: 0.35s; -webkit-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; } /*@media (min-width: 768px){ .navbar-search.collapse { display: block; }}*/ In dieser Variante ist die Menübox eine Full-Width-Filterbox und bleibt offen bis man ihn zuklappt.
Hallo @Cyrus (LeGong) , "Meine Methode" habe ich im Liveshop eingebaut. Das Problem der Seitenaktualisierung finde ich nicht so schlimm, da die gewählte Filterauswahl erhalten bleibt, nur die Anzeige "Aktueller Fiter" fehlt. Die "FILTER_SELECTION" über die Kategorien-Beschreibung finde ich nutzlos, optisch schlimm und wird nicht gesehen. Bin gerade am Überlegen die "FILTER_SELECTION" ganz weg zu lassen. Eigentlich steht doch alles in der Auswahl-Box. Natürlich ist das je nach Shop und Anzahl-Filter anders. Das hatte ich schon so geändert und funktioniert. Zum Testen: (Link nur für registrierte Nutzer sichtbar.)
Die "FILTER_SELECTION" wird von der Datei "SHOP-ORDNER/themes/Honeygrid/javascripts/system/widgets/filter.js" kontrolliert. "$body.addClass('filterbox-enabled');": Code: module.init = function (done) { $preloader = $this.find('.preloader, .preloader-message'); $contentWrapper = $('.main-inside'); historyAvailable = jse.core.config.get('history'); // no auto update on start page if ($(options.selectorMapping.productsContainer).length === 0) { options.autoUpdate = false; } $this.on('change', 'select, input[type="checkbox"], input[type="text"]', _changeHandler).on('click', '.btn-link', _filterClickHandler).on('reset', _resetHandler).on('submit', _submitHandler).on('click', '.show-more', _clickHandler); $body.addClass('filterbox-enabled'); done(); }; Da meine Kenntniss über JS sehr gering sind, wüsste ich nicht, wo ich was ändern sollte. Wenn FITER_SELECTION unter der Kategorien-Beschreibung steht, wird diese Funktion nicht geladen.
@Gerd_P bei dir ist es etwas anders. Keine würde eine Filter-Auswahl trefen und dann die Seite aktualisieren. Aber möglich ist es, dass man außer Filter-Auswahl auch Listen-Filter-Auswahl betätigt: "SORTIEREN NACH" oder "Anzeige pro Seite". Da wird die Seite automatisch aktualisiert und da durch die "FILTER_SELECTION"-Werte auch verschwinden. Ich finde es auch nicht so schlimm, dass die Werte verschwinden, da wie du es selbst ausgefunden hast, die ausgewählte Werte bleiben ja stehen. Wie auch immer jeder muss sehen was man/Frau braucht und wie man/Frau es gerne hat und entsprechend anpassen. Ich z. B. würde überhaupt nicht die Full-Width-Variante benutzen. Da ich es für wichtig halte auf der Produktlistenseite einige Menüpunkte anzeigen zu lassen, die ich für meine Kunden für wichtig halte.
Die wird schon geladen, aber immer oben. Außerdem wird die "FILTER_SELECTION" auch in der der product_listing_template_product_listing_v1.html angewendet, wie du schon schreibst. Wenn man/Frau die Anzeige in der filter.js Code: ........ Zeile 383 $contentWrapper = $('.main-inside'); ..... ändert, hat das eben auch Folgen für den Listen-Filter-Auswahl aus der product_listing_template_product_listing_v1.html.
Hallo, das hat bei mir geklappt, allerdings ist es nicht full width. Ich bekomme die linke Spalte nicht weg... Grüße becks
Hab's mal mit einfachen Anpassungen von der filter_selection_template_dropdown.html und box_filter_form_content.html und mit css hinbekommen. Wenn Interesse besteht, melden.