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: MODUL: Attribute und Mengeneingabe in product_listing

    web0null

    • Experte
    • Beiträge: 1.998
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #150 am: 29. Juni 2015, 11:36:01
    Hast du noch andere "Module" eingebaut?
    Gibt es in einem Original 1.06-Sp2 mit diesem Modul auch diesen Fehler?

    bige

    • Mitglied
    • Beiträge: 183
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #151 am: 29. Juni 2015, 11:45:20
    Hallo,

    ich habe bisher noch keine Module eingebaut die die Preisausgabe ansprechen.
    Das Modul Gunnart Produktliste ist drin.
    Ich vermute hier einen anderen Fehler.
    Ich migriere den Shop von einer alten Modified Version mit erweiterten Datenbanken.
    Ich habe die Products sowie die Attribute eingespielt.
    Damit der Artikel jedoch in der euen version sichtbar wird, muss ich diesen einmal im backend unter Bearbeiten aufrufen und abspeichern.
    Evt. fehlt mirhier eine Datenbanktabelle.
    Ich teste das heute Abend.

    Das gleiche Modul habe ich bei der alten Shopversion (hier allerdings die ältere Version) ohne Probleme im Einsatz.
    Da sonst niemand den fehler mit den Preisen hat muss ich wohl weiter bei mir suchen.

    viele Grüße
    Andi

    web0null

    • Experte
    • Beiträge: 1.998
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #152 am: 29. Juni 2015, 11:49:40
    Lege dir einen 2. Testshop an und bau "nur dieses Modul" ein damit man mal sieht ob es "sicher" an dem Modul liegt.

    NACHTRAG: Du brauchst nicht mehr testen, habe ich gerade gemacht, und habe das Problem schon gefunden.
    Anleitung folgt.

    Gruß

    bige

    • Mitglied
    • Beiträge: 183
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #153 am: 29. Juni 2015, 12:30:30
    Hallo,

    also ich habe jetzt unter Windows 7 und einem XAMPP die aktuelle Shopversion inkl. dem Security Fix installiert.

    Dann habe ich eine Testkategorie mit einem Testprodukt angelegt und diesem Attribute zugewiesen.

    Dann habe ich das Modul (attribute-in-listing_v.1.08_106sp2) installiert.

    Und siehe da, der gleiche Fehler.
    Keine Preise zu sehen.
    Anbei ein Screen, die * stehen vor und hinter der Variable Price im Template

    Liegt es evt. an XAMPP?

    Viele Grüße
    Andi

    web0null

    • Experte
    • Beiträge: 1.998
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #154 am: 29. Juni 2015, 12:44:34
    Suche in deiner "root\includes\classes\product.php"

    Code: PHP  [Auswählen]
    // [++] web0null - attributes-in-listing
    if ($_SESSION['customers_status']['customers_status_show_price'] != '0' && defined('SHOW_BUTTON_BUY_NOW') && SHOW_BUTTON_BUY_NOW != 'false') {
      if ($this->getAttributesCount($array['products_id']) > 0) {
        $options_template = xtDBquery("-- " . __LINE__ . __FILE__ . "
          SELECT options_template
          FROM   "
    .TABLE_PRODUCTS."
          WHERE  products_id = "
    .$array['products_id']
        );
        $options_template          = xtc_db_fetch_array($options_template);
        $array['options_template'] = $options_template['options_template'];
        require_once DIR_FS_INC.'xtc_get_vpe_name.inc.php';
        include DIR_WS_MODULES.'product_attributes_listing.php';
        $attributes = $module;
      }
    }
    // [--] web0null - attributes-in-listing
     

    schneide diesen Teil aus und füge ihn nach folgendem,

    Code: PHP  [Auswählen]
    function buildDataArray(&$array,$image='thumbnail') {
        global $xtPrice,$main,$PHP_SELF;
     

    wieder ein.

    Damit es dann so aussieht
    Code: PHP  [Auswählen]
    function buildDataArray(&$array,$image='thumbnail') {
        global $xtPrice,$main,$PHP_SELF;
        // [++] web0null - attributes-in-listing
        if ($_SESSION['customers_status']['customers_status_show_price'] != '0' && defined('SHOW_BUTTON_BUY_NOW') && SHOW_BUTTON_BUY_NOW != 'false') {
          if ($this->getAttributesCount($array['products_id']) > 0) {
            $options_template = xtDBquery("-- " . __LINE__ . __FILE__ . "
              SELECT options_template
              FROM   "
    .TABLE_PRODUCTS."
              WHERE  products_id = "
    .$array['products_id']
            );
            $options_template          = xtc_db_fetch_array($options_template);
            $array['options_template'] = $options_template['options_template'];
            require_once DIR_FS_INC.'xtc_get_vpe_name.inc.php';
            include DIR_WS_MODULES.'product_attributes_listing.php';
            $attributes = $module;
          }
        }
        // [--] web0null - attributes-in-listing
     

    bige

    • Mitglied
    • Beiträge: 183
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #155 am: 29. Juni 2015, 13:12:45
    Hallo,

    ich weiss schon warum ich Modified nutze.

    Vielen vielen Dank.
    Funktioniert perfekt.

    Wundert mich nur dass sonst niemand den Fehler hatte.

    Viele Grüße
    Andi

    web0null

    • Experte
    • Beiträge: 1.998
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #156 am: 29. Juni 2015, 13:27:37
    Ok danke für die Rückmeldung.
    Im Anhang ist das berichtigte Paket.

    Gruß

    [EDIT Tomcraft 29.06.2015: Modul in Beitrag 1 aktualisiert.]

    karsta.de

    • Experte
    • Beiträge: 3.082
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #157 am: 29. Dezember 2015, 17:58:56
    Wer dieses super Modul verwendet, möchte vielleicht auch für die Artikeloptionen im Produktlisting eine andere Ansicht verwenden als bei der Produktinfo.
    Hier die Erweiterung für die Auswahlmöglichkeit einer eigenen "Vorlage für Artikeloptionen im Produkt-Listing" die im admin dem Artikel zugeordnet wird (siehe Bild):

    In der Datenbank ausführen:
    Code: SQL  [Auswählen]
    ALTER TABLE products ADD options_listing_template VARCHAR(64)  DEFAULT NULL AFTER options_template;

    ##################################
    admin/includes/modules/new_product.php
    Suchen:
    Code: PHP  [Auswählen]
            <tr>
              <td class="main"><?php echo TEXT_CHOOSE_OPTIONS_TEMPLATE; ?>:</span></td>
              <td class="main"><?php echo $catfunc->create_templates_dropdown_menu('options_template', '/module/product_options/', $pInfo->options_template, 'style="width:100%"'); ?></td>
            </tr>

    Danach einfügen:
    Code: PHP  [Auswählen]
            <tr>
              <td class="main"><?php echo TEXT_CHOOSE_OPTIONS_LISTING_TEMPLATE; ?>:</span></td>
              <td class="main"><?php echo $catfunc->create_templates_dropdown_menu('options_listing_template', '/module/product_options/', $pInfo->options_listing_template, 'style="width:100%"'); ?></td>
            </tr>

    ##################################
    admin/includes/classes/categories.php
    Suchen:
    Code: PHP  [Auswählen]
    'options_template' => xtc_db_prepare_input($products_data['options_template']),

    Danach einfügen:
    Code: PHP  [Auswählen]
    'options_listing_template' => xtc_db_prepare_input($products_data['options_listing_template']),

    ###################################
    lang/german/admin/german.php
    Suchen:
    Code: PHP  [Auswählen]
    define('TEXT_CHOOSE_OPTIONS_TEMPLATE','Vorlage für Artikeloptionen');

    Danach einfügen:
    Code: PHP  [Auswählen]
    define('TEXT_CHOOSE_OPTIONS_LISTING_TEMPLATE','Vorlage für Artikeloptionen im Listing');
    ------
    lang/english/admin/eglish.php
    Suchen:
    Code: PHP  [Auswählen]
    define('TEXT_CHOOSE_OPTIONS_TEMPLATE','Template for product options');

    Danach einfügen:
    Code: PHP  [Auswählen]
    define('TEXT_CHOOSE_OPTIONS_LISTING_TEMPLATE','Template for product options in list');

    #####################################
    includes/classes/product.php

    Suchen:
    Code: PHP  [Auswählen]
    // [++] web0null - attributes-in-listing
    if ($_SESSION['customers_status']['customers_status_show_price'] != '0' && defined('SHOW_BUTTON_BUY_NOW') && SHOW_BUTTON_BUY_NOW != 'false') {
      if ($this->getAttributesCount($array['products_id']) > 0) {
        $options_template = xtDBquery("-- " . __LINE__ . __FILE__ . "
          SELECT options_template
          FROM   "
    .TABLE_PRODUCTS."
          WHERE  products_id = "
    .$array['products_id']
        );
        $options_template          = xtc_db_fetch_array($options_template);
        $array['options_template'] = $options_template['options_template'];
        require_once DIR_FS_INC.'xtc_get_vpe_name.inc.php';
        include DIR_WS_MODULES.'product_attributes_listing.php';
        $attributes = $module;
      }
    }
    // [--] web0null - attributes-in-listing

    Ersetzen:
    Code: PHP  [Auswählen]
    // [++] web0null - attributes-in-listing
    if ($_SESSION['customers_status']['customers_status_show_price'] != '0' && defined('SHOW_BUTTON_BUY_NOW') && SHOW_BUTTON_BUY_NOW != 'false') {
      if ($this->getAttributesCount($array['products_id']) > 0) {
        $options_template = xtDBquery("-- " . __LINE__ . __FILE__ . "
          SELECT options_listing_template
          FROM   "
    .TABLE_PRODUCTS."
          WHERE  products_id = "
    .$array['products_id']
        );
        $options_template          = xtc_db_fetch_array($options_template);
        $array['options_listing_template'] = $options_template['options_listing_template'];
        require_once DIR_FS_INC.'xtc_get_vpe_name.inc.php';
        include DIR_WS_MODULES.'product_attributes_listing.php';
        $attributes = $module;
      }
    }
    // [--] web0null - attributes-in-listing

    Nun nur noch die includes/modules/product_attributes_listing.php mit dieser ersetzen. Fertig!
    Bitte beachten, dass diese Erweiterung auf das Modul von web0null aufbaut.

    Teratek

    • Schreiberling
    • Beiträge: 268
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #158 am: 09. Juni 2016, 13:40:46
    Hallo,

    ich lese mich gerade ein wenig in die Struktur und den modularen Aufbar von modified ein.

    Ich benötige eigenlich "nur" die Möglichkeit im Product Listing (xtc5) Artikel in den Warenkorb zu legen

    Code: PHP  [Auswählen]
    {foreach name=aussen item=module_data from=$module_content}
    geändert in
    Code: PHP  [Auswählen]
    {foreach name=aussen item=module_data from=$module_content}{$module_data.FORM_ACTION}

    und weiter unten dann an einer Stelle eingefügt:

    Code: PHP  [Auswählen]
    <div class="addtobasket">
            <table border="0" cellspacing="0" cellpadding="2">
                    <tr>
                    <td style="width:100%; padding-right:5px;">{$module_data.ADD_QTY}</td>
                    <td>{$module_data.PRODUCTS_ADD_CART_BUTTON}</td>
                    </tr>
            </table>
            </div> 
            </table>
     

    Leider reicht das wohl nicht  :-?

    web0null

    • Experte
    • Beiträge: 1.998
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #159 am: 09. Juni 2016, 14:07:05
    Das stimmt, es reicht nicht.
    Aber dieses "Modul" reicht dafür  ;-)

    Gruß

    Teratek

    • Schreiberling
    • Beiträge: 268
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #160 am: 09. Juni 2016, 15:04:49
    Vielen Dank für den Link, aber das Modul kannte ich schon. Mir geht es nur um die Minimaländerungen um in der Artikel-listing Artikel in den Warenkorb zu legen.

    Code: PHP  [Auswählen]
    {$module_data.PRODUCTS_ADD_CART_BUTTON}
    Code: PHP  [Auswählen]
    {$module_data.ADD_QTY}

    Scheinen nicht global verfügbar zu sein.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.147
    • Geschlecht:
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #161 am: 09. Juni 2016, 15:20:56
    Hast Du die Option überhaupt eingeschaltet?

    Backend:
    Konfiguration -> Artikel Listen Optionen
    "Zeige "Jetzt Kaufen" in den Produktlisten"

    Teratek

    • Schreiberling
    • Beiträge: 268
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #162 am: 09. Juni 2016, 15:43:27
    :doh:

    Nein, war nicht eingeschaltet, aber angezeigt wird er immer noch nicht. Oder muß ich nach dem Umstellen und speichern der Einstellung im Andminbereich mit anschließendem Page reload noch etwas resetten?

    Hat sich erledigt
    Ich hatte einen wichtigen Teil in der products.php nicht eingefügt. Jetzt gehts  :-D

    Teratek

    • Schreiberling
    • Beiträge: 268
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #163 am: 10. Juni 2016, 13:59:13
    Ich suche die Variable um in der products_listing

    den Hersteller und die HAN anzuzeigen.

    Hat die jemand kurz zur Han?

    Sind die Variablen mit den SQL Datenfeldern gleich?

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.147
    • Geschlecht:
    Re: MODUL: Attribute und Mengeneingabe in product_listing
    Antwort #164 am: 13. Juni 2016, 16:54:46
    Jain ..... zu 99% ja .... es gibt aber Stellen wo ein Programmierer ohne Englischkenntnisse sich verschrieben hat und das ganze dann sehr chaotisch wird .... PRODUCTS_AVAVIABLE ist mir da bekannt ...

    Generell stimmt es aber, dass die Datenbankfelder und Smarty Variablen gleich sind (die Smarty aber groß)

    Das Feld was Du suchst steht im Produktlisting meines Wissens nicht zur Verfügung.

    Wenn ich das auswendig richtig hinbekomme, sind folgende schritte notwendig:
    1) /includes/modules/default.php (und alle weiteren Seiten wie advanced_search_result.php, specials.php, etc) den SQL Query anpassen.
    Hinter
    Code: SQL  [Auswählen]
    p.manufacturers_id,
    das:
    Code: SQL  [Auswählen]
    m.manufacturers_name,
    Hinter einen der JOINS einen neuen bauen, z.b. nach:
    Code: SQL  [Auswählen]
    JOIN ".TABLE_PRODUCTS." p
    das hier:
    Code: SQL  [Auswählen]
    LEFT JOIN ".TABLE_MANUFACTURERS." m ON p.manufacturers_id = m..manufacturers_id

    Dann noch in der /includes/classes/product.php die Funktion buildDataArray() anpassen

    Hier:
    Code: PHP  [Auswählen]
        //products data array
        $productData = array ('PRODUCTS_NAME' => htmlspecialchars($array['products_name'],ENT_QUOTES,$_SESSION['language_charset']),
                              'COUNT' => isset($array['ID']) ? $array['ID'] : 0,
                              'PRODUCTS_ID'=> $array['products_id'],
     
    Einfach eine Zeile anfügen:
    Code: PHP  [Auswählen]
                              'MANUFACTURERS_NAME'=> $array['manufaturers_name'],

     
    Das sollte in der Richtung für alle Produktlisten gehen. Boxen sind wieder eine andere Baustelle.
    9 Antworten
    3342 Aufrufe
    21. Juni 2017, 14:59:02 von awids
    6 Antworten
    4253 Aufrufe
    22. August 2014, 15:59:00 von web0null
    5 Antworten
    3477 Aufrufe
    26. Februar 2012, 14:16:21 von jannemann