Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenbank auslesen, manufacturer_id

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Datenbank auslesen, manufacturer_id

    Hallo zusammen,


    also ich versuche gerade auf der Produktseite einen Verweis auf alle Artikel vom selben Hersteller zu setzen und versuche das mit der "suche" und den filtern zu lösen. Mein ziel wäre es sogar die Bilder der Produkte zu zeigen.

    Mein ansatz:
    Code:
    <?php
    global $db;
    
    $sql = $db->Execute(" select manufacturers_id 
    from " . TABLE_MANUFACTURERS . " WHERE manufacturers_name = '$manufacturers_name' "); 
    
    ?>
    
    <div class="navNextPrevList"><a href="<?php echo zen_href_link(FILENAME_DEFAULT, "cPath=$cPath&filter_id=$sql"); ?>"><?php 
    
    echo zen_image_button(BUTTON_IMAGE_RETURN_TO_PROD_LIST, BUTTON_RETURN_TO_PROD_LIST_ALT); ?></a></div>
    
    
    <?php
      }
    ?>
    </div>
    Also ich möchte die manufacturer_id auslesen, damit ich den bei der filter_id angeben kann um so den link zu platzieren.

    Jedoch weiß ich überhaupt nicht ob die DB-Abfragen bei zencart so gemacht werden. Wie gehe ich am besten vor, wenn ich etwas auslesen will aus der Datenbank? Habe per Suche im Wiki/Forum nichts gefunden.

    Vielen dank,
    sOlli

    #2
    Hmm, wieso machst du das genau. Wenn du die Hersteller Sidebox aktiviert hast, steht doch genau dieser Link in der Sidebox ?

    Der Link in der Sidebox lautet z.B.
    index.php?main_page=index&manufacturers_id=9

    Damit könntest du einfach nur aus der Datenbank die aktuelle Manufacturers_id vom gerade angezeigten Produkt auslesen und dann den Link selber basteln udn die ausgelesene ID ranhängen. Sollte schonmal ein Ergebnis in deiner Richtung bringen.

    Die Bilder direkt auf die Produktinfo Page bringen halte ich für kompliziert. Da würde mir nur einfallen, eine der Centerboxen für z.B. neue Artikel abzukupfern und umzuschreiben. Ob das allerdings so einfach klapt, kann ich dir nicht beantworten.

    Gruß
    MaleBorg

    Kommentar


      #3
      Zitat von MaleBorg
      Hmm, wieso machst du das genau. Wenn du die Hersteller Sidebox aktiviert hast, steht doch genau dieser Link in der Sidebox ?

      Der Link in der Sidebox lautet z.B.
      index.php?main_page=index&manufacturers_id=9

      Damit könntest du einfach nur aus der Datenbank die aktuelle Manufacturers_id vom gerade angezeigten Produkt auslesen und dann den Link selber basteln udn die ausgelesene ID ranhängen. Sollte schonmal ein Ergebnis in deiner Richtung bringen.

      Die Bilder direkt auf die Produktinfo Page bringen halte ich für kompliziert. Da würde mir nur einfallen, eine der Centerboxen für z.B. neue Artikel abzukupfern und umzuschreiben. Ob das allerdings so einfach klapt, kann ich dir nicht beantworten.

      Gruß
      MaleBorg
      Ich glaube die Herstellersidebox habe ich aktiviert, allerdings zeigt er die nur für angemeldete Benutzer glaube ich.
      Dann bleibt halt immer noch die Frage wie genau ich das auslesen muss aus der Datenbank, bin da ziemlich ratlos. Die variable $manufacturr_id wäre ja selbst bei aktiver Box leer.

      Werde es noch mal probieren mit der herstellerbox..

      Kommentar


        #4
        Ok also die Herstellerbox ist für alle sichtbar, habe aber einen komischen Bug, dass er nur einen Hersteller von 6 anzeigt. Oo

        Kommentar


          #5
          Edit: Das lag daran, dass man für jeden Hersteller unbedingt ein Logo angeben muss. Sollte man evtl. mal fixen.

          Kommentar


            #6
            Hmm ne lag doch nicht daran, lag wohl eher daran,dass die Hersteller keine Artikel zugewiesen hatten. Ich finde die Hersteller sollten aber auch so angezeigt werden.

            Also die SQL Abfrage hier zb:
            $sql = $db->Execute(" select manufacturers_id
            from " . TABLE_MANUFACTURERS . " WHERE manufacturers_name = '$manufacturers_name' ");

            klappt so zwar ungefähr aber dann ist das kein string den ich ausgeben kann <.<

            Kommentar


              #7
              $sql = $db->Execute(" select manufacturers_id
              from fw_manufacturers
              WHERE manufacturers_name LIKE $manufacturers_name ");

              Klappt fast!
              Allerdings gibt er mir noch nen fehler aus, da er "fox" angeblich nicht kennt obwohl das ja einer der herstellerfirmen in der tabelle ist.

              Kommentar


                #8
                Ok, also ich hab diese Lösung erarbeitet. Funktioniert bei mir soweit korrekt.

                In der Datei
                includes\modules\pages\product_info\main_template_ vars.php

                die Zeile

                Code:
                  $products_date_added = $product_info->fields['products_date_added'];
                und darunter einfügen

                Code:
                $products_manufacturer_id = $product_info->fields['manufacturers_id'];
                Nun folgenden Code in die Datei
                includes/templates/DEINTEMPLATE/templates/tpl_product_info_display.php an der gewünschten Stelle einfügen

                Code:
                <div class="navNextPrevList"><a href="<?php echo zen_href_link(FILENAME_DEFAULT, "cPath=$cPath&filter_id=".$products_manufacturer_id); ?>">
                
                <?php
                echo zen_image_button(BUTTON_IMAGE_RETURN_TO_PROD_LIST, BUTTON_RETURN_TO_PROD_LIST_ALT); ?></a></div>
                
                </div>
                Gruß
                MaleBorg

                Kommentar


                  #9
                  Wow, das wäre gar nicht nötig gewesen, wollte eigentlich nur eine generelle info wie man das lösen könnte.

                  Vielen Dank!! Ist eine sehr elegante Lösung mit "$product_info->fields",
                  klappt super.

                  Das sollte man evtl. noch bei Codesnippets posten, brauchen ja evtl. noch mehr Leute und das ist ja auch leicht übertragbar auf andere sachen.

                  Dankend,
                  sOlli

                  Kommentar


                    #10
                    Keine Ursache, ich helfe doch imemr wieder gerne.

                    Mit dem doppelt posten an sich eine gute Idee, aber dann wäre das halbe Forum hier doppelt, soviele Codeschnipsel wie hier rumschwirren

                    Ich persönlich vertrau ja drauf, das die meisten erstmal die Suchfunktion bemühen

                    Gruß
                    MaleBorg

                    Kommentar

                    Info zu diesem Forenarchiv:
                    Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
                    Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
                    Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
                    PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
                    Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
                    FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

                    Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
                    Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
                    Fehler in der Software können auf Github als Issues gemeldet werden.
                    Follow us
                    aktuelle version
                    Zen Cart 1.5.7g deutsch
                    vom 12.12.2023
                    [Download]
                    Lädt...
                    X