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: Hersteller in product listing

    yorgey

    • Fördermitglied
    • Beiträge: 99
    Hersteller in product listing
    am: 26. Oktober 2018, 00:51:28
    Hallo Zusammen,

    gibt es eine einfache Möglichkeit, in der product listing den Hersteller anzeigen zu lassen?
    Habe leider nichts passendes für modified 2 gefunden.

    Gruß
    Yorgey

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

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #1 am: 30. Oktober 2018, 20:33:19
    Das sollte normalerweise mit {$module_data.MANUFACTURERS_NAME} gehen.
    Nicht getestet, probier es mal aus.

    Gruß,
    noRiddle

    newbee79

    • Fördermitglied
    • Beiträge: 185
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #2 am: 02. Juni 2024, 12:08:09
    Moin.

    Ich schiebe das mal kurz hoch, weil ich das gerade auch probieren wollte und es zeigt leider kein Herstellername an.

    Versucht mit folgenden Variablen:

    {$module_data.MANUFACTURERS_NAME}
    {$module_data.MANUFACTURER_NAME}
    {$module_data.MANUFACTURERS}
    {$module_data.MANUFACTURER}
    {$MANUFACTURERS_NAME}
    {$MANUFACTURER_NAME}
    {$MANUFACTURERS}
    {$MANUFACTURER}

    Wie ich gesehen habe, ist die Hersteller-Funktion aber ja in der product_listing.php vorhanden.

    Noch jemand eine Idee?

    Grüße,
    David

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #3 am: 02. Juni 2024, 12:33:44
    Mein Modifier war zu einfach gestrickt, aber jetzt habe ich ihn überarbeitet.

    Lege eine PHP-Datei mit dem Namen modifier.get_manufacturers_name.php unter /templates/DEINTEMPLATE/smarty/ ab:

    Code: PHP  [Auswählen]
    <?php
    function smarty_modifier_get_manufacturers_name($id) {
       
        $manufacturer = '';
       
        $products_query = xtDBquery("SELECT manufacturers_id
                                      FROM "
    .TABLE_PRODUCTS."
                                     WHERE products_id = '"
    .$id."'");
       
        if (xtc_db_num_rows($products_query, true) > 0) {
          $products_result = xtc_db_fetch_array($products_query, true);
          $manufacturers_query = xtDBquery("SELECT manufacturers_name
                                              FROM "
    .TABLE_MANUFACTURERS."
                                             WHERE manufacturers_id = '"
    .$products_result['manufacturers_id']."'
                                               AND manufacturers_status = 1"
    );
          if (xtc_db_num_rows($manufacturers_query, true) > 0) {
            $manufacturers_result = xtc_db_fetch_array($manufacturers_query, true);
            $manufacturer = $manufacturers_result['manufacturers_name'];
          }
        }
       
        return $manufacturer;
           
    }
    ?>

    An gewünschter Stelle in den Templates (z. B. product_box.html im neuen NOVA-Template) folgendes eintragen:

    Code: PHP  [Auswählen]
    {$module_data.PRODUCTS_ID|get_manufacturers_name}

    newbee79

    • Fördermitglied
    • Beiträge: 185
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #4 am: 02. Juni 2024, 12:39:26
    Super, vielen Dank!
    Werde ich später gleich probieren.

    Bekommt man da noch den Link zum Hersteller irgendwie mit rein?  :whistle:

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #5 am: 02. Juni 2024, 13:15:16
    @awids
    Es ging nicht so wie ich oben schrieb, d'accord.
    Die manufacturers_id  steht im Listing allerdings zur Verfügung, sodaß man sich die Query auf die DB sparen könnte.
    Für den manufacturers_name  gibt es die Funktion xtc_get_manufacturers()  (wie in /includes/modules/product_info.php  verwendet), welche, da über die application_top.php  eingebunden, überall zur Verfügung stehen sollte. Die Funktion benutzt außerdem einen static Cache, sodaß Queries auch nicht mehrfach ausgeführt werden.

    Code: PHP  [Auswählen]
    function smarty_modifier_get_manufacturers_name($manu_id) {
      $all_manus_arr = xtc_get_manufacturers();
      if(isset($all_manus_arr[$manu_id])) {
        $manu_arr = $all_manus_arr[$manu_id];

        return $manu_arr['manufacturers_name'];
      }
    }

    Gruß,
    noRiddle

    *NACHTRAG*
    @newbee79
    Wenn du den Herstellernamen verlinkt haben möchtest mache in der von mir geposteten Funktion im return dies:
    Code: PHP  [Auswählen]
    return '<a href="'.xtc_href_link(FILENAME_DEFAULT, xtc_manufacturer_link($manu_id, $manu_arr['manufacturers_name'])).'" title="'.$manu_arr['manufacturers_name'].'">'.$manu_arr['manufacturers_name'].'</a>';

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #6 am: 02. Juni 2024, 13:36:00
    *NACHTRAG 2*
    Ich vergaß zu erwähnen, daß man im Template mit meinem vorgeschlagenen Modifier statt
    Code: XML  [Auswählen]
    {$module_data.PRODUCTS_ID|get_manufacturers_name}

    dies nutzen muß
    Code: XML  [Auswählen]
    {$module_data.MANUFACTURERS_ID|get_manufacturers_name}

    Gruß,
    noRiddle

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #7 am: 02. Juni 2024, 14:01:04
    Den oben zitierten Modifier hatte ich letztes Jahr mal fix zusammengeschustert, ohne mich mit vorhandenen Funktionen oder so auseinander zu setzen. Natürlich bin ich immer offen für Verbesserungen und Reduzierungen unnötiger Queries. So wie du es jetzt vorgeschlagen hast, ist es natürlich um Welten besser.  :thumbs:

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #8 am: 02. Juni 2024, 14:03:00
    Jau, verstehe, war auch keine Kritik im Sinne "wie kannst du nur...".

    Gruß,
    noRiddle

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #9 am: 02. Juni 2024, 14:07:48
    Hab ich auch nicht so aufgenommen.  ;-)  Und selbst wenn - solange es einen vernünftigen Gegenvorschlag gibt, ist das konstruktive Kritik, welche ich ebenfalls sehr gut annehmen kann (ich weiß, gehört zu den aussterbenden Tugenden).

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #10 am: 02. Juni 2024, 14:21:31
    Was für "konstruktive Kritik" ?, ich wollt' mich nur mal wieder wichtig machen...    :hust:

    HaldOn

    • Fördermitglied
    • Beiträge: 552
    Re: Hersteller in product listing
    Antwort #11 am: 02. Juni 2024, 14:22:47
    Hallo noRiddle,
    bisher hatte ich die awids Version verbaut, nun mit deiner wird der Herstellername nicht mehr in der "templates/template/module/wishlist.html" angezeigt.

    Code: PHP  [Auswählen]
    <div class="lb_title">{$module_data.MANUFACTURERS_ID|get_manufacturers_name} {$module_data.PRODUCTS_MODEL}<h2>{$module_data.PRODUCTS_NAME}</h2></div>

    Gruß Andre

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #12 am: 02. Juni 2024, 14:40:04
    Im vorliegenden Thread geht es um "Hersteller  in product listing ", wozu ich (vielleicht unberechtigterweise) den Merkzettel nicht gezählt habe.
    Im Merkzettel steht die manufacturers_id  nicht zur Verfügung.

    Lege einfach folgende Datei an in /includes/extra/define_add_select/:
    Code: PHP  [Auswählen]
    <?php
    /************************************************************
    * file: nr_get_manu_id_in_cart.php
    * path: /includes/extra/define_add_select/
    * use: make manufacturers_id available in cart and wishlist
    *
    * noRiddle, 05-2024
    ************************************************************/


    if(!in_array('p.manufacturers_id', $add_select_cart)) {
      $add_select_cart[] = 'p.manufacturers_id';
    }

    Gruß,
    noRiddle

    *NACHTRAG*
    Muß dann im Template-File so aussehen:
    Code: XML  [Auswählen]
    {$module_data.PRODUCTS_MANUFACTURERS_ID|get_manufacturers_name}

    HaldOn

    • Fördermitglied
    • Beiträge: 552
    Re: Hersteller in product listing
    Antwort #13 am: 02. Juni 2024, 14:52:51
    Danke für deine Hilfe!

    Gruß Andre

    newbee79

    • Fördermitglied
    • Beiträge: 185
    • Geschlecht:
    Re: Hersteller in product listing
    Antwort #14 am: 03. Juni 2024, 12:23:38
    Wollte noch vielen Dank sagen  - works like a charm  :thumbs:

    Bin immer wieder begeistert und auch etwas neidisch, wie ihr das aus dem Ärmel schüttelt!
    1 Antworten
    2333 Aufrufe
    03. März 2015, 15:53:04 von liongizmo
    4 Antworten
    4265 Aufrufe
    15. Januar 2012, 19:37:20 von Q
    15 Antworten
    8973 Aufrufe
    16. Februar 2014, 11:43:19 von 61lazzo
    2 Antworten
    2670 Aufrufe
    10. Juli 2013, 13:27:54 von Glera77