Modul Gratis-Artikelmodul V1.3 für GX2 incl. MobileCandy

Thema wurde von Steffen (indiv-style.de), 9. Januar 2013 erstellt.

  1. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    #1 Steffen (indiv-style.de), 9. Januar 2013
    Zuletzt bearbeitet: 29. Juli 2013
    Diskusionsbereich:

    http://www.gambio-forum.de/threads/9217-Gratisartikel-für-GX2-V2.010-V2.011.1

    Gratisartikel V1.0 für Gambio GX2 ab Version V2.010g

    Installationsanleitung:
    -------------------------------------------------------------------------------------------------
    Vor der Installation bitte unbedingt die Datenbank und alle Shopdateien sichern!!!!
    Keine Haftung für Funktion oder Folgeschäden!!!!
    -------------------------------------------------------------------------------------------------
    1. SQL Befehl ausführen:
    Code:
    ALTER TABLE `admin_access` ADD COLUMN `specials_gratis` INT(1) NOT NULL DEFAULT '0';
    UPDATE `admin_access` SET `specials_gratis`=1 WHERE `customers_id`='1' LIMIT 1;
    DROP TABLE IF EXISTS `specials_gratis`;
    CREATE TABLE IF NOT EXISTS `specials_gratis` (
    `specials_gratis_id` int(11) NOT NULL AUTO_INCREMENT,
    `products_id` int(11) NOT NULL DEFAULT '0',
    `specials_gratis_description` text NOT NULL,
    `specials_gratis_quantity` decimal(15) NOT NULL DEFAULT '0',
    `specials_gratis_new_products_price` decimal(15) NOT NULL DEFAULT '0',
    `specials_gratis_min_price` decimal(15) NOT NULL DEFAULT '0',
    `specials_gratis_max_velue` decimal(11) NOT NULL DEFAULT '1',
    `specials_gratis_ab_velue` decimal(11) NOT NULL DEFAULT '1',
    `categories_id` int(11) NOT NULL DEFAULT '1',
    `manufacturers_id` int(1) NOT NULL DEFAULT '1',
    `specials_gratis_date_added` datetime DEFAULT NULL,
    `specials_gratis_last_modified` datetime DEFAULT NULL,
    `expires_date` datetime DEFAULT NULL,
    `date_status_change` datetime DEFAULT NULL,
    `status` int(3) NOT NULL DEFAULT '1',
    PRIMARY KEY (`specials_gratis_id`),
    KEY `products_id` (`products_id`,`status`,`specials_gratis_date_added`),
    KEY `status` (`status`,`expires_date`)
    ) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;
    INSERT INTO `manufacturers` (`manufacturers_id`, `manufacturers_name`) VALUES (0, 'alle');
    UPDATE `manufacturers` SET `manufacturers_id`=0 WHERE `manufacturers_name`='alle';
    INSERT INTO `categories_description` (`categories_id`,`language_id`, `categories_name`,
    `categories_heading_title`) VALUES (0, 2, 'alle', 'alle');
    2. Den Inhalt des Orners /GratisArtikelGX2V2010/Root komplett in den Root des Shops kopieren.

    ---------------------------------------------------------------------------------------------------------
    Nun noch 6 Dateien beararbeiten:
    1. /checkout_confirmation.php
    suche nach:
    Code:
    $coo_content_master = MainFactory::create_object('ContentMaster');
    $t_confirmation_info_array = $coo_content_master->get_content(198);
    $smarty->assign('CONFIRMATION_INFO', $t_confirmation_info_array['content_text']);
    füge danach ein:
    Code:
    ##########################################
    // Gratisartikel
    ###########################################
    
    require_once(DIR_FS_INC.'specials_gratis_active.inc.php');
    
    $gratis_gratis = array();
    $gratis_gratis = getspecial_gratis_active();
    
    if (is_array($gratis_gratis)){
        $_SESSION['gratis_artikel'] = getspecial_gratis_active();
    }
            $smarty->assign('gratis_art', $gratiscount);
        $smarty->assign('specials_gratis_new_products_price', $xtPrice->xtcFormat($gratis_gratis[specials_gratis_new_products_price],true));
        
    unset($_SESSION['gratisartikel']);
    
    ###########################################
    // Gratisartikel Ende
    ###########################################
    suche nach:
    Code:
    $coo_content_view = new ContentView();
    $coo_content_view->set_content_template('module/checkout_confirmation_products.html');
    $coo_content_view->set_content_data('products_data', $t_products_array);
    füge danach ein:
    Code:
    ###########################################
    // Gratisartikel
    ###########################################
    if($gratis_gratis !=''){
    $coo_content_view->set_content_data('gratis_gratis', $gratis_gratis);
    }
    ###########################################
    // Gratisartikel Ende
    ###########################################
    ----------------------------------------------------------------------------------------------------------------
    2. /templates/EyeCandy/module/order_details.html
    (diese kann dann auch als order_details-USERMOD.html updatessicher gespeichert werden.
    ist schon eine -USERMOD vorhanden, dann die Änderungen darin vornehmen)

    suche nach:
    Code:
    </td>
    <td class="col_3 verlauf">{$module_data.PRODUCTS_SINGLE_PRICE}</td>
    <td class="col_4 verlauf">{$module_data.PRODUCTS_PRICE}</td>
    </tr>
    {/foreach}
    füge danach ein:
    Code:
    <!-- Indiv-Style gratisartikel begin-->
    {foreach name=gratart item=module_gratis from=$content_data.special_gratis}
    {if $module_gratis.products_name}
    <tr>
    <td valign="top" class="col_0">{if $module_gratis.gratis_image!=''}<a
    href="{$module_gratis.product_link}"><img src="{$module_gratis.gratis_image}" /></a>{/if}</td>
    <td valign="top" class="col_1"><h1><strong
    style="color:#ff6600;">Gratisartikel</strong></h1><a
    href="{$module_gratis.product_link}">{$module_gratis.products_name}</a>
    <br />{$module_gratis.specials_gratis_description} </td>
    <td valign="top" class="col_2">{$module_gratis.specials_gratis_max_velue}</td>
    <td valign="top" class="col_3"><input type="checkbox"
    id="prodg_{$module_gratis.products_id}" class="gratisChecked" /><br />gratis<br
    />mitbestellen</td>
    <td valign="top" class="col_4">{$content_data.specials_gratis_new_products_price}</td>
    </tr>
    {/if}
    {/foreach}
    <!-- gratisartikel end-->
    ----------------------------------------------------------------------------------------------------------------
    3. /templates/EyeCandy/modules/checkout_confirmation_products.html
    (diese kann dann auch als checkout_confirmation_products-USERMODE.html updatessicher
    gespeichert werden.
    ist schon eine -USERMOD vorhanden, dann die Änderungen darin vornehmen)
    suche nach:
    (ist im normal Fall ganz unten!)
    Code:
    {/foreach}
    füge danach ein:
    Code:
    <!-- Gratisartikel -->
    {foreach name=gratart item=module_gratis from=$content_data.gratis_gratis}
    {if $module_gratis.products_name}
    <tr>
    <td valign="top" class="product_image"><br />{if $module_gratis.gratis_image!=''}<a
    href="{$module_gratis.product_link}"><img src="{$module_gratis.gratis_image}" /></a>{/if}</td>
    <td valign="top" class="product_info"><br /><h1><strong
    style="color:#ff6600;">Gratisartikel</strong></h1>{$module_gratis.products_name}
    <br /><br />
    <a href="/request_port.php?module=ProductDetails&id={$module_gratis.products_id}"
    class="lightbox_iframe" target="_blank">{$info.text_detail_information}</a>
    <br /><br />{$module_gratis.specials_gratis_description}
    </td>
    <td valign="top" class="product_price"><br />{$module_gratis.specials_gratis_max_velue}</td>
    <td valign="top" class="product_quantity">
    <br />gratis<br />mitbestellen</td>
    <td valign="top" class="product_total_price"><br />0,00 EUR</td>
    </tr>
    {/if}
    {/foreach}
    <!-- gratisartikel end-->
    ----------------------------------------------------------------------------------------------------------------
    4. /gm/javascript/gm_start.js.php
    suche nach:
    Code:
    var coo_button_cart_delete_handler = null;
    füge danach ein:
    Code:
    var coo_button_gratis_handler = null;
    suche nach:
    Code:
    coo_button_cart_delete_handler = new ButtonCartDeleteHandler();
    füge danach ein:
    Code:
    coo_button_gratis_handler = new ButtonGratisHandler();
    ----------------------------------------------------------------------------------------------------------------
    5. /checkout_process.php
    suche nach:
    Code:
    include ('send_order.php');
    ersetze mit:
    Code:
    ###########################################
    // Gratisartikel
    ###########################################
    // include ('send_order.php');
    ###########################################
    // Gratisartikel Ende
    ###########################################
    ----------------------------------------------------------------------------------------------------------------
    6. /checkout_success.php
    suche nach:
    Code:
    if(is_array($t_dispatcher_result_array))
    {
    foreach($t_dispatcher_result_array AS $t_key => $t_value)
    {
    $smarty->assign($t_key, $t_value);
    }
    }
    füge danach ein:
    Code:
    ###########################################
    // Gratisartikel Ende
    ###########################################
    if(strpos($orders['payment_method'], 'hp') === false){
    require_once(DIR_WS_CLASSES.'order.php');
    $order = new order($last_order);
    $insert_id = $last_order;
    include('send_order.php');
    }
    ###########################################
    // Gratisartikel Ende
    ###########################################
    ----------------------------------------------------------------------------------------------------------------
    Cache leeren -> die ersten beiden!!!!!!!!!



    Nach erfolgreicher Installation ist im Adminbereich des Shops ein neuer Menüpunkt sichtbar.

    Gratis1.png

    Neuen Gratisartikel anlegen:

    1. Artikel – hier wählt man den gewünschten Gratisartikel aus

    2. Artikel-Kategorie – Soll ein G-Artikel nur in bestimmten Kategorien sichtbar werden, so ist hier die entsprechende Kategorie auszuwählen, andernfalls auf „alle“ stehen lassen.

    3. gültige Hersteller – Soll ein G-Artikel nur bei bestimmten Herstellern sichtbar werden, so ist hier der entsprechende Hersteller auszuwählen, andernfalls auf „alle“ stehen lassen.

    4. Gratisartikelbeschreibung – Um dem G-Artikel eine extra Beschreibung zu geben sind hier alle zur Aktion gehörigen Daten einzutragen.

    5. Anzahl – hier „muss“ die Stückzahl der verfügbaren Gratisartikel angeben werden. Bei Bestand 0 wird der G-Artikel nicht mehr angezeigt.

    6. Mindestpreis – soll der G-Artikel erst ab einem bestimmten Warenkorbwert erscheinen so ist hier der Betrag einzutragen. Sonst 0 eingeben. Es sind nur volle Werte eintragbar! Also Beträge ohne Nachkommastellen!

    7. max. Gratisartikel – wieviele G-Artikel soll der Kunde bekommen? Das wird hier eingetragen. Standart sollte 1 sein. Diese Funktion wird in V2 überarbeitet und hat dann andere Auswirkungen!!!

    8. gültig bis - (wird ab V2 funktionieren)

    Gratis3.png

    Gratisartikel bearbeiten:

    Es sind hier die gleichen Funktionen wie bei einem neuen Gratisartikel.

    WICHTIG!!!

    Die Kategorien und die Hersteller(falls ausgewählt) müssen beim Bearbeiten immer neu ausgewählt werden. Eine Vorselktion der hinterlegten Werte wird es in V2 geben.

    EDIT: IE10-Fehler gefixt.

    EDIT: PHP5.4 Updates -> den Odner /user_classes/overloads/OrderDetailsCartContentView ersetzen und die Änderungen in der checkout_confirmation.php nochmals durchführen...
     

    Anhänge:

  2. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    V1.2 ist nun verfügbar! Es wurden kleinere Bugs entfernt.
     
  3. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Update für die Gratisartikel bei Nutzung der Versandkostenberechnung im Warenkorb!

    Die Angehängte Datei muss in folgendes Verzeichnis kopiert werden und die vorhandene Datei darin ersetzen: /user_classes/overloads/OrderDetailsCartContentView/

    dann die Installationsanleitung nochmals durchführen ausser die SQL-Befehle, die nicht nocheinmal!!!
     

    Anhänge:

  4. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
  5. C h r i s t i a n

    C h r i s t i a n G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    3.456
    Danke erhalten:
    330
    Danke vergeben:
    551
    Schon versucht den template_c Ordner zu leeren? Aber nicht die Index.html aus selbigen Ordner löschen....
     
  6. C h r i s t i a n

    C h r i s t i a n G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    3.456
    Danke erhalten:
    330
    Danke vergeben:
    551
    Da kann dir glaub ich nur noch Steffen helfen...
     
  7. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Sind die Änderungen in der checkout_confirmation.php genau platziert und gemacht??? Habs mehrfach auf 5.4 laufen! Ohne Probleme...
     
  8. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
  9. chris1205

    chris1205 Neues Mitglied

    Registriert seit:
    22. Juni 2013
    Beiträge:
    4
    Danke erhalten:
    0
    Danke vergeben:
    1
    Hallo zusammen, bin neu hier.....

    Das Modul finde ich echt klasse bekomme nur seit Einbau folgenden fehler wenn ich auf Shop oder Vorschau im Admin klicke.
    in dieser Zeile steht folgendes

    Hoffe das Ihr mir helfen könnt......

    Charly
     
  10. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Hallo Charly,

    Die Fehlermeldung kommt, weil der xs-booster in einem der letzten Updates aus den Shopdateien geflogen ist.
    Da ich das nicht nutze, kann ich Dir aber nicht sagen welche Zeilen auskommentiert oder gelöscht werden können / müssen.
     
  11. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    ersetzte die vorhandene Indiv_xtcPrice.inc.php

     

    Anhänge:

  12. chris1205

    chris1205 Neues Mitglied

    Registriert seit:
    22. Juni 2013
    Beiträge:
    4
    Danke erhalten:
    0
    Danke vergeben:
    1
    Hallo Steffen,

    ersteinmal vielen lieben Dank. -Jetzt geht alles.....smile

    Eine Frage habe ich aber noch.... um das Modul Mobil fähig zu bekommen müsste ich das kaufen?

    LG
    Charly
     
  13. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Wäre so oder so doch angebracht dem Entwickler ne Anerkennung zu geben für seine arbeit oder?
     
  14. chris1205

    chris1205 Neues Mitglied

    Registriert seit:
    22. Juni 2013
    Beiträge:
    4
    Danke erhalten:
    0
    Danke vergeben:
    1
    Hi Dennis,

    achso wuste gar nicht das Steffen das entwickelt hat.... dann ist indiv-style.de Steffens Shop?!
    Werde mir die Tage bei Ihm eh einige Module kaufen. Setze gerade meinen Shop neu auf und da passen einige Module von Ihm gut rein.

    LG
    Charly
     
  15. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Ja das ist Steffens Shop :)
     
  16. cub

    cub Neues Mitglied

    Registriert seit:
    18. Januar 2014
    Beiträge:
    3
    Danke erhalten:
    0
    Wir haben das Modul gestern eingebaut.
    Läuft auch gut.
    Aber jetzt geht die Bezahlung per Wirecard nicht mehr.
    Amount is missing

    Wir haben schon mit Wirecard telefoniert. Die haben leider keine Lösung. Kann einer von euch uns vielleicht helfen?
     
  17. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Paar Details wären hilfreich
     
  18. cub

    cub Neues Mitglied

    Registriert seit:
    18. Januar 2014
    Beiträge:
    3
    Danke erhalten:
    0
    Entschuldigung. Stimmt.
    Also wir verwenden das Wirecard Gambio Plugin 1.4
    Dieses ist eingebaut und funktioniert auch. Die Weiterleitung erfolgt nach Bestellabschluss direkt zu Wirecard wegen der Kreditkartendateneingabe.
    Hier wird das Fenster dann mit dieser Meldung wieder geschlossen.

    Amount is missing.


    Also es wird kein Betrag übergeben.
    Bei allen anderen Zahlungsarten läuft alles Problemlos.
    Auch Gratisartikel funktioniert wunderbar.

    Das Modul hat auch zuerst funktioniert. Erst gestern beim Einbau von Gratisartikel fing das mit dem Fehler leider an.

    Weiss wer von euch vielleicht Rat?
     
  19. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    hast gratisartikel mal wieder ausgebaut um zu sehen ob es wirklich damit zu tun hat und nicht zufall ist?
     
  20. cub

    cub Neues Mitglied

    Registriert seit:
    18. Januar 2014
    Beiträge:
    3
    Danke erhalten:
    0
    Leider nein weil das Modul derzeit im Einsatz ist.