Extra Felder (Zusatz Felder) für Artikel GX2_V2.1.x.x bis 2.3.x.x

Thema wurde von Cyrus (LeGong), 25. Juni 2015 erstellt.

  1. Cyrus (LeGong)

    Cyrus (LeGong) Erfahrener Benutzer

    Registriert seit:
    21. Dezember 2011
    Beiträge:
    1.434
    Danke erhalten:
    342
    Danke vergeben:
    176
    ich bin erst mal gespannt, was die Zeile 22 ist? Dann schauen wir weiter.
     
  2. ammann-world

    ammann-world Aktives Mitglied

    Registriert seit:
    24. Januar 2015
    Beiträge:
    31
    Danke erhalten:
    0
    Danke vergeben:
    6
    Hallo Cyrus


    Ich habe nur deine Anleitung "Nun werden die Extra Felder für den Artikellistenansicht erklärt Zusatz-Felder für Artikellistenansicht" ausgeführt und es wurde auch alles in der Artikellistenansicht wie gewünscht dargestellt. Nur hat alles was Javascript braucht nicht mehr funktioniert. Nun habe ich die Erweiterung wieder Rückgängig gemacht und Java funktioniert wieder.


    Gruss Marcel





     
  3. Cyrus (LeGong)

    Cyrus (LeGong) Erfahrener Benutzer

    Registriert seit:
    21. Dezember 2011
    Beiträge:
    1.434
    Danke erhalten:
    342
    Danke vergeben:
    176
  4. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.553
    Danke erhalten:
    11.309
    Danke vergeben:
    1.612
    Hallo Marcel,

    hast Du eventuell Leerzeichen in der Datei (z.B. vor dem "<?php" oder nach dem "?>")
     
  5. Cyrus (LeGong)

    Cyrus (LeGong) Erfahrener Benutzer

    Registriert seit:
    21. Dezember 2011
    Beiträge:
    1.434
    Danke erhalten:
    342
    Danke vergeben:
    176
    #25 Cyrus (LeGong), 26. Juni 2015
    Zuletzt bearbeitet: 26. Juni 2015
    Hallo Marcel,
    ich würde es erstmals abwarten, was Marco mit der Zeil 22 meint. Dann schauen wir es uns an, was er für Verbesserungsvorschlag hat. Ich habe wirklich schon seit 12.12.2014 die Zusatz(Extra) Felder für die Listenansicht und seit 24.10.2014 die Zusatz-Felder für die Artikeldetailansicht im Betrieb. Ich habe 20 Extra-Felder, die für 5 Artikel-Kategorien benutzt werden. bis jetzt ohne Fehlermeldung und ohne Einschränkung von Java-Script.
    Der Haupt-Beitarg wäre hier zu finden:
    http://www.gambio-forum.de/threads/17429-Overloading-von-Produktinfos

    Außerdem, werde ich es dir empfehlen, wenn du dich mit der PHP-Programmierung nicht auskennst, die Erweiterung von jemanden einspielen zu lassen.
    Bei der Script-Sprachen gibt es einfach gewisse Regeln, an dem man sich strikt halten muss, das es sonst zu Fehlermeldungen kommen kann. NOCH WICHTIGER IST ES, DASS MAN SOLCHE SACHEN IMMER ZUERST AN EINER TESTUMGEBUNG, DIE UNSEREN SHOP-UMGEBUNG ENTSPRICHT ZU TESTEN.
     
  6. ammann-world

    ammann-world Aktives Mitglied

    Registriert seit:
    24. Januar 2015
    Beiträge:
    31
    Danke erhalten:
    0
    Danke vergeben:
    6
    @Barbara
    Ich glaube diesmal sind es nicht die Leerzeichen, sonst hätte auch die Erweiterung nicht funktioniert und dort gab es keine Probleme.


    @Cyrus
    Ja das denke ich auch, den bei mir steht in Zeile 22 nur "?>" , ist die letzte Zeile und ich weis nicht was daran falsch sein kann.
     
  7. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Testlauf "EyeCandy und Netdexx Template"

    @Cyrus

    Nach ein paar Umbauarbeiten hat alles sehr gut funktioniert. In der Version v2.2.0.0 bis v2.2.1.3 ( Original EyeCandy Gambio ) läuft dieses Modul ohne Probleme und ist Stabil.

    Bei den Templates von Netdexx musste die Standard Usermod angepasst werden, da dort eigene Modifikationen untergebracht waren.

    Ansonsten ein Top Modul:)
     
  8. Cyrus (LeGong)

    Cyrus (LeGong) Erfahrener Benutzer

    Registriert seit:
    21. Dezember 2011
    Beiträge:
    1.434
    Danke erhalten:
    342
    Danke vergeben:
    176
    Hallo Marco,
    es wäre nicht schlecht, wenn du uns sagen würdest, was genau mit der Zeile 22 in der Datei "cp_product.inc.php" gemeint ist? Und eventuell eine Lösung dazu.
    Vielen Dank
    Cyrus
     
  9. ammann-world

    ammann-world Aktives Mitglied

    Registriert seit:
    24. Januar 2015
    Beiträge:
    31
    Danke erhalten:
    0
    Danke vergeben:
    6
    Guten Morgen Allerseits


    Ich habe bzw. Barbara hat die Lösung des Problems gefunden. Tatsächlich hatte es in der Zeile 22 nach dem ?> ein Leerzeichen drin. Habe dies beseitigt alles wieder hochgeladen und siehe da es funktioniert alles, auch Java.
    Das einzige was ich jetzt noch am rausdüffteln bin, ist weshalb es in der Box-Ansicht die Titel wie zum Beispiel "Inhalt:" nicht anzeigt, sondern nur das Ergebniss was in den Extra-Boxen hinterlegt wurde. In der Listenansicht wird alles angezeigt.


    Beispiel Listenansicht:
    Inhalt: 500g


    Beispiel Box-Ansicht:
    500g


    Liebe Grüsse aus der Schweiz


    Marcel
     
  10. Cyrus (LeGong)

    Cyrus (LeGong) Erfahrener Benutzer

    Registriert seit:
    21. Dezember 2011
    Beiträge:
    1.434
    Danke erhalten:
    342
    Danke vergeben:
    176
    @Marcel,
    Falls nicht vorhanden, folgende Zeile in der Datei: "templates/EyeCandy/objects/product_boxes_list-USERMOD.html" ganz am Anfang einfügen. dann musste es gehen.
    {load_language_text section="product_info"}
     
  11. ammann-world

    ammann-world Aktives Mitglied

    Registriert seit:
    24. Januar 2015
    Beiträge:
    31
    Danke erhalten:
    0
    Danke vergeben:
    6
    Super, hat funktioniert, vielen Dank Cyrus.


    Liebe Grüsse Marcel
     
  12. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Korrektur für v2.3xxx

    @Cyrus

    Für die Version 2.3xxx wird unter dem Punkt --> Zusatz-Felder Für Artikeldetailseite für GX2_2.3.x.x --> auf 4: Artikelbearbeitung verwiesen. ( v2.2xxx ) Dieses Script soll ja auch Verwendung finden unter der v2.3xxx

    In diesem Script admin/includes/modules/new_product.php wird in der Version v2.2xxx in Zeile ( bei mir 915 ) ein <?php } ?> gesetzt.
    Dieser Wert löst einen Syntax Fehler in der Version v2.3xxx aus. Ergo, habe ich diesen Wert aus der admin/includes/modules/new_product.php gelöscht, da dieser dort nicht plaziert werden sollte.

    Nachdem dieser Fehler korrigiert wurde, läuft es auch unter der v2.3xxx stabil und einwandfrei.

    Kannst Du das Bestätigen?

    MFG
    Jörg
     
  13. Cyrus (LeGong)

    Cyrus (LeGong) Erfahrener Benutzer

    Registriert seit:
    21. Dezember 2011
    Beiträge:
    1.434
    Danke erhalten:
    342
    Danke vergeben:
    176
    Hallo Jörg,
    ich kann das was du geschrieben hast NICHT BESTÄTIGEN. Die Datei "admin/includes/modules/new_product.php" ist von Gambio aus ein Mal bei der Version 2.1.x.x geändert (ein Paar kleine Erweiterungen) und ein Mal bei der Version 2.2.x.x (auch ein Paar kleine Erweiterungen). Die Versionen 2.2.x.x und 2.3.x.x sind identisch, also diese Datei ist nicht mehr erweitert worden. Ich habe außer der Datei user_classes/overloads/ProductInfoContentView/extrafield_ProductInfoContentView.inc.php" und die Ordner für die Sprachdateien nichts anderes ändern mussen. Man kann im Grunde genommen, die Datei new_product.php der Version 2.2.x.x kopieren und für die Version 2.3.x.x einsetzen. Da wo die Erweiterung für die Extrafelder hinkommt sind keine Anfangszeichen und Endzeichen der PHP-Script vorhanden.
    in der Datei new_product.php suche nach (ca. zeile 919)
    HTML:
    <tr>
                <td><?php echo $coo_text_mgr->get_text('label_expiration_date') ?>: <small>(JJJJ-MM-TT)</small></td>
                <td><script type="text/javascript">expirationDate.writeControl(); expirationDate.dateFormat="yyyy-MM-dd";</script></td>
            </tr>
            <tr>
                <td><?php echo $coo_text_mgr->get_text('label_condition') ?>:</td>
                <td>
                    <?php echo xtc_draw_pull_down_menu('google_export_condition', $t_google_export_condition_array, $pInfo->google_export_condition, 'style="width: 130px"'); ?>
                    <small><?php echo $coo_text_mgr->get_text('label_google_export_only') ?></small>
                </td>
            </tr>
            <tr>
                <td><?php echo $coo_text_mgr->get_text('label_availability') ?>:</td>
                <td>
                    <?php echo xtc_draw_pull_down_menu('google_export_availability_id', $t_google_export_availability_array, $pInfo->google_export_availability_id, 'style="width: 130px"'); ?>
                    <small><?php echo $coo_text_mgr->get_text('label_google_export_only') ?></small>
                </td>
            </tr>
        </table>
    
            </td>
        </tr>
    </table>
    
    und füge danach:
    HTML:
    <!-- products_extrafield beginn -->
        
        <table bgcolor="#f3f3f3" style="border:1px solid;border-color:#cccccc;margin-top:10px;" width="100%"  border="0">
          <tr>
            <td>
              <table class="main" border="0" width="100%">
                <tr>
                  <td style="font-size:14px;font-weight:bold;">Extra-Felder<br><br></td>
                </tr>
                <table class="main" bgcolor="#DEDEDE" border="0" width="25%" align="left">
                <tr>
                  <td style="font-size:14px;font-weight:bold;color:#7A7A7A;">Allgemein 1<br><br></td>
                </tr>
                    <tr>
                        <td><?php echo TEXT_PRODUCTS_CONTENT; ?></td>
                        <td><?php echo  xtc_draw_input_field('products_content', $pInfo->products_content,'style="width: 125px"') ; ?></td>
                      </tr>
                    <tr>
                        <td><?php echo TEXT_PRODUCTS_ORIGIN; ?></td>
                        <td><?php echo  xtc_draw_input_field('products_origin', $pInfo->products_origin,'style="width: 125px"') ; ?></td>
                      </tr>
    .....
    .....
    .....
    
    Mit freundlichen Grüßen

    Cyrus
     
  14. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Hallo Cyrus,

    ich meinte diesen Verweis,
    PHP:
     <td><?php echo $coo_text_mgr->get_text('label_availability'?>:</td>                                      <td>                                                  <?php echo xtc_draw_pull_down_menu('google_export_availability_id'$t_google_export_availability_array$pInfo->google_export_availability_id'style="width: 130px"'); ?>                                                  <small><?php echo $coo_text_mgr->get_text('label_google_export_only'?></small>                                      </td>                           </tr>                           <?php ?>               </table>                                          </td>               </tr>   </table>
    Dort ist der Part <?php } ?>
    LG
    Jörg
     
  15. Cyrus (LeGong)

    Cyrus (LeGong) Erfahrener Benutzer

    Registriert seit:
    21. Dezember 2011
    Beiträge:
    1.434
    Danke erhalten:
    342
    Danke vergeben:
    176
    Hallo Jörg,
    genau am Ende des Codes, was du geschrieben hast, fängt man mit dem Extrafelder an. Als Beispiel habe ich meine Datei angehangt.
    Der ist von der Version 2.3.1.6
     

    Anhänge:

  16. MP Solution

    MP Solution Erfahrener Benutzer

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

    genauso habe ich die Aufgliederung ab Zeile 920 und macht genau das was es soll.

    LG
    Jörg
     
  17. Thomas Reichert

    Thomas Reichert Erfahrener Benutzer

    Registriert seit:
    20. Februar 2014
    Beiträge:
    242
    Danke erhalten:
    8
    Danke vergeben:
    78
    #37 Thomas Reichert, 23. Juli 2015
    Zuletzt bearbeitet: 23. Juli 2015
    Hallo Cyrus, vielen Dank, super erklärt. Zusatzfeld "Artikelnummer" ist in den Artikelstammdaten jetzt drin und wurde auch befüllt. Nur leider hab ich folgende Probleme:

    1. Artikelnummern werden in Listenansicht nicht angezeigt.
    2. Adminanmeldung am Shop nicht mehr möglich
    3. Bestellbutton in der Listenansicht und Detailansichtohne Funktion

    Cache wurde geleert, ansonsten keinerlei Fehlermeldungen.
     

    Anhänge:

  18. Thomas Reichert

    Thomas Reichert Erfahrener Benutzer

    Registriert seit:
    20. Februar 2014
    Beiträge:
    242
    Danke erhalten:
    8
    Danke vergeben:
    78
    Hallo zusammen,

    also bei mir lag der Fehler daran, dass in der cp_product.inc.php vor dem <?php ein Leerzeichen stand. Entfernt, Login und Warenkorb funktionieren wieder.

    Nur die Artikelnummern werden weder in der Listenansicht noch in der Kachelansicht angezeigt. Hab mich strikt an Cyrus Anleitung gehalten ... v2.2.2.2.

    Woran kann´s noch liegen?
     
  19. Cyrus (LeGong)

    Cyrus (LeGong) Erfahrener Benutzer

    Registriert seit:
    21. Dezember 2011
    Beiträge:
    1.434
    Danke erhalten:
    342
    Danke vergeben:
    176
    Hallo Thomas,
    in deinem Fall braucht man nur an vier Dateien Overloads/Usermods einzusetzen.
    1: "user_classes/overloads/product/cp_product.inc.php"
    PHP:
    <?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;
            
    // EOF GM_MOD
        
    }
    }

    ?>
    2: "lang/german/sections/product_listing.lang.inc.php"
    PHP:
    <?php
    /* --------------------------------------------------------------
       product_listing.lang.inc.php 2014-01-03 gm
       Gambio GmbH
       http://www.gambio.de
       Copyright (c) 2014 Gambio GmbH
       Released under the GNU General Public License (Version 2)
       [http://www.gnu.org/licenses/gpl-2.0.html]
       --------------------------------------------------------------
    */

    $t_language_text_section_content_array = array
    (
      
    'heading_search_result' => 'Ihr Suchergebnis',
      
    'heading_search_result_plus_keywords' => 'Ihr Suchergebnis f&uuml;r ',
      
    'title_details' => 'Details',
      
    'text_products_stock' => 'Lagerbestand: ',
      
    'label_manufacturer' => 'Hersteller:',
      
    'text_noproduct' => 'Es wurde kein Artikel gefunden.',
    // products_extrafield
      
    'text_products_model' => 'Artikelnummer:',
    //EOF products_extrafield
      
    'text_shippingtime' => 'Lieferzeit:',
      
    'label_category' => 'Kategorie:',
      
    'label_sort' => 'Sortieren nach ',
      
    'label_itemcount' => 'Anzeigen ',
      
    'option_select' => '--- bitte w&auml;hlen ---',
      
    'option_price_asc' => 'Preis aufsteigend',
      
    'option_price_desc' => 'Preis absteigend',
      
    'option_name_asc' => 'Name aufsteigend',
      
    'option_name_desc' => 'Name absteigend',
      
    'option_date_asc' => 'Einstelldatum aufsteigend',
      
    'option_date_desc' => 'Einstelldatum absteigend',
      
    'option_shipping_asc' => 'Lieferzeit aufsteigend',
      
    'option_shipping_desc' => 'Lieferzeit absteigend',
      
    'text_pieces' => 'St&uuml;ck',
      
    'text_buy' => 'kaufen'
    );
    3: "templates/EyeCandy/module/product_listing/prpduct_listing_v1-USERMOD.html"
    HTML:
    ...
    <p>{$module_data.PRODUCTS_SHORT_DESCRIPTION}<b />
    
                                                    <!-- BOF products_extrafield -->
                                                    {if $module_data.PRODUCTS_MODEL || $module_data.SHOW_PRODUCTS_MODEL}
                                                        {$txt.text_products_model}
                                                        {$module_data.PRODUCTS_MODEL}
                                                    {/if}<br />
                                                    <!-- EOF products_extrafield -->
    
                                                            {if $module_data.GM_ATTRIBUTES}
    ...
    
    4: "templates/EyeCandy/objects/product_boxes_list-USERMOD.html"
    HTML:
    <!-- BOF products_extrafield -->
    {load_language_text section="product_listing"}
    <!-- EOF products_extrafield -->
    <div class="article-list cols clearfix">
    
            {foreach item=module_data from=$content_data.PRODUCTS_DATA}
    
    
                    <div class="article-list-item">
                            <div class="article-list-item-inside">
                                    <div class="article-list-item-image">
                                    {if $module_data.PRODUCTS_IMAGE}
                                            <span id="{$content_data.ID_PREFIX}_{$module_data.PRODUCTS_ID}" class="flyover_item"><a href="{$module_data.PRODUCTS_LINK}"><img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.PRODUCTS_IMAGE_ALT|default:$module_data.PRODUCTS_NAME|replace:'"':'&quot;'}" title="{$module_data.PRODUCTS_IMAGE_ALT|default:$module_data.PRODUCTS_NAME|replace:'"':'&quot;'}" /></a></span>
                                    {/if}
                                    </div>
                                    <div class="article-list-item-text">
                                            <p class="title"><a href="{$module_data.PRODUCTS_LINK}"{if $module_data.PRODUCTS_META_DESCRIPTION != ''} title="{$module_data.PRODUCTS_META_DESCRIPTION|truncate:80:"..."|replace:'"':'&quot;'}"{/if}>{$module_data.PRODUCTS_NAME|truncate:$content_data.TRUNCATE_PRODUCTS_NAME:"..."}</a></p>
    
                                            <!-- BOF products_extrafield -->
                                            {if $module_data.PRODUCTS_MODEL || $module_data.SHOW_PRODUCTS_MODEL}
                                                   {$txt.text_products_model}
                                                   {$module_data.PRODUCTS_MODEL}
                                            {/if}<br />
                                            <!-- EOF products_extrafield -->
    
    Alle diese Änderungen habe ich bei dir ausgeführt, Caches für Texte, Seitenausgabe und Modulinformationen geleert und getestet. Es funktioniert.
    Da du den Shop nur auf Deutsch hast, habe ich keine Änderungen in englische Sprache ausgeführt.
    Dein Fehler war die Deklaration der Artikelnummer. Es heißt nicht "PRODUCTS_NUMMER" sondern "PRODUCTS_MODEL".

    Viel Erfolg
     
  20. atties

    atties Mitglied

    Registriert seit:
    14. Juli 2015
    Beiträge:
    24
    Danke erhalten:
    1
    Danke vergeben:
    6
    PHP:
    WARNING(2): "Cannot modify header information - headers already sent by (output started at /var/www/web1099/html/atties/shop/user_classes/overloads/categories/extrafield_categories.inc.php:1)"

    das erscheint bei mir wenn ich ein produkt anlege und bei inhalt etwas eintrage, dann auf aktualisieren oder speichern, dann kommt diese fehlermeldung in einem weisen fenster