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: Code zum Generieren von Produktlisten einer Kategorie

    mcm

    • Mitglied
    • Beiträge: 151
    Re: Code zum Generieren von Produktlisten einer Kategorie
    Antwort #15 am: 04. November 2012, 12:38:46
    Hallo Hannes,
    danke für den Hinweis!

    Soweit ich das erkenne, ist es aber auch damit nicht möglich, innerhalb irgendeines Inhalts einer Content-Seite die Linkliste einer ausgewählten Kategorie anzeigen zu lassen - oder???

    Es geht vor allem darum, es für den "Redakteur" der Seite so einfach wie möglich zu machen.

    In meinem Shop-Projekt habe ich pro Künstler eine Content-Seite für dessen Beschreibung usw. Innerhalb des Textes sollen dann bei Bedarf die entsprechenden Produktlinks ausgewählter Kategorien eingefügt werden können.
    Und dazu ist ein einfacher "Codeschnipsel" notwendig.

    Ich habe meine o.g. Version jetzt vereinfacht in: {contentfilter cat=1,2,3}

    Die Funktion habe ich nun für meinen Shop auf den Inhalt der infocenter.php (also Mini-CMS) angewendet.
    D.h.
    Code: PHP  [Auswählen]
    // aus
    $smarty->assign('main_content', $main_content);

    // wird
    $main_content = get_catItems($main_content);  // mcm - suche nach '{contentfilter cat=1,2,3}'
    $smarty->assign('main_content', $main_content);
     

    Das funktioniert momentan alles sehr gut soweit. Es wird auch nichts dramatisch verlangsamt.

    @Hen: tausend Dank für die Ergänzungen für FSK, GroupCheck, und Produktstatus
    Funktioniert bestens!!!

    Bisher habe ich immer nur an meine eigenen Bedürfnisse gedacht, aber wenn die Funktion schon mal aktiviert ist, kann man eigentlich auch nach beliebigen Übergabewerten abfragen und die Funktion damit universaler machen.

    Man würde also allgemein nach {contentfilter ***} suchen, für *** noch einen Trenner (z.B. ";" ) festlegen und die übergebenen Werte damit splitten.
    Dann hätte man ein Array mit z.B. 
    Code: XML  [Auswählen]
    [0] 'cat=1' (Linkliste der Produkte der übergebenen Kategorie(n))
    [1] 'showimg=0' (z.B. Anzeige von Link-Bildern)
    [2] 'pid=1,2,3'  (z.B. für Anzeige einzelner Produkte)
    [3] 'field=23' (z.B. Anzeige von Sonderfeldern)
     
    Das müsste dann mit einer Case-Abfrage durchgangen werden und könnte individuell an die Bedürfnisse angepasst werden werden.

    Mir fehlen allerdings für diese Erweiterungen Zeit und Kenntnisse. Wer Ahnung hat, kann die Abfrage der übergebenen Variablen sicher schnell umsetzen.
    Die CASE-Funktionen kann dann jeder selbst erstellen (meine existiert ja schon).

    Wäre toll, wenn sich jemand dran setzen könnte, damit meine Funktion breiteren Nutzen bekommt.

    Beste Grüße
    - mcm -

    Managed Server

    johony

    • Neu im Forum
    • Beiträge: 16
    • Geschlecht:
    Re: Code zum Generieren von Produktlisten einer Kategorie
    Antwort #16 am: 04. November 2012, 13:27:59
    wenn ich dein Vorhaben richtige verstehe geht das schon ...

    Bsp: http://marcustestshop.sys4com.de/Landingpage-Test-3:_:15.html
    (Link ist im Footer verlinkt ... "Landingpage-Test-3")

    Die Php Datei welche in den Content verlinkt ist enthält:
    Code: PHP  [Auswählen]
    <?php
    global $product;
    $my_products = array();

    echo '<div>';  
    echo '  <p>Dies ist der SEO Text</p>';


            echo '<h3>Produkte aus Kategorie 352</h3>';
    //      $my_products = $product->gunnartProductsList($CatID=false,$Limit=false,$Order=false,$Sort=false,$Specials=false,$NoSpecials=false,$Top=false,$Except=false,$Image=false,$Manu=false);
            $my_products = $product->gunnartProductsList(352,false,false,false,false,false,false,false,true,false);
            $my_products = $my_products['PRODUCTS'];
           
            echo '<div class="span3_2">';
            echo '          <ul>';
           
            foreach($my_products as $a_product)
            {
                    echo '     <li>';
                    echo '              <a href="'.$a_product['PRODUCTS_LINK'].'">'.$a_product['PRODUCTS_NAME'].'</a>';                                    
                    echo '        </li>';
            } // ende foreach

            echo '</ul></div>';    
            echo '<div style="clear:both;"></div>';
           

            echo '<h3>Produkte aus Kategorie 363</h3>';
    //      $my_products = $product->gunnartProductsList($CatID=false,$Limit=false,$Order=false,$Sort=false,$Specials=false,$NoSpecials=false,$Top=false,$Except=false,$Image=false,$Manu=false);  
            $my_products = $product->gunnartProductsList(363,false,false,false,false,false,false,false,true,false);
            $my_products = $my_products['PRODUCTS'];
           
            echo '<div class="span3_2">';
            echo '          <ul>';
           
            foreach($my_products as $a_product)
            {               echo '     <li>';
                    echo '              <a href="'.$a_product['PRODUCTS_LINK'].'">'.$a_product['PRODUCTS_NAME'].'</a>';                                    
                    echo '        </li>';          
            } // ende foreach

            echo '</ul></div>';
            echo '<div style="clear:both;"></div>';
    echo '</div>'; 
    ?>
     

    Also eigentlich nur den Aufruf der Funktion
    Code: PHP  [Auswählen]
            $my_products = $product->gunnartProductsList(352,false,false,false,false,false,false,false,true,false);
    und die Verarbeitung des Arrays den die Funktion ausspuckt. In dem Fall die Kategorie 352, und nur artikel mit bildern.

    mcm

    • Mitglied
    • Beiträge: 151
    Re: Code zum Generieren von Produktlisten einer Kategorie
    Antwort #17 am: 04. November 2012, 16:57:35
    Hallo Hannes,
    hab's noch nicht so ganz geschnallt...
    Heißt das, dass für jede Seite, auf der Produktlisten unterschiedlicher Kategorien dargestellt werden sollen, eigene PHP-Dateien erstellt werden müssen, in denen die KatID zugewiesen wird?

    Das wäre viel zu umständlich!
    Es sollen ja innerhalb irgendeines Textes, z.B. in einem bestimmten Produkt-Tab oder eben auf einer CMS-Seite (auf welchen ich auch Tabs und Extrafelder verwende) mit einem einfachen Codeschnipsel (z.B.  {meineFunktion cat=1,2,3}  )  die Produktlinks aufgelistet werden.

    Also :

    Text Text Text Text Text
    Text Text Text Text Text
    Text Text Text Text Text 
    Produkt 1
    Produkt 2
    Produkt 3
    Text Text Text Text Text
    Text Text Text Text Text
    Produkt 4
    Produkt 5
    Produkt 6
    Text Text Text Text Text
    Text Text Text Text Text

    Die Möglichkeit erkenne ich bei Deinem Vorschlag noch nicht. Aber die bereitgestellte Funktion gunnartProductsList() könnte auf jeden Fall für die Erweiterung der von mir vorgeschlagenen Variante verwendet werden.
    Für mich wird das aber etwas zu kompliziert, für meinen Bedarf reicht die Funktion erstmal, für andere ist es vielleicht ein Ansatz, andere Werte direkt über das Textfeld zu übergeben.

    johony

    • Neu im Forum
    • Beiträge: 16
    • Geschlecht:
    Re: Code zum Generieren von Produktlisten einer Kategorie
    Antwort #18 am: 04. November 2012, 17:15:50
    Ja da geb ich dir vollkommen recht das des umständlich ist.

    Habs jetzt erst geblickt das MiniCMS ein Modul ist, hatte gedacht das du den Standart Content-Manager meinst. Weil dort wird kein Smarty verarbeitet ... deswegen bin ich den Umweg über php Dateien gegangen.
    Werd mir des MiniCMS auch mal anschaun ... danke

    Sry das ich dich von deim Thema abgelenkt hab ^^

    gruß Hannes

    mcm

    • Mitglied
    • Beiträge: 151
    Re: Code zum Generieren von Produktlisten einer Kategorie
    Antwort #19 am: 04. November 2012, 19:08:43
    Hallo Hannes,
    nach einer Verwendungsmöglichkein von Smarty-Funktionen direkt im Texteditor (nicht im Template, da gehts natürlich) habe ich am Anfang dieses Themas gefragt.
    Wie es aussieht, geht das bei keinem der Inhaltstypen (wenn doch, bitte melden).

    Also auch nicht im MiniCMS.
    Aus diesem Grund habe ich die o.g. Funktion gebastelt. Sie liest aus jeglichem Inhalt (Produkttext, Contentartikel, CMS-Artikel, Sonderfelder, Lexikon-Artikel und was es sonst noch so gibt) den definierten Code ( z.B. {contentfilter cat=2} ) aus und ersetzt diesen mit dem in der Funktion generierten Inhalt.

    Dazu muss die Funktion, welche ich jetzt in contentfilter() umgetauft habe, auf den Inhalt des entsprechenden Inhaltstyps angewendet werden, kurz bevor er als Smarty-Variable übergeben wird.

    Ist also für viele Bedürfnisse und an verschiedenen Ecken einsetzbar. Würde mich freuen, wenn da Andere noch ihre Ideen einbringen.

    Gruß
    - Mathias -

    mcm

    • Mitglied
    • Beiträge: 151
    Re: Code zum Generieren von Produktlisten einer Kategorie
    Antwort #20 am: 28. Februar 2013, 11:31:00
    MODUL mcm_contentfilter  -  Erzeugen von Produktlisten aus dem Editor heraus

    Hier nochmal in Form einer Datei mit Anleitung.

    Mit dieser Erweiterung könnt Ihr also in einen normalen Text (Produktbeschreibung, Contentseite etc.) eine oder mehrere Kategorienummer(n) übergeben und erhaltet eine Auflistung aller Produkte dieser Kategorie(n) - mit Titel, Bild und Link.

    Wenn die entsprechende Seite zum Generieren des Inhalts angepasst ist,
    einfach den folgenden Codeschnipsel in ein Editor-Feld eingeben:
    Code: PHP  [Auswählen]
     {contentfilter cat=22} oder {contentfilter cat=4,22}

    - mcm -

    INSTALLATION:

    1. Datei kopieren nach
        inc/mcm_contentfilter.inc.php

    2. Datei, deren Inhalt abgesucht werden soll anpassen (z.B. product_info.php oder infocenter.php)
      Zu Beginn des Skripts einfügen:
    Code: PHP  [Auswählen]
         require_once (DIR_FS_INC.'mcm_contentfilter.inc.php');
      Vor der Übergabe des Inhalts
    Code: PHP  [Auswählen]
    z.B.   $smarty->assign('main_content', $main_content);
      
      Einfügen:
    Code: PHP  [Auswählen]
    $main_content = mcm_contentfilter($main_content);  // mcm - search for Code '{contentfilter cat=1,2,3}'

    mcm

    • Mitglied
    • Beiträge: 151
    Re: Code zum Generieren von Produktlisten einer Kategorie
    Antwort #21 am: 28. Februar 2013, 11:36:05
    War noch ein Fehler in der Anleitung....
    22 Antworten
    12113 Aufrufe
    19. Januar 2012, 22:08:36 von bige
    6 Antworten
    2946 Aufrufe
    19. Mai 2016, 16:24:37 von Tab
    5 Antworten
    3067 Aufrufe
    17. Juni 2010, 05:10:02 von jannemann