Neu Seitennavigation_aktuelle Seite immer hervorheben

R. Kroll

Mitglied
27. September 2018
67
10
Hallo zusammen,

ich benötige Hilfe von einem Profi, denn ich mache bei meinem shop bisher alles selbst. Ich weiß auch nicht ob ich das selbst erledigen kann.
Ich habe das Standard EVO.
Code per copy + paste kann ich einfügen, selbst code erstellen leider noch nicht.

zum Problem:
In der Seitennavigation wird die aktuelle Seite ab Seite 5 nicht mehr hervorgehoben, das war auch schon immer so. Im dropdown rechts wird immer die aktive Seite hervorgehoben.
Im Anhang habe ich dazu ein paar screenshots zusammengestellt.

Ich möchte gerne immer die aktuelle Seite in der horizontalen Seitennavigation hervorheben, und dann noch das dropdown rechts auf alle Seiten der aktiven Kategorie erweitern.

Ich weiß nicht was und wo verändert werden muß. Meine Suche hier im Forum war erfolglos.
Wäre super nett wenn mich jemand auf den richtigen Weg bringen könnte und mich hier unterstützt.
 

Anhänge

  • Präsentation_aktive Seite_dropdown.pdf
    393,3 KB · Aufrufe: 3

R. Kroll

Mitglied
27. September 2018
67
10
Hallo zusammen,

kleines update:

die aktuelle Seite hervorheben in der horizontalen Seitennavigation habe ich selbst hinbekommen.
Habe einfach den entsprechenden code aus dem dropdown genommen und in die horizontale Seitennavigation eingefügt.
Jetzt wird immer die aktuelle Seite hervorgehoben, da stimmt aber der code im Standard gar nicht!
Das sollte man mal korrigieren!

war:

<li class="page {if !isset($oNaviSeite->cURL) || $oNaviSeite->cURL|strlen === 0}active{/if}">
{if !empty($oNaviSeite->cURL)}
<a href="{$oNaviSeite->cURL}">{$oNaviSeite->nSeite}</a>
{else}
<a href="#" onclick="return false;">{$oNaviSeite->nSeite}</a>
{/if}
</li>


ersetzt durch:

{if $oNaviSeite->nSeite == $Suchergebnisse->Seitenzahlen->AktuelleSeite}
<li class="active">
<a role="menuitem" class="disabled" href="{$oNaviSeite->cURL}">{$oNaviSeite->nSeite}</a>
</li>
{else}
<li>
<a role="menuitem" tabindex="-1" href="{$oNaviSeite->cURL}">{$oNaviSeite->nSeite}</a>
</li>
{/if}


offen ist noch:

die Erweiterung vom dropdown auf alle Seiten der Kategorie, denn jetzt ist eigentlich kein Unterschied zwischen horizontaler Seitennavigation und dropdown.
Ich habe aber ein paar Kategorien mit ewig vielen Seiten (Ersatzteile), durchklicken ist für den user nicht gut, ich brauche eine Möglichkeit zur direkten Auswahl im dropdown.

Bin um jede Unterstützung dankbar, denn ich möchte sicher kein Webdesigner oder Entwickler werden!
 

Anhänge

  • Präsentation_aktive Seite iO_dropdown.pdf
    227,3 KB · Aufrufe: 5
Zuletzt bearbeitet:

R. Kroll

Mitglied
27. September 2018
67
10
Also bin einen Minischritt weiter, nachdem ich nirgends den code für das "pagination-dropdown" gefunden habe.

Einstellung 194 im Backend (Sucheinstellungen/Suche/Anzahl Seitenzahlen), aber max 15 Seiten.
Da horizontale Seitennavigation und Dropdown auf die gleiche Einstellung zugreifen hilft mir das micht wirklich weiter!

Kann man das dropdown irgendwie unabhängig von der horizontalen Seitennavigation einstellen?
Im dropdown möchte ich doch alle Seiten der Kartegorie haben. Gibt es keine Ideen?
 

R. Kroll

Mitglied
27. September 2018
67
10
Hallo JTL,

würdet Ihr mir den code der Seitennavigation hier im Forum geben? Von der Seite "WAS IST NEU?"!
Die horizontale Seitennavigation ist nämlich so wie ich sie auch in meinem shop gerne hätte.
Sogar mit Sprungmöglichkeit über popup, der Oberhammer.

Bitte, bitte, das wäre wirklich was ich suche. Denn genau so muß eine gute Seitennavigation funktionieren!


1564659125751.png
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Hallo,
die Seitennavigation wird intern im Shop-Core anhand der Konfiguration erstellt. Templateseitig gibt es dort kaum eine Möglichkeit dies noch zu manipulieren. Die Navigation im Dropdown um ein numerisches Eingabefeld zu ergänzen sollte jedoch möglich sein. Hier sind aber ggfs. auch noch zusätzliche Anpassungen im Javascript notwendig, um das Nachladen der Seite per Ajax sicherzustellen.
 

R. Kroll

Mitglied
27. September 2018
67
10
Hallo,
die Seitennavigation wird intern im Shop-Core anhand der Konfiguration erstellt. Templateseitig gibt es dort kaum eine Möglichkeit dies noch zu manipulieren. Die Navigation im Dropdown um ein numerisches Eingabefeld zu ergänzen sollte jedoch möglich sein. Hier sind aber ggfs. auch noch zusätzliche Anpassungen im Javascript notwendig, um das Nachladen der Seite per Ajax sicherzustellen.
Hallo FPrüfer,
können Sie mir hierfür einen Partner/Dienstleister empfehlen? Den Code der Pagination hier aus dem Forum (Seite "Was ist neu"), können Sie mir nicht zur Verfügung stellen? Was heißt anhand der Konfiguration? Ist damit die Einstellung im Backend gemeint, dort ist ja lediglich die Seitenzahl einstellbar.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Hallo @R. Kroll,
Den Code der Pagination hier aus dem Forum (Seite "Was ist neu"), können Sie mir nicht zur Verfügung stellen?
Der Pagination-Code vom Forum würde für den Shop nicht viel nützen, da dass ja völlig unterschiedliche Software ist. Um die Funktionalität der direkten Seitenwahl umzusetzen könnte das z.B. für einen Shop 4.06.13 so aussehen:
- In einem Child-Template die Datei productlist/footer.tpl aus dem Evo kopieren. (Leider gibt es hier keine passenden Blöcke, so dass die ganze Datei übertragen werden muss.)
- Den Block ab Zeile 107
HTML:
<ul class="dropdown-menu pagination-ajax" role="menu" aria-labelledby="pagination-dropdown">
    {foreach name=seite from=$oNaviSeite_arr item=oNaviSeite}
        {if !isset($oNaviSeite->nBTN)}
            {if $oNaviSeite->nSeite == $Suchergebnisse->Seitenzahlen->AktuelleSeite}
                <li class="active">
                    <a role="menuitem" class="disabled" href="{$oNaviSeite->cURL}">{$oNaviSeite->nSeite}</a>
                </li>
            {else}
                <li>
                    <a role="menuitem" tabindex="-1" href="{$oNaviSeite->cURL}">{$oNaviSeite->nSeite}</a>
                </li>
            {/if}
        {/if}
    {/foreach}
</ul>
- Wie folgt abändern:
HTML:
<ul class="dropdown-menu pagination-ajax" role="menu" aria-labelledby="pagination-dropdown">
    {foreach name=seite from=$oNaviSeite_arr item=oNaviSeite}
        {if !isset($oNaviSeite->nBTN)}
            {if $oNaviSeite->nSeite == $Suchergebnisse->Seitenzahlen->AktuelleSeite}
                <li class="active">
                    <a role="menuitem" class="disabled" href="{$oNaviSeite->cURL}">{$oNaviSeite->nSeite}</a>
                </li>
            {else}
                <li>
                    <a role="menuitem" tabindex="-1" href="{$oNaviSeite->cURL}">{$oNaviSeite->nSeite}</a>
                </li>
            {/if}
        {/if}
    {/foreach}
    <li>
        <div class="panel-footer">
            <label for="pagination-goto">{lang key="goToPage" section="productOverview"}</label>
            <input type="number" name="seite" id="pagination-goto" itemref="{$cCanonicalURL}">
        </div>
    </li>
</ul>

Damit sollte beim Aufklappen des "Gehe zu Seite"-Dropdowns zusätzliche eine Eingabezeile für eine Seitennummer erscheinen. Beim Absenden wird dann direkt zu dieser Seite gewechselt. Um jetzt noch das Nachladen per Ajax zu unterstützen kann in einer custom.js des Child-Templates noch folgendes ergänzt werden:
JavaScript:
(function ($) {
    'use strict';
    $(window).on('load', function () {
        $('body').on('keypress', '#pagination-goto', function (e) {
            var kc = e.keyCode ? e.keyCode : e.which;
            if (kc === 13) {
                var url = $(e.target).attr('itemref');
                if (url.match(/_s([0-9]+)/)) {
                    url = url.replace(/_s([0-9]+)/, '_s' + $(e.target).val());
                } else {
                    url = url + '_s' + $(e.target).val();
                }
                e.preventDefault();
                history.pushState(null, null, url);
                loadContent(url);
            }
        });
    });
})(jQuery);
 
  • Gefällt mir
Reaktionen: R. Kroll

Ähnliche Themen