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: Vohandenen Eintrag aus Datenbank ausgeben

    netcube

    • Neu im Forum
    • Beiträge: 7
    • Geschlecht:
    Vohandenen Eintrag aus Datenbank ausgeben
    am: 02. Oktober 2015, 16:14:05
    Hallo,

    ich habe in der Datenbank in der Tabelle "artikel" ein Zusatzfeld "ZFeld1" nun möchte ich dessen Inhalt in der Artikelansicht ausgeben.

    Ich habe schon einges ausprobiert aber verstehe das nicht und es wird leider auch nicht angezeigt

    in der product_info_v1.html habe ich:
    Code: PHP  [Auswählen]
    <p>{#text_zfeld_eins#} : {$PRODUCTS_ZFELD1}</p>

    und in der product_info.php:
    Code: PHP  [Auswählen]
    $info_smarty->assign('PRODUCTS_ZFELD1', $product->data['products_zfeld1']);

    scheint ja nicht auszureichen

    Schon mal vielen Dank

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

    burrito

    • Viel Schreiber
    • Beiträge: 535
    • Geschlecht:
    Re: Vohandenen Eintrag aus Datenbank ausgeben
    Antwort #1 am: 02. Oktober 2015, 16:46:01
    Klicke mal oben auf den Menüpunkt "Wiki". Dort stehen viele gute Infos. U.a. findest Du dort diese beiden Links:
    Tutorial: Zusätzliche Datenfelder Artikel
    Zusätzliche Datenfelder Artikel (modified shop 106)

    burrito

    netcube

    • Neu im Forum
    • Beiträge: 7
    • Geschlecht:
    Re: Vohandenen Eintrag aus Datenbank ausgeben
    Antwort #2 am: 05. Oktober 2015, 10:12:13
    Hallo,

    das bin ich alles schon durch und bekomme ich auch hin wenn ich die Tabelle "products" verwende.

    Meine Daten die ich benötige liegen in der Tabelle "Artikel" welche über enine WAWI eingespielt werden.

    Ich muss nun mir die zugehörigen Daten aus dieser Tabelle holen.

    Habe es schon mit einigen Abfragen versucht bekomme es aber nicht hin.
    Auch weiß ich nicht wie ich dann das Ganze übergeben muss.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Vohandenen Eintrag aus Datenbank ausgeben
    Antwort #3 am: 05. Oktober 2015, 12:50:02
    Du must eine Datenbankabfrage auf die Tabelle "artikel" machen und das Ergebnis dann mit assign an smarty übergeben, aber um dir einen konkreten Vorschlag zu machen musst Du uns Informationen über die Struktur der Tabelle mitteilen, am einfachsten exportierst Du sie ohne Datensätze mit phpMyAdmin und postest hier das Ergebnis.

    Gruss
    Hanspeter

    netcube

    • Neu im Forum
    • Beiträge: 7
    • Geschlecht:
    Re: Vohandenen Eintrag aus Datenbank ausgeben
    Antwort #4 am: 05. Oktober 2015, 15:47:22
    Vielen Dank,

    die Struktur ist ganz einfach

    Tabellenname: artikel
    Spaltenname: ZFeld1, ZFeld2, ZFeld3 ... ZFeld24

    Ich benötige aber nicht alle Spalten mir geht es nun gerade um das ZFeld1

    Vielen Dank

    netcube

    • Neu im Forum
    • Beiträge: 7
    • Geschlecht:
    Re: Vohandenen Eintrag aus Datenbank ausgeben
    Antwort #5 am: 05. Oktober 2015, 15:57:11
    zaehler   kfmart   artikelnummer   eannummer   zusatznummer   warengruppe   umsatzsteuer   waehrung   bezeichnung   bezeichnung2   bezeichnung3   bezeichnung4   bezeichnung5   langtext   details   eigen1   eigenschaften1   eigen2   eigenschaften2   bild_klein   bild_gross   ausrichtung   hersteller   herstellernr   preiseinheit   einheit   ek   kosten   lek   vk1   vk2   vk3   vk4   vk5   vk6   vk7   vk8   vk9   grundanzeige   staffel_menge   staffel_preis   inventur   mindesbestand   reserviert   bestellt   preisnetto   internet   katalog   volumen   nettogewicht   bruttogewicht   zusatz1   zusatz2   zusatz3   sonderpreis   startseite   spreisvon   spreisbis   spreis   sonderrabatt   rabattfaehig   selekt   mody   hauptlager   lagernummer   lagerort1   lagerort2   ZFeld1   ZFeld2   ZFeld3   ZFeld4   ZFeld5   ZFeld6   ZFeld7   ZFeld8   ZFeld9   ZFeld10   ZFeld11   ZFeld12   ZFeld13   ZFeld14   ZFeld15   ZFeld16   ZFeld17   ZFeld18   ZFeld19   ZFeld20   ZFeld21   ZFeld22   ZFeld23   ZFeld24   ve   bild10_gross   bild10_klein   bild9_gross   bild9_klein   bild8_gross   bild8_klein   bild7_gross   bild7_klein   bild6_gross   bild6_klein   bild5_gross   bild5_klein   bild4_gross   bild4_klein   bild3_gross   bild3_klein   bild2_gross   bild2_klein   langtext2   langtext3   langtext4   langtext5   werbetext1   werbetext2   werbetext3   werbetext4   werbetext5   linkname1   link1   linkname2   link2   texteingabe   empfehlung   hauptseite   layout   hiernr   hierident   kassendatum   iupdate

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Vohandenen Eintrag aus Datenbank ausgeben
    Antwort #6 am: 05. Oktober 2015, 21:10:26
    Hallo netcube,

    vorausgesetzt die Artikelnummern aus den Tabellen 'products' und 'artikel' korrespondieren miteinander, sollte folgendes funktionieren.

    Füge in 'includes/modules/product_info.php' vor

    Code: PHP  [Auswählen]
      // more images
      $mo_images = xtc_get_products_mo_images($product->data['products_id']);
     

    diesen Code ein

    Code: PHP  [Auswählen]
      // Get ZFeld1 from table artikel
      $artikel_query = xtc_db_query("SELECT ZFeld1 FROM artikel WHERE artikelnummer = '" . $product->data['products_model'] . "' LIMIT 1");
                                   
      if (xtc_db_num_rows($artikel_query)) {
        $artikel = xtc_db_fetch_array($artikel_query);
        $info_smarty->assign('PRODUCTS_ZFELD1', $artikel['ZFeld1']);
      }
     

    und in 'product_info_v1.html' diesen Code

    Code: XML  [Auswählen]
    <p>{#text_zfeld_eins#} : {$PRODUCTS_ZFELD1}</p>
     

    Gruss
    Hanspeter

    netcube

    • Neu im Forum
    • Beiträge: 7
    • Geschlecht:
    Re: Vohandenen Eintrag aus Datenbank ausgeben
    Antwort #7 am: 06. Oktober 2015, 14:31:11
    Vielen Dank,

    genau das habe ich gestern abend auch noch so hinbekommen.

    Trotzdem vielen Dank.

    netcube

    • Neu im Forum
    • Beiträge: 7
    • Geschlecht:
    Re: Vohandenen Eintrag aus Datenbank ausgeben
    Antwort #8 am: 08. Oktober 2015, 10:25:31
    Nun habe ich aber das nächste Problem.

    In der Artikelliste scheint es ja nicht ganz so einfach zu sein.

    Wie bekomme ich das denn da hin bitte?

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Vohandenen Eintrag aus Datenbank ausgeben
    Antwort #9 am: 08. Oktober 2015, 14:38:46
    In Artikellisten muss man etwas mehr Aufwand betreiben.

    Vorschlag:

    In includes/classes/product.php ca Zeile 426 folgenden Code
    Code: PHP  [Auswählen]
        //products data array
        $productData = array ('PRODUCTS_NAME' => $array['products_name'],
                              'COUNT' => isset($array['ID']) ? $array['ID'] : 0,
                              'PRODUCTS_ID'=> $array['products_id'],
                              'PRODUCTS_MODEL'=> isset($array['products_model']) ? $array['products_model'] : '',
                              'PRODUCTS_EAN' => isset($array['products_ean']) ? $array['products_ean'] : '',
                              'PRODUCTS_MANUFACTURERS_MODEL' => isset($array['products_manufacturers_model']) ? $array['products_manufacturers_model'] : '',
                              'PRODUCTS_VPE' => $main->getVPEtext($array, $products_price['plain']),
                              'PRODUCTS_IMAGE' => $products_image,
                              'PRODUCTS_IMAGE_SIZE' => $img_attr,
                              'PRODUCTS_IMAGE_TITLE' => str_replace('"','',$array['products_name']),
                              'PRODUCTS_LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($array['products_id'], $array['products_name'])),
                              'PRODUCTS_PRICE' => $products_price['formated'],
                              'PRODUCTS_TAX_INFO' => $main->getTaxInfo($tax_rate),
                              'PRODUCTS_SHIPPING_LINK' => $main->getShippingLink(),
                              'PRODUCTS_BUTTON_BUY_NOW' => $buy_now,
                              'PRODUCTS_SHIPPING_NAME'=>$shipping_status_name,
                              'PRODUCTS_SHIPPING_IMAGE'=>$shipping_status_image,
                              // BOF - Tutorial: Umsetzung der EU-Verbraucherrichtlinie vom 13.06.2014
                              'PRODUCTS_SHIPPING_NAME_LINK' => $shipping_status_link,
                              // EOF - Tutorial: Umsetzung der EU-Verbraucherrichtlinie vom 13.06.2014
                              'PRODUCTS_DESCRIPTION' => isset($array['products_description']) ? $array['products_description'] : '', //DokuMan - 2010-02-26 - set Undefined index
                              'PRODUCTS_QUANTITY' => isset($array['products_quantity']) ? $array['products_quantity'] : '',
                              'PRODUCTS_EXPIRES' => isset($array['expires_date']) ? $array['expires_date'] : 0, //DokuMan - 2010-02-26 - set Undefined index
                              'PRODUCTS_CATEGORY_URL' => isset($array['cat_url']) ? $array['cat_url'] : '', //DokuMan - 2010-02-26 - set Undefined index
                              'PRODUCTS_SHORT_DESCRIPTION' => isset($array['products_short_description']) ? $array['products_short_description'] : '', //DokuMan - 2010-02-26 - set Undefined index
                              'PRODUCTS_FSK18' => isset($array['products_fsk18']) ? $array['products_fsk18'] : 0, //DokuMan - 2010-02-26 - set Undefined index
                              'PRODUCTS_BUTTON_DETAILS' => '<a href="'.xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($array['products_id'], $array['products_name'])).'">'.xtc_image_button('button_product_more.gif', $array['products_name'].TEXT_NOW).'</a>' //GTB - 2010-08-27 make Button Details global
                             );
     
    ersetzen mit diesem Code
    Code: PHP  [Auswählen]
        //products data array
        $productData = array ('PRODUCTS_ZFELD1'=> isset($array['ZFeld1']) ? $array['ZFeld1'] : '',
                              'PRODUCTS_NAME' => $array['products_name'],
                              'COUNT' => isset($array['ID']) ? $array['ID'] : 0,
                              'PRODUCTS_ID'=> $array['products_id'],
                              'PRODUCTS_MODEL'=> isset($array['products_model']) ? $array['products_model'] : '',
                              'PRODUCTS_EAN' => isset($array['products_ean']) ? $array['products_ean'] : '',
                              'PRODUCTS_MANUFACTURERS_MODEL' => isset($array['products_manufacturers_model']) ? $array['products_manufacturers_model'] : '',
                              'PRODUCTS_VPE' => $main->getVPEtext($array, $products_price['plain']),
                              'PRODUCTS_IMAGE' => $products_image,
                              'PRODUCTS_IMAGE_SIZE' => $img_attr,
                              'PRODUCTS_IMAGE_TITLE' => str_replace('"','',$array['products_name']),
                              'PRODUCTS_LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($array['products_id'], $array['products_name'])),
                              'PRODUCTS_PRICE' => $products_price['formated'],
                              'PRODUCTS_TAX_INFO' => $main->getTaxInfo($tax_rate),
                              'PRODUCTS_SHIPPING_LINK' => $main->getShippingLink(),
                              'PRODUCTS_BUTTON_BUY_NOW' => $buy_now,
                              'PRODUCTS_SHIPPING_NAME'=>$shipping_status_name,
                              'PRODUCTS_SHIPPING_IMAGE'=>$shipping_status_image,
                              // BOF - Tutorial: Umsetzung der EU-Verbraucherrichtlinie vom 13.06.2014
                              'PRODUCTS_SHIPPING_NAME_LINK' => $shipping_status_link,
                              // EOF - Tutorial: Umsetzung der EU-Verbraucherrichtlinie vom 13.06.2014
                              'PRODUCTS_DESCRIPTION' => isset($array['products_description']) ? $array['products_description'] : '', //DokuMan - 2010-02-26 - set Undefined index
                              'PRODUCTS_QUANTITY' => isset($array['products_quantity']) ? $array['products_quantity'] : '',
                              'PRODUCTS_EXPIRES' => isset($array['expires_date']) ? $array['expires_date'] : 0, //DokuMan - 2010-02-26 - set Undefined index
                              'PRODUCTS_CATEGORY_URL' => isset($array['cat_url']) ? $array['cat_url'] : '', //DokuMan - 2010-02-26 - set Undefined index
                              'PRODUCTS_SHORT_DESCRIPTION' => isset($array['products_short_description']) ? $array['products_short_description'] : '', //DokuMan - 2010-02-26 - set Undefined index
                              'PRODUCTS_FSK18' => isset($array['products_fsk18']) ? $array['products_fsk18'] : 0, //DokuMan - 2010-02-26 - set Undefined index
                              'PRODUCTS_BUTTON_DETAILS' => '<a href="'.xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($array['products_id'], $array['products_name'])).'">'.xtc_image_button('button_product_more.gif', $array['products_name'].TEXT_NOW).'</a>' //GTB - 2010-08-27 make Button Details global
                             );
     

    In includes/modules/default.php ca Zeile 232 folgenden Code
    Code: PHP  [Auswählen]
      $select .= 'p.products_manufacturers_model, ';
      $listing_sql = "-- /includes/modules/default.php
                      SELECT "
    .$select."
                             p.products_id,
                             p.products_ean,
                             p.products_quantity,
                             p.products_shippingtime,
                             p.products_model,
                             p.products_image,
                             p.products_price,
                             p.products_discount_allowed,
                             p.products_weight,
                             p.products_tax_class_id,
                             p.manufacturers_id,
                             p.products_fsk18,
                             p.products_vpe,
                             p.products_vpe_status,
                             p.products_vpe_value,
                             pd.products_name,
                             pd.products_description,
                             pd.products_short_description
                        FROM "
    .TABLE_PRODUCTS_DESCRIPTION." pd
                        JOIN "
    .TABLE_PRODUCTS." p
                             "
    .$from."
                       WHERE p.products_status = '1'
                         AND p.products_id = pd.products_id
                         AND pd.language_id = '"
    .(int) $_SESSION['languages_id']."'
                             "
    .$group_check."
                             "
    .$fsk_lock."
                             "
    .$where."
                             "
    .$sorting;
     
    ersetzen mit diesem Code
    Code: PHP  [Auswählen]
      $select .= 'p.products_manufacturers_model, ';
      $listing_sql = "-- /includes/modules/default.php
                      SELECT "
    .$select."
                             a.artikelnummer,
                             a.ZFeld1,
                             p.products_id,
                             p.products_ean,
                             p.products_quantity,
                             p.products_shippingtime,
                             p.products_model,
                             p.products_image,
                             p.products_price,
                             p.products_discount_allowed,
                             p.products_weight,
                             p.products_tax_class_id,
                             p.manufacturers_id,
                             p.products_fsk18,
                             p.products_vpe,
                             p.products_vpe_status,
                             p.products_vpe_value,
                             pd.products_name,
                             pd.products_description,
                             pd.products_short_description                        
                        FROM "
    .TABLE_PRODUCTS_DESCRIPTION." pd
                        JOIN "
    .TABLE_PRODUCTS." p
                   LEFT JOIN artikel a ON (p.products_model = a.artikelnummer)
                             "
    .$from."
                       WHERE p.products_status = '1'
                         AND p.products_id = pd.products_id
                         AND pd.language_id = '"
    .(int) $_SESSION['languages_id']."'
                             "
    .$group_check."
                             "
    .$fsk_lock."
                             "
    .$where."
                             "
    .$sorting;
     

    Dann in templates/xtc5/module/product_listing/product-listing_v1.html irgendwo zwischen folgende SMarty-Tag's
    Code: PHP  [Auswählen]
    {foreach name=aussen item=module_data from=$module_content}

    {/foreach}
     
    z.B. diesen Code einfügen
    Code: PHP  [Auswählen]
    {if $module_data.PRODUCTS_ZFELD1}<p>{#text_zfeld_eins#} : {$module_data.PRODUCTS_ZFELD1}</p>{/if}
     

    Gruss
    Hanspeter
    4 Antworten
    5373 Aufrufe
    23. Juli 2012, 07:45:17 von Kawabiker
    2 Antworten
    2199 Aufrufe
    29. Oktober 2010, 02:32:38 von Meolo
    0 Antworten
    2003 Aufrufe
    22. März 2012, 10:23:01 von teamrsr
    1 Antworten
    1939 Aufrufe
    19. Januar 2013, 12:19:25 von noRiddle (revilonetz)