Modul 2. Kategoriebeschreibung für GX2 ab V2.1.0.0

Thema wurde von Steffen (indiv-style.de), 16. Februar 2015 erstellt.

  1. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Ich habe mir diesbezüglich Gedanken gemacht und festgestellt das man auch in V2.1 im Adminbereich hier nur unschön updatessiche Änderungen über den Extender machen kann. Nun hab ich einen Lösungsansatz welcher gar keine Anpassung im Admin benötigt!

    Wir nutzen für beide Kategoriebeschreibungen das selbe Eingabefeld(CK-Editor) und trennen die Texte mit einem [2KAT2].

    Beispiel:
    2kat1.jpg

    Nun erstellen wir im Ordner /user_classes/overloads/ einen Ordner /ProductListingContentView/ und in diesem legen wir die angehängte IS_ProductListingContentView.inc.php ab. In dieser Klasse überlade ich die Methode prepare_data.

    in der original-Metode finden wir folgenden Code:
    PHP:
    $this->set_content_data('CATEGORIES_DESCRIPTION', $this->category_description);
    Diesen ersetze ich in meiner Metode mit folgendem Code:
    PHP:
                $is_catdescription = explode('[2KAT2]', $this->category_description);
                
    $this->set_content_data('CATEGORIES_DESCRIPTION', $is_catdescription[0]);
                
    $this->set_content_data('CATEGORIES_DESCRIPTION2', $is_catdescription[1]);
    Ich mache also nix anderes als mit explode den Text genau an [2KAT2] zu zerlegen und in $is_catdescription als Array abzulegen.
    Nun finde ich den 1. Text in $is_catdescription[0] und den 2. Text in $is_catdescription[1].

    Diese übergebe ich mit set_content_data ans Templates und zwar einmal als CATEGORIES_DESCRIPTION und einmal als CATEGORIES_DESCRIPTION2.

    Die CATEGORIES_DESCRIPTION2 müssen wir noch in die product_listing_V1.html eintragen und zwar da wo wir die 2. Katbeschreibung brauchen. Dazu bediehnen wir uns folgendem Code:
    HTML:
            {if $CATEGORIES_DESCRIPTION2}
                <div class="categories_description">
                        {if $CATEGORIES_DESCRIPTION2}
                                {$CATEGORIES_DESCRIPTION2}
                        {/if}
                </div>
            {/if}
    Nun speichern wir die product_listing_V1.html als product_listing_V1-USERMOD.html ab und sind auch hier updatessicher.

    Cache leeren und freuen...... ;)

    Verwendung auf eigenes RISIKO! VORHER DATENSICHERUNG!!!

    EDIT: hier findet ihr die komplette Version:

    http://www.gambio-forum.de/threads/...X2-ab-V2.1.0.0?p=163597&viewfull=1#post163597

     

    Anhänge:

    Zuletzt bearbeitet: 26. April 2015
  2. Anonymous

    Anonymous G-WARD 2015/2016

    Hallo Steffen
    wir steigen wohl demnächst auch auf 2.1 um; dann werde ich das sofort testen.

    Danke schon mal!
     
  3. Avenger

    Avenger G-WARD 2012/13/14/15

    Hi, Steffen....

    Du machst Dir das Leben unnötig schwer, wenn Du in dem Overload die komplette Original-Methode mit Änderungen einbaust.....

    Denn dann musst Du ja be jedem Update immer prüfen, ob die Originalmethode nicht irgendwelche Änderungen hat, was man ja möglichst vermeiden will...

    So aus dem hohlen Bauch und ungetestet würde ich das wie folgt gestalten:

    PHP:
    <?php
    class IS_ProductListingContentView extends IS_ProductListingContentView_parent {
      function 
    prepare_data()
      {
        
    $is_catdescription = explode('[2KAT2]', $this->category_description);
        
    $this->category_description=$is_catdescription[0];
        
    $this->set_content_data('CATEGORIES_DESCRIPTION2', $is_catdescription[1]);
        
    parent::prepare_data();
      }
    }
    ?>
    Ich ändere also in dem Overload nur das, was unbedingt nötig ist, und rufe dann die Originalmethode mit "parent::prepare_data();" auf....

    Der Vorteil liegt auf der Hand:

    wie immer die Originalmethode sich ändert, meinem Overload ist das egal!
     
  4. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Habs eben getestet und es passt! Hab oben die angehängte Datei aktualisiert! Danke!!!
     
  5. sirtet

    sirtet Erfahrener Benutzer

    hmm, gibt's irgendwo ein Beispiel, wo man das im Einsatz sieht, wozu es gut ist?
     
  6. Anonymous

    Anonymous G-WARD 2015/2016

    hier kannst Du sehen wo es NICHT im Einsatz ist und wo ich gerne etwas von dem Text weiter unten zeigen würde :)

    (Link nur für registrierte Nutzer sichtbar.)
     
  7. sirtet

    sirtet Erfahrener Benutzer

    Ok. Und da sollen Abschnitte 2 und 3 nach den produkten kommen? Weil die eher für seo da sind? Oder was ist die Überlegung?
     
  8. Anonymous

    Anonymous G-WARD 2015/2016

    Genau; je nach Bildschirm ist das oben einfach zu viel Text; SEO ist mir da egal :). Bei MC habe ich die Texte ganz entfernt, da geht das ja gar nicht.
     
  9. sirtet

    sirtet Erfahrener Benutzer

    ok. bei mc würde ich vielleicht etwas mit js machen, dass man den text nur angeschnitten sieht, mit einem Weiterlesen-link, der die box vergrössert...
    ich finde es zu krass, wie mc reduziert. darum verwende ich es bisher nicht.
     
  10. micha77

    micha77 Mitglied

    Hallo Steven,

    das funktioniert bei mir leider nicht. Hab ich etwas übersehen oder geht das mit meiner Version nicht (v2.2.0.0)

    Hab die /user_classes/overloads/ProductListingContentView/IS_ProductListingContentView.inc.php‎ angelegt/abgelegt.

    Die /templates/EyeCandy/module/product_listing/product_listing_v1-USERMOD.html erweitert.

    In der Kategorieberschreibung den Trenner eingebaut [2KAT2]



    Danke
    Micha
     
  11. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    So pauschal kann ich da nix machen. Ich müsste mir das in deinem Shop direkt ansehen. Dazu würde ich aber Admin und FTP benötigen.
    Wenn du das möchtest, schicke mir ne Mail. Wenn nicht, kann ich dir so leider nicht helfen.
     
  12. micha77

    micha77 Mitglied

    die könnte ich dir schicken. Auf welche mail den, auf die info von deiner Seite? Über die Privat Nachricht geht es nicht.

    Muss aber erst wieder alles einbauen, hab gerade alles gerade rausgenommen...
     
  13. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

  14. Avenger

    Avenger G-WARD 2012/13/14/15

    Eine Alternative ist z.B. hier zu sehen:

    https://www.futter-fundgrube.de/shop_gx2/Frostfleisch/

    Der Text wird zunächst nur verkürzt angezeigt, mit dem "Weiterlesen"-Link wird er dann geöffnet.

    Das kann man per Javascript erledigen, und man muss kein besonderen Vorkehrungen in der Beschreibung treffen....
     
  15. Anonymous

    Anonymous G-WARD 2015/2016

    haben wollen :). Geht doch sicherlich auch für das MC?!
     
  16. Avenger

    Avenger G-WARD 2012/13/14/15

    Hallo Achim,

    ich habe mal testweise eine solche Funktion in Deinem Shop integriert.

    Das ist jetzt eine reine jQuery-Javascript-Lösung, die (updatesicher) in das Template integriert werden kann.

    Und man muss dafür keinerlei Änderungen in der Kategorienbeschreibung vornehmen.

    Hat allerdings den kleinen Nachteil, dass man nicht gezielt definieren kann, wie weit der verkürzte Text reichen soll.

    Wenn man das kontroliieren will, kann man an das Ende des gewünschten Kurztextes den Marker "<!-- short_end-->" in der Kategorienbeschreibung anhängen.

    Was halt Zusatzarbeit bedeutet, aber eine gezielte Kontrolle der Darstellung erlaubt....

    In der Hauptkategorie "Stilkamine" habe ich das mal eingebaut, da wird dieser Marker an das Ende des 1. Absatzes gelegt..

    Die anderen Katbeschreibungen werden derzeit auf ca. 600 Zeichen begrenzt.

    Wenn man andere Längen will, dann kann man in "includes/configure.php" folgende Definition einbringen:

    PHP:
    define('CAT_DESC_INITAL_LENGTH',500);
    Wobei ein vorhandener Marker "<!-- short_end-->" immer Vorrang hat.

    Ja, das sollte auch bei MC funktionieren, da das ja im Template eingebaut wird...

    Bei unserem gepimptem MC-Ableger kann man das direkt so verwenden.

    Beim Standard-MC muss man das anders abwickeln...
     
  17. Anonymous

    Anonymous G-WARD 2015/2016

    Super, das ist doch geil! Vielen Dank.
    Dann kann ich ja auch die KAT-Beschreibungen wieder im MC aktivieren.
     
  18. Avenger

    Avenger G-WARD 2012/13/14/15

    Da ist das noch nicht integriert
     
  19. Anonymous

    Anonymous Erfahrener Benutzer


    Hallo,


    gab es noch ein Problem das ihr lösen konntet? Bei mir wird in Version 2.2.0.0 auch nur das
    [2KAT2] oben mit angezeigt und das offenbar als Trennzeichen nicht erkannt...​
     
  20. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Das Problem tritt auf wenn man innerhalb der Kat auch Unterkategorien verwendet! Dann nimmt der Gambio als Listingdatei die categorie_listing.html....

    Meiner Meinung nach ist das sau doof gelöst! Das ist zwas schon ehwig so, könnte aber besser gemacht werden.....