Anleitung Artikelnummer in der Listenansicht anzeigen

Thema wurde von Stephan Ho., 24. Oktober 2012 erstellt.

  1. Thomas Reichert

    Thomas Reichert Erfahrener Benutzer

    Registriert seit:
    20. Februar 2014
    Beiträge:
    239
    Danke erhalten:
    8
    Danke vergeben:
    75
    Super, vielen Dank! Hat auf Anhieb funktioniert. Versteh ich das richtig, dass mit dem SQL-Befehl das Ganze jetzt Updatesicher ist?
     
  2. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    zur Not kannst Du auch die scripte im usermod ablegen..
     
  3. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Nein, ist beim nächsten Update, das in die Dateien geht weg.

    Ich verstehe auch gar nicht was das mit dem SQL soll.
    Da wird doch nur für die Listenansicht das template zugewiesen, das ohnehin genommen wird.
    Oder bekomme ich gerade etwas nicht mit?
     
  4. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Seit wann ist eine Datei weg, wenn die im ,-mod verzeichnis abgelegt wird?
     
  5. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Änderungen in der Datei
    /includes/classes/product.php
    sind nicht Updatesicher
    Und hier:
    steht nichts von "kopieren und speichern als product_listing_v1-USERMOD.html

    Von einem -mod-Verzeichnis kann ich bei Denier Anleitung nichts entdecken.
     
  6. Kai Schoelzke

    Kai Schoelzke Beta-Held

    Registriert seit:
    30. März 2016
    Beiträge:
    3.803
    Danke erhalten:
    548
    Danke vergeben:
    248
  7. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
  8. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    @ Kai,
    ich sage ja nicht, das es nicht updatesicher geht, sondern dass die angebotene Anleitung nicht updatesicher ist. :)
     
  9. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Korrekt!
     
  10. bjoernpagel

    bjoernpagel Mitglied

    Registriert seit:
    4. Juni 2014
    Beiträge:
    7
    Danke erhalten:
    0
    Danke vergeben:
    4
    Moin!
    Geht das auch in der Version v2.1.0.7? Kann in der product.php die Zeile nicht finden.
    Gruß
    Björn
     
  11. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Ist zu finden in Zeile 821 und sollte auch dort funktionieren.
     
  12. bjoernpagel

    bjoernpagel Mitglied

    Registriert seit:
    4. Juni 2014
    Beiträge:
    7
    Danke erhalten:
    0
    Danke vergeben:
    4
    Habe es ausprobiert! geht in der Version.

    Danke Dir!
     
  13. chris01

    chris01 Aktives Mitglied

    Registriert seit:
    8. November 2014
    Beiträge:
    34
    Danke erhalten:
    1
    Danke vergeben:
    5
    Hallo,
    ist es möglich die Artikelnummer ganz nach rechts außen zu verschieben? Womöglich zweizeilig? Wird momentan direkt an die Artikelbezeichnung angehängt.

    Danke
    Christoph
     
  14. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Die Möglichkeit besteht, das mittels Anpassung via php oder Style Edit zu machen.
     
  15. chris01

    chris01 Aktives Mitglied

    Registriert seit:
    8. November 2014
    Beiträge:
    34
    Danke erhalten:
    1
    Danke vergeben:
    5
    Beim StyleEdit wird aber immer auch der Artikeltext mitgenommen.
     
  16. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Das kannst Du in der product_listing_v1_html, bzw. product_listing_v1-USERMOD.html machen
     
  17. Thomas Reichert

    Thomas Reichert Erfahrener Benutzer

    Registriert seit:
    20. Februar 2014
    Beiträge:
    239
    Danke erhalten:
    8
    Danke vergeben:
    75
    Unter v2.2.1.3 funktionieren die Änderungen in der product_listing_v1_html nicht mehr, die Artikelnummern werden nicht mehr angezeigt. Kann mir jemand helfen? Danke.
     
  18. Cyrus (LeGong)

    Cyrus (LeGong) Erfahrener Benutzer

    Registriert seit:
    21. Dezember 2011
    Beiträge:
    1.432
    Danke erhalten:
    342
    Danke vergeben:
    176
    #38 Cyrus (LeGong), 11. Juni 2015
    Zuletzt bearbeitet: 11. Juni 2015
    Hallo Thomas,
    In der Version 2.2.1.3 hat sich der Aufbau der Datei "includes/classes/product.php" ganz geändert. Außerdem kann man diese Dateien Updatessicher als Overloads erstellen. Nehmen wir eueren Beispiel an. da macht man in dem Ordner "user_classes/overloads" einen Ordner Namens "product", ohne (" "). dadrin definiert man die Klasse und die Funktion die man über laden möchte. In euerem Beispiel: PRODUCT_MODEL =>
    PHP:
    class cp_product extends cp_product_parent
    {
        function 
    buildDataArray(&$array$image 'thumbnail')
        {
            global 
    $xtPrice$main;
            
            
    $t_data_array=parent::buildDataArray($array$image);
                    
            
    //Additional info in $t_data_array
            
    $t_data_array['PRODUCTS_MODEL']=$array['products_model'];
            
    //Additional info in $t_data_array

            
    return $t_data_array;
            
        }
    }
        
    ?>

    jetzt muss man die Datei "system/classes/listing/ProductListingContentControl.inc.php" überladen. Als erstellen wir in den Ordner "user_classes/overlods" einen Ordner Namens "ProductListingContentControl. In diesem Ordner schreiben wir eine Datei mit dem Inhalt:
    PHP:
    <?php

    class extrafeld_ProductListingContentControl extends extrafeld_ProductListingContentControl_parent
    {

      public function 
    getSelectFields()
      {
        
    $select_fields = array('p.products_model');
       return 
    $select_fields;
      }

     public function 
    extend_proceed($p_action)
       {
           
    $t_sql =  $this->sql_query;

           
    $select_fields implode(",",$this->getSelectFields());

           
    $t_sql str_replace('FROM',','.$select_fields.' FROM',$t_sql);

           
    $this->sql_query $t_sql;

           
    parent::extend_proceed($p_action);
       }
    }

    Nun stehen die Daten für die Datei "product_listing_v1.html" zur Verfügung. Jetzt muss man nur in gewünschte Stelle die Daten abrufen. Also z. B. :
    HTML:
    ...
    ...
    ...
            {if $module_data.PRODUCTS_FSK18=='true'}<img src="{$tpl_path}img/fsk18.gif" alt="fsk18.gif" title="fsk18.gif" />{/if}
                        </div>
                        <div class="article-list-item-main">
                            <h2>
                                <a href="{$module_data.PRODUCTS_LINK}" class="product_link"{if $module_data.PRODUCTS_META_DESCRIPTION != ''} title="{$module_data.PRODUCTS_META_DESCRIPTION|truncate:80:"..."|replace:'"':'&quot;'}"{/if}>{$module_data.PRODUCTS_NAME}</a>
                            </h2>
                            <p>{$module_data.PRODUCTS_SHORT_DESCRIPTION}<br />
                            
                            <!-- BOF products_extrafield -->
                            {if $module_data.PRODUCTS_MODEL || $module_data.SHOW_PRODUCTS_MODEL}
                                {$txt.text_products_model}
                                {$module_data.PRODUCTS_MODEL}
    
    ...
    ...
    ...
    Nun muss man eventuel die Sprach Dateien noch anpassen. Also {$txt.text_products_model}:
    Die Datei "product_listing.lang.inc.php" von dem Ordner lang/german/sections/_samples kopieren und in dem Ordner lang/german/sections ablegen. Also eine Verzeichnisebene höher. Folgender Code in der Datei eingeben:
    PHP:
    ...
    ...
    */

    $t_language_text_section_content_array = array
    (
      
    // BOF products_extrafield
      
    'text_products_model' => 'Art-Nr.:',
     
    // EOF products_extrafield
     
    ...
    ...
    ...
    'option_shipping_asc' => 'Lieferzeit aufsteigend',
      
    'option_shipping_desc' => 'Lieferzeit absteigend',
      
    'text_pieces' => 'St&uuml;ck',
      
    'text_products_inhalt' => 'Inhalt:',
      
    'text_buy' => 'kaufen'
    );
    Diese Schritt für alle andere Sprachen auch ausführen. Jetzt musste diese Extra- Feld im Frontend bei Artikel-Listing sichtbar sein.
    Viel Erfolg
     
  19. WalterGestalter

    WalterGestalter Erfahrener Benutzer

    Registriert seit:
    24. Mai 2011
    Beiträge:
    213
    Danke erhalten:
    11
    Danke vergeben:
    56
    entschuldige bitte meine vielleicht blöde Frage, aber wie muss man dann die Datei nennen, die man in den product-Ordner legt?
     
  20. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Das ist keine blöde Frage :)

    Im Grunde steht hier die Antwort:
    Das was hinter class: steht plus .inc.php
    Dateiname: cp_product.inc.php