Anleitung Zusatzfelder erstellen unter Artikelnamen

Thema wurde von Petra, 7. Februar 2012 erstellt.

  1. Petra
    Petra G-WARD 2013/14/15
    Registriert seit:
    27. August 2011
    Beiträge:
    6.998
    Danke erhalten:
    1.225
    Danke vergeben:
    227
    Auf den Tipp wäre ich auch NIE gekommen, da danken wir mal gemeinsam dem lieben Manfred :D
     
  2. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.628
    Danke erhalten:
    11.348
    Danke vergeben:
    1.614
    Hallo Petra,

    hab' mich auch mal rangetraut, aber ich habe irgendwo einen Fehler.

    Screen.jpg

    Ich bin jetzt das 3. mal durch die Dateien gegangen,
    aber ich sehe wohl den Wald vor lauter Bäumen nicht :)

    Hast Du, oder irgendjemand sonst, eine Idee wo der Fehler stecken könnte?
     
  3. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.628
    Danke erhalten:
    11.348
    Danke vergeben:
    1.614
    Jetzt habe ich alles noch mal gemacht... und... keine wirkliche Veränderung (ein < weniger).
    Auf der Listenseite stehen zwei Doppelpunkte untereinander, ohne Angaben. Die zerhackte
    Infoseite seht Ihr im Bild oben.
    Eigentlich sollta da "Inhalt:" und "Größe:" stehen
    Die product_info_lang_inc.php und product_listing_lang_inc.php sind angepasst.
    Seitencache ist auch gelehrt.

    Hat jemand eine Ahnung in welcher Datei der Fehler liegen könnte?
     
  4. Petra
    Petra G-WARD 2013/14/15
    Registriert seit:
    27. August 2011
    Beiträge:
    6.998
    Danke erhalten:
    1.225
    Danke vergeben:
    227
    Hallo Barbra,

    hast du das hier auch gemacht: Wichtig: Um die Textvariable auch in voller Pracht sichtbar zu machen, muss man sich aus lang/german/sections/_sample die Datei product_info.lang.inc.php kopieren und nach dem Einfügen von z.B. 'text_products_inhalt' => 'Inhalt:', die Datei in den Ordner sections spielen.

    Sieht schwer danach aus, als hättest du es nicht gemacht ;)
     
  5. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.628
    Danke erhalten:
    11.348
    Danke vergeben:
    1.614
    #25 barbara, 1. März 2012
    Zuletzt bearbeitet: 1. März 2012
    Hallo Petra,

    den Teil der Anleitung habe ich glatt überlesen und die Datei zurück in /_sample gespielt.
    Wo ist das nächste Mauseloch zum Verkriechen?

    Auf der Infoseite ist jetzt alles Super, aber auf der Listenseite will es nicht so wie ich.
    Zum einen sind die Angaben überall (also auch wo keine Daten eingegeben sind),
    zum Anderen wird die Menge nicht angezeigt.
    siehe hier:
    Screen.jpg

    im Augenblick ist es so geschreiben:
    Code:
    {* ----- products_extrafield ----- *}
    		<br />{$txt.text_products_inhalt}{$module_data.PRODUCTS_INHALT}
    		<br />{$txt.text_products_size}{$module_data.PRODUCTS_SIZE}
    Ich hatte es auch mit {if ...{/if}, da wird aber gar nichts angezeigt.
    Wär schön die Angaben hier auch platzieren zu können.

    Wie hast Du das geregelt?
     
  6. Ma Rio
    Ma Rio Mitglied
    Registriert seit:
    2. März 2012
    Beiträge:
    12
    Danke erhalten:
    0
    Danke vergeben:
    1
    Hallo,
    bin grad 2 std. daran gesessen, hab 3 Datenfelder einfügen wollen...
    und am Ende zeigt es leider nur Eines der Dreien an :(

    Werd es gleich in der Früh wieder probieren.
    Ein nettes Tutorial für gambio wäre nice!

    Gruß
     
  7. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.628
    Danke erhalten:
    11.348
    Danke vergeben:
    1.614
    Hast Du es geschafft?
    Zitat von Mario
    Wenn Ja hast Du dich dafür Qualifiziert :)
     
  8. Ma Rio
    Ma Rio Mitglied
    Registriert seit:
    2. März 2012
    Beiträge:
    12
    Danke erhalten:
    0
    Danke vergeben:
    1
    Gut, dass du mich erinnert hast, bin grad wieder dabei,
    sollte es mir gelingen werde ich screenshot mässig ein kleines Tutorial machen :)
     
  9. Ma Rio
    Ma Rio Mitglied
    Registriert seit:
    2. März 2012
    Beiträge:
    12
    Danke erhalten:
    0
    Danke vergeben:
    1
    Hallo Petra,
    hättest du vl. einen Tipp, wie ich das hinbekommen kann,
    bei mir sieht es so aus:
    123.jpg
     
  10. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.628
    Danke erhalten:
    11.348
    Danke vergeben:
    1.614
    #30 barbara, 7. März 2012
    Zuletzt bearbeitet: 30. März 2012
    Ich werde mal versuchen, die Anleitung kurz wiederzugeben:

    Als erstes bitte eine Sicherung der Datenbank machen.

    Bei mir habe Ich die Datenfelder „Inhalt“ und „Größe“ angelegt.
    Dafür muss die Datenbank in der Tabelle „products“ um zwei Felder erweitert werden.

    In phpmyadmin oder im Shop unter Toolbox / sql
    folgende Anweisung ausführen:
    Code:
    ALTER TABLE `products` 
      ADD `products_inhalt` VARCHAR( 30 ) NOT NULL ,
      ADD `products_size` VARCHAR( 50 ) NOT NULL;
    Die Zahl in Klammern legt die Anzahl der Zeichen fest
    VARCHAR ( 30 ) = maximal 30 Zeichen

    Bitte die Dateien vor dem bearbeiten sichern!

    Nun wird die Feldbezeichnung in den Sprachdateien angelegt.
    lang/german/admin/categories.php
    Code:
    // products_extrafield
      define('TEXT_PRODUCTS_INHALT', 'Inhalt');
      define('TEXT_PRODUCTS_SIZE', 'Größe');
    einfügen

    lang/german/sections/_sample/product_info.lang.ink.php herunterladen
    Code:
    // products_extrafield
      'text_products_inhalt' => 'Inhalt:',
      'text_products_size' => 'Größe:',
    Einfügen und in lang/german/sections hochladen

    In der Datei lang/german/lang_german.conf
    Code:
     /* products_extrafield */
    text_products_inhalt = 'Inhalt:'
    text_products_size = 'Größe:
    '
    einfügen

    Für alle anderen Sprachen die Schritte entsprechend wiederholen.

    Bei mir sind die Eingabefelder unter der Zeile EAN.
    Dafür in der admin/includes/modules/new_product.php
    nach (ca. Zeile 449)
    PHP:
    <td><?php echo TEXT_PRODUCTS_STARTPAGE?></td>
                    <td><?php echo xtc_draw_selection_field('products_startpage''checkbox''1'$pInfo->products_startpage==true false); ?></td>
                    <td><?php echo TEXT_PRODUCTS_EAN?> </td>
                      <td><?php echo  xtc_draw_input_field('products_ean'$pInfo->products_ean,'style="width: 130px"'); ?></td>
                </tr>
    suchen und folgendes anführen:
    PHP:
    <!-- products_extrafield beginn -->
          <tr>
                <td><?php echo TEXT_PRODUCTS_INHALT?></td>
                <td><?php echo  xtc_draw_input_field('products_inhalt'$pInfo->products_inhalt,'style="width: 130px"') ; ?></td>
                <td><?php echo TEXT_PRODUCTS_SIZE?></td>
            <td><?php echo  xtc_draw_input_field('products_size'$pInfo->products_size,'style="width: 130px"'); ?></td>
            </tr>
            <!-- products_extrafield end -->
    Jetzt sollte es so aussehen
    Felder 1.jpg

    Damit die Daten auch gespeichert werden in der admin/includes/classes/categories.php
    nach (ca. Zeile 770)
    PHP:
    $sql_data_array = array ('products_quantity' => xtc_db_prepare_input($products_data['products_quantity']),
                                                                
    'products_model' => xtc_db_prepare_input($products_data['products_model']),
                                                                
    'products_ean' => xtc_db_prepare_input($products_data['products_ean']),
                                                                
    'products_price' => xtc_db_prepare_input($products_data['products_price']),
    suchen und nach ['products_ean'] die neun Felder einsetzen

    PHP:
    '
    products_ean' 
    => xtc_db_prepare_input($products_data['products_ean']),
                                                                
     
    // products_extrafield
     
    'products_inhalt' => xtc_db_prepare_input($products_data['products_inhalt']), 
     
    'products_size' => xtc_db_prepare_input($products_data['products_size']), 
                                                                
     
    'products_price' => xtc_db_prepare_input($products_data['products_price']),
    Anschließend zu (ca. Zeile 1322)
    PHP:
    $sql_data_array=array(
                    
    'products_ean'                        =>$product['products_ean'],
                    
    'products_quantity'                    =>$product['products_quantity'],
                    
    'products_shippingtime'                =>$product['products_shippingtime'],
    gehen und nach der Zeile ['products_ean'] den Text einfügen
    PHP:
                // products_extrafield
                    
    'products_inhalt'                 =>$product['products_inhalt'],
                    
    'products_size'                     =>$product['products_size'],
    Damit die Felder auf der Artikeldetailseite angezeigt werden, in der system/views/product_info/ProductInfoContentView.inc.php

    nach Zeile (ca. 222)
    PHP:
    $this->set_content_data('PRODUCTS_MODEL'$p_coo_product->data['products_model']);
                
    $this->set_content_data('PRODUCTS_EAN'$p_coo_product->data['products_ean']);
    suchen und folgendes anfügen
    PHP:
    // products_extrafield
                
    $this->set_content_data('PRODUCTS_INHALT'$p_coo_product->data['products_inhalt']);
                
    $this->set_content_data('PRODUCTS_SIZE'$p_coo_product->data['products_size']);
    Damit sind die Extrafelder auf der Detailseite.
    Felder 2.jpg
    Für das Sp 1.1 müssen glaube ich einige Zeilen neu angepasst werden.

    Ich hoffe das war Hilfreich.

    Schande über mich, ich habe eine Datei vergessen!

    In der template/EyeCandy/module/product_info/standart.html
    nach
    HTML:
    {if $SHIPPING_NAME}
    						<dt>{$txt.text_shippingtime}</dt>
    						<dd>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}</dd>
    					{/if}
    etwa in Zeile 52 dieses Einfügen
    HTML:
                                        {if $PRODUCTS_SIZE}
    						<dt>{$txt.text_products_size}</dt>
    						<dd>{$PRODUCTS_SIZE}</dd>
    					   {/if}	
    					    {if $PRODUCTS_INHALT}
    						<dt>{$txt.text_products_inhalt}</dt>
    						<dd>{$PRODUCTS_INHALT}</dd
    					   {/if}
    mit dem SP 1.1 müssen die Codes etwas angepasst werden.


    Ich habe die Dateien jetzt mal verglichen (vor SP 1.1 / nach SP 1.1)
    Nach dem Service Pack muss die Datei
    templates/EyeCandy/module/product_info/standart.html
    angepasst werden.
    Der Code ist bei mir jetzt so:
    Code:
    {if $PRODUCTS_SIZE || $SHOW_PRODUCTS_SIZE}
    		<dt>{$txt.text_products_size}</dt>
    		<dd class="products_size">{$PRODUCTS_SIZE}</dd>	
    		{/if}
                     {if $PRODUCTS_INHALT || $SHOW_PRODUCTS_INHALT}
    		   <dt>{$txt.text_products_inhalt}</dt>
    		   <dd class="products_inhalt">{$PRODUCTS_INHALT}</dd>
    		{/if}
     
  11. Ma Rio
    Ma Rio Mitglied
    Registriert seit:
    2. März 2012
    Beiträge:
    12
    Danke erhalten:
    0
    Danke vergeben:
    1
    Herzlichen Glückwunsch, sieht echt TOLL aus bei dir!
    Hut Ab! Vielen Vielen Dank für das Tolle Tutorial,
    werde es gleich am WE ausprobieren.
    Beste Grüße
     
  12. Petra
    Petra G-WARD 2013/14/15
    Registriert seit:
    27. August 2011
    Beiträge:
    6.998
    Danke erhalten:
    1.225
    Danke vergeben:
    227
    Hallo Barbara,

    sorry, ich konnte mich nicht mehr wirklich drum kümmern, da unser Shop gerade spinnt! Vielen Dank für das tolle Tutorial, das wird anderen ganz bestimmt sehr gut helfen. Was mich nervt, dass man mit dem SP schon wieder Dateien anpassen muss. Das nimmt ja irgendwie kein Ende :D
     
  13. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.628
    Danke erhalten:
    11.348
    Danke vergeben:
    1.614
    Hallo Petra,

    das Anpassen fürs SP ist glaube ich nur in einer Datei. Das Schreibe ich nochmal dazu.
    Zur Zeit versuche ich immer mal wieder die Anzeige auch in die Listenansicht zu bekommen.
    Das Wort "Inhalt" funktioniert, aber ohne Wert und bei allen Produkten.
     
  14. Daniela
    Daniela Erfahrener Benutzer
    Registriert seit:
    28. Oktober 2011
    Beiträge:
    793
    Danke erhalten:
    142
    Danke vergeben:
    110
    Hallo Barbara,
    hab dies immer vor mir hergeschoben, bzw. schon mal versucht und dann hat es nicht richtig gefunzt, aber dank deiner Anleitung ist es jetzt drin. *freu
    Vielen Dank.
    Hab versucht, dass jetzt auch noch in die Artikellistenansicht zu bekommen, aber ich bekomm es nicht hin. .-(
    Hast du da einen Tipp für mich?
     
  15. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.628
    Danke erhalten:
    11.348
    Danke vergeben:
    1.614
    Hallo Daniela,

    nein leider noch nicht. Ich war jetzt ein bisschen mit dem SP beschäftigt. Nächste Woche will ich mich aber nochmal ransetzten.
     
  16. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.628
    Danke erhalten:
    11.348
    Danke vergeben:
    1.614
    Ich habe heute nochmal versucht die Anzeigen in die Artikelliste zu bekommen. Ohne Erfolg.:-(
    Entweder habe ich die Texte "Inhalt" und Größe" bei allen Artikel (auch wenn keine Daten eingetragen sind), aber ohne Werte,
    Screen.jpg
    oder es wird gar nichts angezeigt.

    Ich hänge in der Datei templates/EyeCandy/module/product_listing/product_listing_v1.html
    Weiß jemand wie der Code hier geschrieben werden muss?
     
  17. ani
    ani Mitglied
    Registriert seit:
    6. März 2012
    Beiträge:
    16
    Danke erhalten:
    3
    Danke vergeben:
    2
    Hallo Barbara,
    bei mir sieht es genau umgekehrt aus. Der Wert wird ausgegeben, dafür die Beschreibung nicht.

    Hast du die Dateien, die für die Artikelliste zuständig sind, anhand des Tutorials (http://www.xtc-wiki.de/Tutorial:_Zusätzliche_Datenfelder_Artikel#Produktlisting) angepasst?

    Wenn bei dir die Beschreibungen ausgegeben werden ohne dass ein Wert eingetragen wurde fehlt möglicherweise die if-Abfrage um den gesamten Block herum.

    Bei mir sieht der Code in der product_listing_v1.html folgendermaßen aus:

    Code:
    {if $module_data.PRODUCTS_INHALT}
      {$txt.text_products_inhalt}: {$module_data.PRODUCTS_INHALT}
    {/if}
    Der Wert wird bei mir dann in der Artikelliste dargestellt sofern er eingetragen wurde.
    Dafür fehlt bei mir die Beschreibung, was ich absolut nicht verstehe, da es auf der Produkteinzelseite funktioniert.

    Grüße
    Steffi
     
  18. Daniela
    Daniela Erfahrener Benutzer
    Registriert seit:
    28. Oktober 2011
    Beiträge:
    793
    Danke erhalten:
    142
    Danke vergeben:
    110
    Erst war ich davon ja recht begeistert, dass man somit den Inhalt anzeigen lassen kann. Bin aber zu meiner Variente, in Attribute eingeben, zurück gekehrt, weil ja der Inhalt auch im Warenkorb/Bestellung usw. angezeigt werden soll.
    Wäre schön, wenn sowas mal von Gambio in einer zukünftigen Version berücksichtigt wird, denn wie man sieht, besteht Interesse.
     
  19. Ma Rio
    Ma Rio Mitglied
    Registriert seit:
    2. März 2012
    Beiträge:
    12
    Danke erhalten:
    0
    Danke vergeben:
    1
    Genau,
    hab dazu extra einen Vorschlag in Gambio-forum.com gemacht, dass es ein Tutorial davon geben sollte!
     
  20. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.628
    Danke erhalten:
    11.348
    Danke vergeben:
    1.614
    Ich kann es drehen wie ich will: Codes kopieren und ändern, mit {if} {/if} einbetten.... keine Anzeige!
    mit <br /> vor den Klammern erscheint überall nur "Inhalt" oder "Größe" aber keine Werte. Ich werde es im Augenblick so lassen.

    @Steffi
    hast Du die lang/german/section/samples/product_listing.lang.ink.php mit
    // products_extrafield
    'text_products_inhalt' => 'Inhalt:',
    in den Ordner lang/german/section kopiert ?