Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Navtrail modifizieren - erweitern

    karamurad

    • Neu im Forum
    • Beiträge: 35
    Navtrail modifizieren - erweitern
    am: 11. April 2013, 23:47:21
    Hallo zusammen,

    ich möchte gerne dem Produktnamen am Ende des Navtrails eine CSS-Klasse zuweisen und noch einen Text anhängen und weiß leider nicht in welcher Datei ich das wie ändern kann.

    In anderen Threads wird oft von der application_top.php gesprochen. Hab mir diese Datei auch angeschaut, aber bin mir nicht sicher, wo ich da was modifizieren könnte.

    Vielen Dank,
    Murad

    Linkback: https://www.modified-shop.org/forum/index.php?topic=25745.0
    Shop Hosting

    karamurad

    • Neu im Forum
    • Beiträge: 35
    Re: Navtrail modifizieren - erweitern
    Antwort #1 am: 12. April 2013, 11:26:10
    Hat jemand eine Idee?  :-)

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.022
    • Geschlecht:
    Re: Navtrail modifizieren - erweitern
    Antwort #2 am: 12. April 2013, 11:58:58
    Bis zur 1.05 SP1d war das noch in der application_top.php.
    Ab 1.06 wird die Breadcrumb hier gebildet: /includes/modules/create_breadcrumb.php
    bzw. hier /includes/classes/breadcrumb.php,
    wie man in besagter application_top.php auch an den includes sieht.

    Gruß,
    noRiddle

    karamurad

    • Neu im Forum
    • Beiträge: 35
    Re: Navtrail modifizieren - erweitern
    Antwort #3 am: 12. April 2013, 13:41:53
    Hallo noRiddle,

    danke für die Antwort. Ich habe einen 1.05er Shop.

    In der application_top.php habe ich die Zeile 613 gefunden:
    Code: PHP  [Auswählen]
    $breadcrumb->add($product->data['products_name'], xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($product->data['products_id'], $product->data['products_name'])));

    Nur wo kann ich dort dem "products_name" eine CSS-Klasse zuweisen?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.022
    • Geschlecht:
    Re: Navtrail modifizieren - erweitern
    Antwort #4 am: 12. April 2013, 17:53:03
    Weiß nicht genau was du machen möchtest.
    In der bereits genannten Klasse /includes/classes/breadcrumb.php wird allen "Menu"-Punkten der Breadcrumb eine Klasse namens headerNavigation vergeben, genauer gesagt dem Link.
    Allerdings jedem Link, das hilft dir wahrscheinlich nicht weiter, sonst hätte vielleicht :last-child geholfen..., nee, Quatsch, wenn du nicht auf einem Produkt bist, ist ja was anderes das last-child  :-/

    Du könntest in der genannten Klasse aus folgendem
    Code: PHP  [Auswählen]
        function add($title, $link = '') {
          $this->_trail[] = array('title' => $title, 'link' => $link);
        }

    das machen
    Code: PHP  [Auswählen]
        function add($title, $link = '', $params = '') {
          $this->_trail[] = array('title' => $title, 'link' => $link, 'params' => $params);
        }

    und etwas darunter dann aus
    Code: PHP  [Auswählen]
              $trail_string .= '<a href="' . $this->_trail[$i]['link'] . '" class="headerNavigation">' . $this->_trail[$i]['title'] . '</a>';

    das hier
    Code: PHP  [Auswählen]
              $trail_string .= '<a href="' . $this->_trail[$i]['link'] . '" class="headerNavigation ' .$this->_trail[$i]['params']. '">' . $this->_trail[$i]['title'] . '</a>';

    Dann in der application_top.php aus dem hier
    Code: PHP  [Auswählen]
    $breadcrumb->add($product->data['products_name'], xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($product->data['products_id'], $product->data['products_name'])));

    das machen
    Code: PHP  [Auswählen]
    $breadcrumb->add($product->data['products_name'], xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($product->data['products_id'], $product->data['products_name'])), 'TEST');

    Anstelle von TEST schreibst du deine gewünschte CSS Klasse dort hin.
    Ab jetzt kannst du den Produkt-Link in der Breadcrumb mittels dieser Klasse beliebig stylen.

    Text anhängen ?
    Was willst du denn da anhängen ?, meine, etwas dynamisch generiertes oder einen fixen Text ?

    Gruß,
    noRiddle

    *EDIT*
    Komma fehlte irgendwo :-D

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Navtrail modifizieren - erweitern
    Antwort #5 am: 12. April 2013, 21:46:27
    Viel wichtiger als irgendetwas an den letzten Breadcrumb-Knoten zu hängen, wäre doch, den letzten Knoten garnicht mehr als Link zu deklarieren. Erstens ist es von der Bedienung her unlogisch und zweitens sei das Stichwort "self links" erwähnt.

    Gruß
    Ronny

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.022
    • Geschlecht:
    Re: Navtrail modifizieren - erweitern
    Antwort #6 am: 12. April 2013, 22:21:12
    Da hast du in der Tat Recht.
    Das sollte man auch mal in Angriff nehmen, ist ja nicht schwer zu lösen die Sache.

    Gruß,
    noRiddle

    karamurad

    • Neu im Forum
    • Beiträge: 35
    Re: Navtrail modifizieren - erweitern
    Antwort #7 am: 13. April 2013, 01:03:09
    Hallo noRiddle,

    vielen Dank für die ausführliche Beschreibung, werde mich gleich mal dransetzen.  :thumbs:
    Mit dem Text meine ich etwas Fixes, was immer nach dem Artikelnamen steht, wie z.B.:

    Startseite >> Kategoriename >> Artikelname "günstig online bestellen"

    @Webkiste
    hast Recht, der letzte Knoten als normaler Text wäre sicherlich sinnvoller.

    phpGuru

    • Frisch an Board
    • Beiträge: 94
    Re: Navtrail modifizieren - erweitern
    Antwort #8 am: 13. April 2013, 14:17:12
    Den letzen Knoten aus der BC und somit den selflink zu entfernen habe ich seit langem schon dies hier geändert:

     /includes/classes/breadcrumb.php die suchen:

    Code: PHP  [Auswählen]
        for ($i = 0, $n = sizeof($this->_trail); $i < $n; $i ++){
          if (isset($this->_trail[$i]['link']) && xtc_not_null($this->_trail[$i]['link'])){
            $trail_string .= '<a href="' . $this->_trail[$i]['link'] . '" class="headerNavigation" title="' . $this->_trail[$i]['full_title'] . '">' . $this->_trail[$i]['title'] . '</a>';
          } else {
            $trail_string .= $this->_trail[$i]['title'];
          }
          if (($i + 1) < $n) $trail_string .= $separator;
        }
        return $trail_string;
      }

    und durch dies ersetzen:

    Code: PHP  [Auswählen]
        for ($i = 0, $n = (sizeof($this->_trail)- 1); $i < $n; $i ++) {
            if (isset($this->_trail[$i]['link']) && xtc_not_null($this->_trail[$i]['link'])){
               $trail_string .= '<a href="' . $this->_trail[$i]['link'] .  '" class="headerNavigation">' . $this->_trail[$i]['title'] .  '</a>';
            } else {
              $trail_string .= $this->_trail[$i]['title'];
            }
         
            if (($i) < $n)
          $trail_string .= $separator;
             }
          $trail_string .= '<span style="line-height:24px; font-size:10px; color:#DA9401; padding-right:10px; padding-left:5px;">' . $this->_trail[$n]['title'] . '</span>';
          return $trail_string;
        }

    Wie ihr das <span style=...... gestaltet bleibt euch überlassen, bei mir ist es halt so.
    Somit ist der letzte Eintrage nur noch ein Text und kein Link mehr.

    Schönes Wochenende

    karamurad

    • Neu im Forum
    • Beiträge: 35
    Re: Navtrail modifizieren - erweitern
    Antwort #9 am: 14. April 2013, 01:45:49
    Hallo phpGuru,

    vielen Dank für den Tipp! Es hat super funktioniert.
    Damit hat sich auch die Geschichte mit dem Textanhang (fixer Text) erledigt.

    gruss

    Murad
    7 Antworten
    3686 Aufrufe
    12. Dezember 2010, 13:51:45 von besenone
    2 Antworten
    2718 Aufrufe
    29. April 2011, 14:53:37 von roland.k
    2 Antworten
    2831 Aufrufe
    27. Dezember 2010, 18:55:49 von helje
    0 Antworten
    2156 Aufrufe
    30. Januar 2011, 18:15:19 von tomter