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
    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    #1 Steffen (indiv-style.de), 16. Februar 2015
    Zuletzt bearbeitet: 26. April 2015
    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:

  2. Anonymous
    Anonymous G-WARD 2015/2016
    Registriert seit:
    20. Februar 2012
    Beiträge:
    9.088
    Danke erhalten:
    1.613
    Danke vergeben:
    1.212
    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
    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    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
    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Habs eben getestet und es passt! Hab oben die angehängte Datei aktualisiert! Danke!!!
     
  5. sirtet
    sirtet Erfahrener Benutzer
    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.131
    Danke erhalten:
    89
    Danke vergeben:
    90
    hmm, gibt's irgendwo ein Beispiel, wo man das im Einsatz sieht, wozu es gut ist?
     
  6. Anonymous
    Anonymous G-WARD 2015/2016
    Registriert seit:
    20. Februar 2012
    Beiträge:
    9.088
    Danke erhalten:
    1.613
    Danke vergeben:
    1.212
    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
    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.131
    Danke erhalten:
    89
    Danke vergeben:
    90
    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
    Registriert seit:
    20. Februar 2012
    Beiträge:
    9.088
    Danke erhalten:
    1.613
    Danke vergeben:
    1.212
    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
    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.131
    Danke erhalten:
    89
    Danke vergeben:
    90
    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
    Registriert seit:
    5. Juli 2013
    Beiträge:
    22
    Danke erhalten:
    1
    Danke vergeben:
    10
    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
    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    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
    Registriert seit:
    5. Juli 2013
    Beiträge:
    22
    Danke erhalten:
    1
    Danke vergeben:
    10
    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
    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
  14. Avenger
    Avenger G-WARD 2012/13/14/15
    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    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
    Registriert seit:
    20. Februar 2012
    Beiträge:
    9.088
    Danke erhalten:
    1.613
    Danke vergeben:
    1.212
    haben wollen :). Geht doch sicherlich auch für das MC?!
     
  16. Avenger
    Avenger G-WARD 2012/13/14/15
    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    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
    Registriert seit:
    20. Februar 2012
    Beiträge:
    9.088
    Danke erhalten:
    1.613
    Danke vergeben:
    1.212
    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
    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Da ist das noch nicht integriert
     
  19. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.125
    Danke vergeben:
    947

    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
    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    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.....