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: Versandkosten im Kelkoo - Exportmodul anpassen !

    hannesbucher

    • Mitglied
    • Beiträge: 124
    Versandkosten im Kelkoo - Exportmodul anpassen !
    am: 31. Januar 2010, 08:56:56
    Hallo Leute,

    ich habe gerade mal die Artikeldaten mit dem derzeitigen Kelkoo - Modul von modified eCommerce Shopsoftware exportiert, leider werden die Versandkosten aber nicht anhand der Gewichtsgröße angegeben, sondern lediglich wie folgt:

    Zitat
    'EUR 6,90'. "\n";

    Hat das schon jemand von euch nach Gewicht angepasst?

    Bei Froogle hatte ich da mal folgende Lösung gefunden:

    Zitat
    $products_weight = $products['products_weight'];

                       if ($products_weight == 0) {
                    $products_description = 'Preis incl. MWSt. zzgl. Versand 6,90 Euro! ' . $products_description; //Aufpassen, dass hier das Richtige steht, falls man die Versandkosten mal vergessen hat einzugeben!
                    } elseif ($products_weight <0.5) {
                    $products_description = 'Preis incl. MWSt. zzgl. Versand 6,90 Euro! ' . $products_description;
                    } elseif ($products_weight <10) {
                    $products_description = 'Preis incl. MWSt. zzgl. Versand 6,90 Euro! ' . $products_description;
                    } elseif ($products_weight <20) {
                    $products_description = 'Preis incl. MWSt. zzgl. Versand 9,90 Euro! ' . $products_description;
                    } elseif ($products_weight <50) {
                    $products_description = 'Preis incl. MWSt. zzgl. Versand 12,00 Euro! ' . $products_description;
                    } else {
                    $products_description = 'Preis incl. MWSt. zzgl. Versand 12,00 Euro! ' . $products_description;
                    }

    Das müsste man doch auch für das Kelkoo Modul anpassen können...

    Gruß
    Hannes



    Linkback: https://www.modified-shop.org/forum/index.php?topic=3673.0
    Werbung / Banner buchen

    web4design

    • Experte
    • Beiträge: 1.122
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #1 am: 31. Januar 2010, 10:06:38
    Moin,

    solltest du eigentlich genau so anpassen können.

    öffne:
    admin/includes/modules/export/kelkoo.php

    Da suchste nach der query:

    Code: PHP  [Auswählen]
    $export_query =xtc_db_query("SELECT
                                 p.products_id,
                                 pd.products_name,
    und packst da rein
    p.products_weight, unter pd.products_name oder drüber ist egal

    Dann suchste nach //-- SNAKELAB ----//

    und fügst darunter ein (ich habe es jetzt  mal anhand des Beispiels von dir gemacht, damit ich mir Arbeit spare :D ):

    Code: PHP  [Auswählen]
    $weight = $products['products_weight'];

    if ($weight == 0)
    {
        $products_weight = 'Preis incl. MWSt. zzgl. Versand 1,90 Euro! '; //Aufpassen, dass hier das Richtige steht, falls man die Versandkosten mal vergessen hat einzugeben!
    } elseif ($weight <0.5) {
        $products_weight = 'Preis incl. MWSt. zzgl. Versand 2,90 Euro! ';
    } elseif ($weight <10) {
        $products_weight = 'Preis incl. MWSt. zzgl. Versand 3,90 Euro! ';
    } elseif ($weight <20) {
        $products_weight = 'Preis incl. MWSt. zzgl. Versand 9,90 Euro! ';
    } elseif ($weight <50) {
        $products_weight = 'Preis incl. MWSt. zzgl. Versand 12,00 Euro! ';
    } else {
        $products_weight = 'Preis incl. MWSt. zzgl. Versand 12,00 Euro! ';
    }
    Dann suchste noch nach:

    Code: PHP  [Auswählen]
    'EUR 4,00'. "\n";
    und änderst es in:

    Code: PHP  [Auswählen]
    $products_weight . "\n";
    Du musst jetzt nur noch deine Texte, Preise etc. anpassen (sofern Kelko da weiterhgehenden Text erlaubt).

    Gruß

    hannesbucher

    • Mitglied
    • Beiträge: 124
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #2 am: 31. Januar 2010, 14:37:25
    @speed4projekt

    vielen Dank für die schnelle Antwort,

    habe gleich mal versucht deinen Vorschlag umzusetzen, leider gibt es in meiner Kelkoo - Datei diesen Abschnitt nicht:

    //-- SNAKELAB ----//

    Daher habe ich es mal wie folgt erstellt:

    Code: PHP  [Auswählen]
     //create content
    if($products['products_image']==''){
    $kelkoo_image="";
    } else {
    $kelkoo_image=HTTP_CATALOG_SERVER . DIR_WS_CATALOG_THUMBNAIL_IMAGES . $products['products_image'];
    }
                         $schema .=
                           HTTP_CATALOG_SERVER . DIR_WS_CATALOG . 'product_info.php?'.$_POST['campaign'].xtc_product_link($products['products_id'], $products['products_name'])."\t".
                           $products['products_name'] . "\t".
                           $products_description ."\t".
                           number_format($products_price,2,'.',''). "\t" .
                           $products['products_id'] . "\t" .
                           $categorie_data['categories_name'] . "\t".
                           // '001'."\t".
                           // 'included'. "\n";
                           $kelkoo_image . "\t".
                            '001'. "\t".
                            $products_weight . "\n";

            }

    $weight = $products['products_weight'];

            if ($weight == 0)
            {
                $products_weight = 'EUR 5,90'; //Aufpassen, dass hier das Richtige steht, falls man die Versandkosten mal vergessen hat einzugeben!
            } elseif ($weight <0.5) {
                $products_weight = 'EUR 5,90';
            } elseif ($weight <10) {
                $products_weight = 'EUR 5,90';
            } elseif ($weight <20) {
                $products_weight = 'EUR 9,90';
            } elseif ($weight <31) {
                $products_weight = 'EUR 12,90';
            } else {
                $products_weight = 'Preis incl. MWSt. zzgl. Versand 12,90 Euro! ';
            }
    Leider wird nun in der Spalte deliverycoast kein Preis generiert, die Spalte bleibt leer.

    Was habe ich falsch gemacht? Kannst Du mir helfen?

    Gruß
    Hannes

    hannesbucher

    • Mitglied
    • Beiträge: 124
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #3 am: 01. Februar 2010, 17:25:32
    Keiner ne Idee, wie ich das richtig einbinden kann?

    web4design

    • Experte
    • Beiträge: 1.122
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #4 am: 01. Februar 2010, 17:29:48
    Hi.

    Benutzt du nicht die aktuelle modified?

    Häng mal deine kelkoo an, schau ich mal.

    Gruß

    Nachtrag:
    Bitte deine Ursprungs Kelkoo ohne Änderungsversuche

    Nachtrag 2:

    Pack den Kram von mir mal vor deine Zeile mit:

    Code: PHP  [Auswählen]
    $schema .=
    Gruß

    hannesbucher

    • Mitglied
    • Beiträge: 124
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #5 am: 02. Februar 2010, 07:52:54
    @ speed4project

    Ne, ich nutze noch die V.1.02, habe Angst davor, dass sonst die ganzen Module etc. nimmer laufen, welche ich da nachträglich eingebaut habe...

    Im Anhnag habe ich mal die ursprüngliche kelkoo - Datei beigefügt.

    Vielen Dank fürs Drüberschauen :)

    Gruß
    Hannes

    web4design

    • Experte
    • Beiträge: 1.122
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #6 am: 02. Februar 2010, 11:38:42
    Hi,

    ich seh leider keinen Anhang. Haste meinen vorherigen Post beachtet und den Kram vor die Codestelle gesetzt?

    Gruß

    hannesbucher

    • Mitglied
    • Beiträge: 124
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #7 am: 02. Februar 2010, 18:27:23
    n`Abnednd noch mal,

    da gab es einen Fehler beim Upload, habe jetzt auch mal den Code vor

    $schema=

    eingefügt, die Versandkosten werden nun eingefügt, leider aber nicht nach Gewicht sondern nur der Grundwert, ( bei mir EUR 5,90 )

    Habe jetzt mal die alte und die von mir angepasste datei angehängt, ich hoffe es klappt diesmal.

    Gruß
    hannes

    hannesbucher

    • Mitglied
    • Beiträge: 124
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #8 am: 02. Februar 2010, 18:29:54
    Kommt beim hochladen leider immer

     [denied extension] kelkoo_neu.php (12 KB)

    daher pste ich den code jetzt einfacht:

    kelkoo_alt:

    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: kelkoo.php 1188 2005-08-28 14:24:34Z matthias $

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(cod.php,v 1.28 2003/02/14); www.oscommerce.com
       (c) 2003      nextcommerce (invoice.php,v 1.6 2003/08/24); www.nextcommerce.org

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/

    defined( '_VALID_XTC' ) or die( 'Direct Access to this location is not allowed.' );

    define('MODULE_KELKOO_TEXT_DESCRIPTION', 'Export - Kelkoo im txt Format');
    define('MODULE_KELKOO_TEXT_TITLE', 'Kelkoo - txt');
    define('MODULE_KELKOO_FILE_TITLE' , '<hr noshade>Dateiname');
    define('MODULE_KELKOO_FILE_DESC' , 'Geben Sie einen Dateinamen ein, falls die Exportadatei am Server gespeichert werden soll.<br>(Verzeichnis export/)');
    define('MODULE_KELKOO_STATUS_DESC','Modulstatus');
    define('MODULE_KELKOO_STATUS_TITLE','Status');
    define('MODULE_KELKOO_CURRENCY_TITLE','W&auml;hrung');
    define('MODULE_KELKOO_CURRENCY_DESC','Welche W&auml;hrung soll exportiert werden?');
    define('EXPORT_YES','Nur Herunterladen');
    define('EXPORT_NO','Am Server Speichern');
    define('CURRENCY','<hr noshade><b>W&auml;hrung:</b>');
    define('CURRENCY_DESC','W&auml;hrung in der Exportdatei');
    define('EXPORT','Bitte den Sicherungsprozess AUF KEINEN FALL unterbrechen. Dieser kann einige Minuten in Anspruch nehmen.');
    define('EXPORT_TYPE','<hr noshade><b>Speicherart:</b>');
    define('EXPORT_STATUS_TYPE','<hr noshade><b>Kundengruppe:</b>');
    define('EXPORT_STATUS','Bitte w&auml;hlen Sie die Kundengruppe, die Basis f&uuml;r den Exportierten Preis bildet. (Falls Sie keine Kundengruppenpreise haben, w&auml;hlen Sie <i>Gast</i>):');
    define('CHARSET','iso-8859-1');
    define('PROGRAMM_TYPE','<hr noshade><b>Programmart:</b>');
    define('CAMPAIGNS','<hr noshade><b>Kampagnen:</b>');
    define('CAMPAIGNS_DESC','Mit Kampagne zur Nachverfolgung verbinden.');
    // include needed functions

      class kelkoo {
        var $code, $title, $description, $enabled;

        function kelkoo() {
          global $order;

          $this->code = 'kelkoo';
          $this->title = MODULE_KELKOO_TEXT_TITLE;
          $this->description = MODULE_KELKOO_TEXT_DESCRIPTION;
          $this->sort_order = MODULE_KELKOO_SORT_ORDER;
          $this->enabled = ((MODULE_KELKOO_STATUS == 'True') ? true : false);

        }

        function process($file) {

            @xtc_set_time_limit(0);
            require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'xtcPrice.php');
            $xtPrice = new xtcPrice($_POST['currencies'],$_POST['status']);

            $schema ='#country=de' . "\n".
                       '#type=basic' . "\n".
                       '#currency='.$_POST['currencies'] . "\n";

            $schema .= 'url'."\t".'title'."\t".'description'."\t".'price'."\t".'offerid'."\t".'category'."\t".'image'."\t".'availability'."\t".'deliverycost'."\n";

            $export_query =xtc_db_query("SELECT
                                 p.products_id,
                                 pd.products_name,
                                 pd.products_description,
                                 p.products_model,
                                 p.products_shippingtime,
                                 p.products_image,
                                 p.products_price,
                                 p.products_status,
                                 p.products_discount_allowed,
                                 p.products_tax_class_id,
                                 p.products_date_added,
                                 m.manufacturers_name
                             FROM
                                 "
    . TABLE_PRODUCTS . " p LEFT JOIN
                                 "
    . TABLE_MANUFACTURERS . " m
                               ON p.manufacturers_id = m.manufacturers_id LEFT JOIN
                                 "
    . TABLE_PRODUCTS_DESCRIPTION . " pd
                               ON p.products_id = pd.products_id AND
                                pd.language_id = '"
    .$_SESSION['languages_id']."' LEFT JOIN
                                 "
    . TABLE_SPECIALS . " s
                               ON p.products_id = s.products_id
                             WHERE
                               p.products_status = 1
                             ORDER BY
                                p.products_date_added DESC,
                                pd.products_name"
    );

            while ($products = xtc_db_fetch_array($export_query)) {

                 $products_price = $xtPrice->xtcGetPrice($products['products_id'],
                                            $format=false,
                                            1,
                                            $products['products_tax_class_id'],
                                            '');
                // remove trash
                $products_description = strip_tags($products['products_description']);
                $products_description = str_replace(";",", ",$products_description);
                $products_description = str_replace("'",", ",$products_description);
                $products_description = str_replace("\n"," ",$products_description);
                $products_description = str_replace("\r"," ",$products_description);
                $products_description = str_replace("\t"," ",$products_description);
                $products_description = str_replace("\v"," ",$products_description);
                $products_description = str_replace("&quot,"," \"",$products_description);
                $products_description = str_replace("&qout,"," \"",$products_description);
                $length=160;
                if ($_POST['account']!='normal') $length=400;
                $products_description = substr($products_description, 0, $length-4) . '...';
                // get product categorie
                $categorie_query=xtc_db_query("SELECT
                                                categories_id
                                                FROM "
    .TABLE_PRODUCTS_TO_CATEGORIES."
                                                WHERE products_id='"
    .$products['products_id']."'");
                 while ($categorie_data=xtc_db_fetch_array($categorie_query)) {
                        $categories=$categorie_data['categories_id'];
                 }
                 $categorie_query=xtc_db_query("SELECT
                                                categories_name
                                                FROM "
    .TABLE_CATEGORIES_DESCRIPTION."
                                                WHERE categories_id='"
    .$categories."'
                                                and language_id='"
    .$_SESSION['languages_id']."'");
                 $categorie_data=xtc_db_fetch_array($categorie_query);
                //create content

                //create content
    if($products['products_image']==''){
    $kelkoo_image="";
    } else {
    $kelkoo_image=HTTP_CATALOG_SERVER . DIR_WS_CATALOG_THUMBNAIL_IMAGES . $products['products_image'];
    }
                         $schema .=
                           HTTP_CATALOG_SERVER . DIR_WS_CATALOG . 'product_info.php?'.$_POST['campaign'].xtc_product_link($products['products_id'], $products['products_name'])."\t".
                           $products['products_name'] . "\t".
                           $products_description ."\t".
                           number_format($products_price,2,'.',''). "\t" .
                           $products['products_id'] . "\t" .
                           $categorie_data['categories_name'] . "\t".
                           // '001'."\t".
                           // 'included'. "\n";
                           $kelkoo_image . "\t".
                            '001'. "\t".
                            'EUR 6,90' "\n";

            }

            // create File
              $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file, "w+");
              fputs($fp, $schema);
              fclose($fp);

          switch ($_POST['export']) {
            case 'yes':
                // send File to Browser
                $extension = substr($file, -3);
                $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file,"rb");
                $buffer = fread($fp, filesize(DIR_FS_DOCUMENT_ROOT.'export/' . $file));
                fclose($fp);
                header('Content-type: application/x-octet-stream');
                header('Content-disposition: attachment; filename=' . $file);
                echo $buffer;
                exit;

            break;
            }

        }

        function display() {

        $customers_statuses_array = xtc_get_customers_statuses();

        // build Currency Select
        $curr='';
        $currencies=xtc_db_query("SELECT code FROM ".TABLE_CURRENCIES);
        while ($currencies_data=xtc_db_fetch_array($currencies)) {
         $curr.=xtc_draw_radio_field('currencies', $currencies_data['code'],true).$currencies_data['code'].'<br>';
        }

        $campaign_array = array(array('id' => '', 'text' => TEXT_NONE));
            $campaign_query = xtc_db_query("select campaigns_name, campaigns_refID from ".TABLE_CAMPAIGNS." order by campaigns_id");
            while ($campaign = xtc_db_fetch_array($campaign_query)) {
            $campaign_array[] = array ('id' => 'refID='.$campaign['campaigns_refID'].'&', 'text' => $campaign['campaigns_name'],);
            }

        return array('text' =>  EXPORT_STATUS_TYPE.'<br>'.
                                      EXPORT_STATUS.'<br>'.
                                      xtc_draw_pull_down_menu('status',$customers_statuses_array, '1').'<br>'.
                                CURRENCY.'<br>'.
                                CURRENCY_DESC.'<br>'.
                                $curr.
                                CAMPAIGNS.'<br>'.
                                CAMPAIGNS_DESC.'<br>'.
                                    xtc_draw_pull_down_menu('campaign',$campaign_array).'<br>'.
                                PROGRAMM_TYPE.'<br>'.
                                xtc_draw_radio_field('account', 'premium',false).'premium (400 zeichen)<br>'.
                                xtc_draw_radio_field('account', 'normal',true).'normal (160 zeichen)<br>'.
                                EXPORT_TYPE.'<br>'.
                                EXPORT.'<br>'.
                                xtc_draw_radio_field('export', 'no',false).EXPORT_NO.'<br>'.
                                xtc_draw_radio_field('export', 'yes',true).EXPORT_YES.'<br>'.
                                '<br>' . xtc_button(BUTTON_EXPORT) .
                                xtc_button_link(BUTTON_CANCEL, xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=kelkoo')));

        }

        function check() {
          if (!isset($this->_check)) {
            $check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_KELKOO_STATUS'");
            $this->_check = xtc_db_num_rows($check_query);
          }
          return $this->_check;
        }

        function install() {
          xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value,  configuration_group_id, sort_order, set_function, date_added) values ('MODULE_KELKOO_FILE', 'kelkoo.txt',  '6', '1', '', now())");
          xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value,  configuration_group_id, sort_order, set_function, date_added) values ('MODULE_KELKOO_STATUS', 'True',  '6', '1', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())");
    }

        function remove() {
          xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
        }

        function keys() {
          return array('MODULE_KELKOO_STATUS','MODULE_KELKOO_FILE');
        }

      }
    ?>
    und kelkoo_neu

    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: kelkoo.php 1188 2005-08-28 14:24:34Z matthias $

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(cod.php,v 1.28 2003/02/14); www.oscommerce.com
       (c) 2003      nextcommerce (invoice.php,v 1.6 2003/08/24); www.nextcommerce.org

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/

    defined( '_VALID_XTC' ) or die( 'Direct Access to this location is not allowed.' );

    define('MODULE_KELKOO_TEXT_DESCRIPTION', 'Export - Kelkoo im txt Format');
    define('MODULE_KELKOO_TEXT_TITLE', 'Kelkoo - txt');
    define('MODULE_KELKOO_FILE_TITLE' , '<hr noshade>Dateiname');
    define('MODULE_KELKOO_FILE_DESC' , 'Geben Sie einen Dateinamen ein, falls die Exportadatei am Server gespeichert werden soll.<br>(Verzeichnis export/)');
    define('MODULE_KELKOO_STATUS_DESC','Modulstatus');
    define('MODULE_KELKOO_STATUS_TITLE','Status');
    define('MODULE_KELKOO_CURRENCY_TITLE','W&auml;hrung');
    define('MODULE_KELKOO_CURRENCY_DESC','Welche W&auml;hrung soll exportiert werden?');
    define('EXPORT_YES','Nur Herunterladen');
    define('EXPORT_NO','Am Server Speichern');
    define('CURRENCY','<hr noshade><b>W&auml;hrung:</b>');
    define('CURRENCY_DESC','W&auml;hrung in der Exportdatei');
    define('EXPORT','Bitte den Sicherungsprozess AUF KEINEN FALL unterbrechen. Dieser kann einige Minuten in Anspruch nehmen.');
    define('EXPORT_TYPE','<hr noshade><b>Speicherart:</b>');
    define('EXPORT_STATUS_TYPE','<hr noshade><b>Kundengruppe:</b>');
    define('EXPORT_STATUS','Bitte w&auml;hlen Sie die Kundengruppe, die Basis f&uuml;r den Exportierten Preis bildet. (Falls Sie keine Kundengruppenpreise haben, w&auml;hlen Sie <i>Gast</i>):');
    define('CHARSET','iso-8859-1');
    define('PROGRAMM_TYPE','<hr noshade><b>Programmart:</b>');
    define('CAMPAIGNS','<hr noshade><b>Kampagnen:</b>');
    define('CAMPAIGNS_DESC','Mit Kampagne zur Nachverfolgung verbinden.');
    // include needed functions

      class kelkoo {
        var $code, $title, $description, $enabled;

        function kelkoo() {
          global $order;

          $this->code = 'kelkoo';
          $this->title = MODULE_KELKOO_TEXT_TITLE;
          $this->description = MODULE_KELKOO_TEXT_DESCRIPTION;
          $this->sort_order = MODULE_KELKOO_SORT_ORDER;
          $this->enabled = ((MODULE_KELKOO_STATUS == 'True') ? true : false);

        }

        function process($file) {

            @xtc_set_time_limit(0);
            require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'xtcPrice.php');
            $xtPrice = new xtcPrice($_POST['currencies'],$_POST['status']);

            $schema ='#country=de' . "\n".
                       '#type=basic' . "\n".
                       '#currency='.$_POST['currencies'] . "\n";

            $products_weight = $products['products_weight'];

            if ($products_weight == 0)
            {
                $products_weight = 'EUR 5,90'. $products_weight; //Aufpassen, dass hier das Richtige steht, falls man die Versandkosten mal vergessen hat einzugeben!
            } elseif ($weight <0.5) {
                $products_weight = 'EUR 5,90'. $products_weight;
            } elseif ($weight <10) {
                $products_weight = 'EUR 5,90'. $products_weight;
            } elseif ($weight <20) {
                $products_weight = 'EUR 9,90'. $products_weight;
            } elseif ($weight <31) {
                $products_weight = 'EUR 12,90'. $products_weight;

            }

            $schema .= 'url'."\t".'title'."\t".'description'."\t".'price'."\t".'offerid'."\t".'category'."\t".'image'."\t".'availability'."\t".'deliverycost'."\n";

            $export_query =xtc_db_query("SELECT
                                 p.products_id,
                                 pd.products_name,
                                 p.products_weight,
                                 pd.products_description,
                                 p.products_model,
                                 p.products_shippingtime,
                                 p.products_image,
                                 p.products_price,
                                 p.products_status,
                                 p.products_discount_allowed,
                                 p.products_tax_class_id,
                                 p.products_date_added,
                                 m.manufacturers_name
                             FROM
                                 "
    . TABLE_PRODUCTS . " p LEFT JOIN
                                 "
    . TABLE_MANUFACTURERS . " m
                               ON p.manufacturers_id = m.manufacturers_id LEFT JOIN
                                 "
    . TABLE_PRODUCTS_DESCRIPTION . " pd
                               ON p.products_id = pd.products_id AND
                                pd.language_id = '"
    .$_SESSION['languages_id']."' LEFT JOIN
                                 "
    . TABLE_SPECIALS . " s
                               ON p.products_id = s.products_id
                             WHERE
                               p.products_status = 1
                             ORDER BY
                                p.products_date_added DESC,
                                pd.products_name"
    );

            while ($products = xtc_db_fetch_array($export_query)) {

                 $products_price = $xtPrice->xtcGetPrice($products['products_id'],
                                            $format=false,
                                            1,
                                            $products['products_tax_class_id'],
                                            '');
                // remove trash
                $products_description = strip_tags($products['products_description']);
                $products_description = str_replace(";",", ",$products_description);
                $products_description = str_replace("'",", ",$products_description);
                $products_description = str_replace("\n"," ",$products_description);
                $products_description = str_replace("\r"," ",$products_description);
                $products_description = str_replace("\t"," ",$products_description);
                $products_description = str_replace("\v"," ",$products_description);
                $products_description = str_replace("&quot,"," \"",$products_description);
                $products_description = str_replace("&qout,"," \"",$products_description);
                $length=160;
                if ($_POST['account']!='normal') $length=400;
                $products_description = substr($products_description, 0, $length-4) . '...';
                // get product categorie
                $categorie_query=xtc_db_query("SELECT
                                                categories_id
                                                FROM "
    .TABLE_PRODUCTS_TO_CATEGORIES."
                                                WHERE products_id='"
    .$products['products_id']."'");
                 while ($categorie_data=xtc_db_fetch_array($categorie_query)) {
                        $categories=$categorie_data['categories_id'];
                 }
                 $categorie_query=xtc_db_query("SELECT
                                                categories_name
                                                FROM "
    .TABLE_CATEGORIES_DESCRIPTION."
                                                WHERE categories_id='"
    .$categories."'
                                                and language_id='"
    .$_SESSION['languages_id']."'");
                 $categorie_data=xtc_db_fetch_array($categorie_query);
                //create content

                //create content
    if($products['products_image']==''){
    $kelkoo_image="";
    } else {
    $kelkoo_image=HTTP_CATALOG_SERVER . DIR_WS_CATALOG_THUMBNAIL_IMAGES . $products['products_image'];
    }
                         $schema .=
                           HTTP_CATALOG_SERVER . DIR_WS_CATALOG . 'product_info.php?'.$_POST['campaign'].xtc_product_link($products['products_id'], $products['products_name'])."\t".
                           $products['products_name'] . "\t".
                           $products_description ."\t".
                           number_format($products_price,2,'.',''). "\t" .
                           $products['products_id'] . "\t" .
                           $categorie_data['categories_name'] . "\t".
                           // '001'."\t".
                           // 'included'. "\n";
                           $kelkoo_image . "\t".
                            '001'. "\t".
                            $products_weight. "\n";

            }

            // create File
              $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file, "w+");
              fputs($fp, $schema);
              fclose($fp);

          switch ($_POST['export']) {
            case 'yes':
                // send File to Browser
                $extension = substr($file, -3);
                $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file,"rb");
                $buffer = fread($fp, filesize(DIR_FS_DOCUMENT_ROOT.'export/' . $file));
                fclose($fp);
                header('Content-type: application/x-octet-stream');
                header('Content-disposition: attachment; filename=' . $file);
                echo $buffer;
                exit;

            break;
            }

        }

        function display() {

        $customers_statuses_array = xtc_get_customers_statuses();

        // build Currency Select
        $curr='';
        $currencies=xtc_db_query("SELECT code FROM ".TABLE_CURRENCIES);
        while ($currencies_data=xtc_db_fetch_array($currencies)) {
         $curr.=xtc_draw_radio_field('currencies', $currencies_data['code'],true).$currencies_data['code'].'<br>';
        }

        $campaign_array = array(array('id' => '', 'text' => TEXT_NONE));
            $campaign_query = xtc_db_query("select campaigns_name, campaigns_refID from ".TABLE_CAMPAIGNS." order by campaigns_id");
            while ($campaign = xtc_db_fetch_array($campaign_query)) {
            $campaign_array[] = array ('id' => 'refID='.$campaign['campaigns_refID'].'&', 'text' => $campaign['campaigns_name'],);
            }

        return array('text' =>  EXPORT_STATUS_TYPE.'<br>'.
                                      EXPORT_STATUS.'<br>'.
                                      xtc_draw_pull_down_menu('status',$customers_statuses_array, '1').'<br>'.
                                CURRENCY.'<br>'.
                                CURRENCY_DESC.'<br>'.
                                $curr.
                                CAMPAIGNS.'<br>'.
                                CAMPAIGNS_DESC.'<br>'.
                                    xtc_draw_pull_down_menu('campaign',$campaign_array).'<br>'.
                                PROGRAMM_TYPE.'<br>'.
                                xtc_draw_radio_field('account', 'premium',false).'premium (400 zeichen)<br>'.
                                xtc_draw_radio_field('account', 'normal',true).'normal (160 zeichen)<br>'.
                                EXPORT_TYPE.'<br>'.
                                EXPORT.'<br>'.
                                xtc_draw_radio_field('export', 'no',false).EXPORT_NO.'<br>'.
                                xtc_draw_radio_field('export', 'yes',true).EXPORT_YES.'<br>'.
                                '<br>' . xtc_button(BUTTON_EXPORT) .
                                xtc_button_link(BUTTON_CANCEL, xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=kelkoo')));

        }

        function check() {
          if (!isset($this->_check)) {
            $check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_KELKOO_STATUS'");
            $this->_check = xtc_db_num_rows($check_query);
          }
          return $this->_check;
        }

        function install() {
          xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value,  configuration_group_id, sort_order, set_function, date_added) values ('MODULE_KELKOO_FILE', 'kelkoo.txt',  '6', '1', '', now())");
          xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value,  configuration_group_id, sort_order, set_function, date_added) values ('MODULE_KELKOO_STATUS', 'True',  '6', '1', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())");
    }

        function remove() {
          xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
        }

        function keys() {
          return array('MODULE_KELKOO_STATUS','MODULE_KELKOO_FILE');
        }

      }
    ?>

    web4design

    • Experte
    • Beiträge: 1.122
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #9 am: 02. Februar 2010, 19:12:56
    Hehe, ok da ist ja zwei mal Schema drin, ups.

    So kann es nicht gehen, denn der Code steht zu weit oben.

    Nimm mal den Code hier:

    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: kelkoo.php 1188 2005-08-28 14:24:34Z matthias $

       XT-Commerce - community made shopping
       <A href="http://www.(( Wort entfernt - Bitte Forenregeln beachten! ))" rel=nofollow target=_blank>http://www.(( Wort entfernt - Bitte Forenregeln beachten! ))</A>

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(cod.php,v 1.28 2003/02/14); <A href="http://www.oscommerce.com" rel=nofollow target=_blank>http://www.oscommerce.com</A>
       (c) 2003      nextcommerce (invoice.php,v 1.6 2003/08/24); <A href="http://www.nextcommerce.org" rel=nofollow target=_blank>http://www.nextcommerce.org</A>

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/

    defined( '_VALID_XTC' ) or die( 'Direct Access to this location is not allowed.' );

    define('MODULE_KELKOO_TEXT_DESCRIPTION', 'Export - Kelkoo im txt Format');
    define('MODULE_KELKOO_TEXT_TITLE', 'Kelkoo - txt');
    define('MODULE_KELKOO_FILE_TITLE' , '<hr noshade>Dateiname');
    define('MODULE_KELKOO_FILE_DESC' , 'Geben Sie einen Dateinamen ein, falls die Exportadatei am Server gespeichert werden soll.<br>(Verzeichnis export/)');
    define('MODULE_KELKOO_STATUS_DESC','Modulstatus');
    define('MODULE_KELKOO_STATUS_TITLE','Status');
    define('MODULE_KELKOO_CURRENCY_TITLE','Währung');
    define('MODULE_KELKOO_CURRENCY_DESC','Welche Währung soll exportiert werden?');
    define('EXPORT_YES','Nur Herunterladen');
    define('EXPORT_NO','Am Server Speichern');
    define('CURRENCY','<hr noshade><b>Währung:</b>');
    define('CURRENCY_DESC','Währung in der Exportdatei');
    define('EXPORT','Bitte den Sicherungsprozess AUF KEINEN FALL unterbrechen. Dieser kann einige Minuten in Anspruch nehmen.');
    define('EXPORT_TYPE','<hr noshade><b>Speicherart:</b>');
    define('EXPORT_STATUS_TYPE','<hr noshade><b>Kundengruppe:</b>');
    define('EXPORT_STATUS','Bitte wählen Sie die Kundengruppe, die Basis für den Exportierten Preis bildet. (Falls Sie keine Kundengruppenpreise haben, wählen Sie <i>Gast</i>):');
    define('CHARSET','iso-8859-1');
    define('PROGRAMM_TYPE','<hr noshade><b>Programmart:</b>');
    define('CAMPAIGNS','<hr noshade><b>Kampagnen:</b>');
    define('CAMPAIGNS_DESC','Mit Kampagne zur Nachverfolgung verbinden.');
    // include needed functions

      class kelkoo {
        var $code, $title, $description, $enabled;

        function kelkoo() {
          global $order;

          $this->code = 'kelkoo';
          $this->title = MODULE_KELKOO_TEXT_TITLE;
          $this->description = MODULE_KELKOO_TEXT_DESCRIPTION;
          $this->sort_order = MODULE_KELKOO_SORT_ORDER;
          $this->enabled = ((MODULE_KELKOO_STATUS == 'True') ? true : false);

        }

        function process($file) {

            @xtc_set_time_limit(0);
            require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'xtcPrice.php');
            $xtPrice = new xtcPrice($_POST['currencies'],$_POST['status']);

            $schema ='#country=de' . "\n".
                       '#type=basic' . "\n".
                       '#currency='.$_POST['currencies'] . "\n";

            $schema .= 'url'."\t".'title'."\t".'description'."\t".'price'."\t".'offerid'."\t".'category'."\t".'image'."\t".'availability'."\t".'deliverycost'."\n";

            $export_query =xtc_db_query("SELECT
                                 p.products_id,
                                 pd.products_name,
                                 p.products_weight,
                                 pd.products_description,
                                 p.products_model,
                                 p.products_shippingtime,
                                 p.products_image,
                                 p.products_price,
                                 p.products_status,
                                 p.products_discount_allowed,
                                 p.products_tax_class_id,
                                 p.products_date_added,
                                 m.manufacturers_name
                             FROM
                                 "
    . TABLE_PRODUCTS . " p LEFT JOIN
                                 "
    . TABLE_MANUFACTURERS . " m
                               ON p.manufacturers_id = m.manufacturers_id LEFT JOIN
                                 "
    . TABLE_PRODUCTS_DESCRIPTION . " pd
                               ON p.products_id = pd.products_id AND
                                pd.language_id = '"
    .$_SESSION['languages_id']."' LEFT JOIN
                                 "
    . TABLE_SPECIALS . " s
                               ON p.products_id = s.products_id
                             WHERE
                               p.products_status = 1
                             ORDER BY
                                p.products_date_added DESC,
                                pd.products_name"
    );

            while ($products = xtc_db_fetch_array($export_query)) {

                 $products_price = $xtPrice->xtcGetPrice($products['products_id'],
                                            $format=false,
                                            1,
                                            $products['products_tax_class_id'],
                                            '');
                // remove trash
                $products_description = strip_tags($products['products_description']);
                $products_description = str_replace(";",", ",$products_description);
                $products_description = str_replace("'",", ",$products_description);
                $products_description = str_replace("\n"," ",$products_description);
                $products_description = str_replace("\r"," ",$products_description);
                $products_description = str_replace("\t"," ",$products_description);
                $products_description = str_replace("\v"," ",$products_description);
                $products_description = str_replace("&quot,"," \"",$products_description);
                $products_description = str_replace("&qout,"," \"",$products_description);
                $length=160;
                if ($_POST['account']!='normal') $length=400;
                $products_description = substr($products_description, 0, $length-4) . '...';
                // get product categorie
                $categorie_query=xtc_db_query("SELECT
                                                categories_id
                                                FROM "
    .TABLE_PRODUCTS_TO_CATEGORIES."
                                                WHERE products_id='"
    .$products['products_id']."'");
                 while ($categorie_data=xtc_db_fetch_array($categorie_query)) {
                        $categories=$categorie_data['categories_id'];
                 }
                 $categorie_query=xtc_db_query("SELECT
                                                categories_name
                                                FROM "
    .TABLE_CATEGORIES_DESCRIPTION."
                                                WHERE categories_id='"
    .$categories."'
                                                and language_id='"
    .$_SESSION['languages_id']."'");
                 $categorie_data=xtc_db_fetch_array($categorie_query);
                //create content

                //create content
    if($products['products_image']==''){
    $kelkoo_image="";
    } else {
    $kelkoo_image=HTTP_CATALOG_SERVER . DIR_WS_CATALOG_THUMBNAIL_IMAGES . $products['products_image'];
    }

            $products_weight = $products['products_weight'];

            if ($products_weight == 0)
            {
                $products_weight = 'EUR 5,90'. $products_weight; //Aufpassen, dass hier das Richtige steht, falls man die Versandkosten mal vergessen hat einzugeben!
            } elseif ($weight <0.5) {
                $products_weight = 'EUR 5,90'. $products_weight;
            } elseif ($weight <10) {
                $products_weight = 'EUR 5,90'. $products_weight;
            } elseif ($weight <20) {
                $products_weight = 'EUR 9,90'. $products_weight;
            } elseif ($weight <31) {
                $products_weight = 'EUR 12,90'. $products_weight;

            }

                         $schema .=
                           HTTP_CATALOG_SERVER . DIR_WS_CATALOG . 'product_info.php?'.$_POST['campaign'].xtc_product_link($products['products_id'], $products['products_name'])."\t".
                           $products['products_name'] . "\t".
                           $products_description ."\t".
                           number_format($products_price,2,'.',''). "\t" .
                           $products['products_id'] . "\t" .
                           $categorie_data['categories_name'] . "\t".
                           // '001'."\t".
                           // 'included'. "\n";
                           $kelkoo_image . "\t".
                            '001'. "\t".
                            $products_weight. "\n";

            }

            // create File
              $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file, "w+");
              fputs($fp, $schema);
              fclose($fp);

          switch ($_POST['export']) {
            case 'yes':
                // send File to Browser
                $extension = substr($file, -3);
                $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file,"rb");
                $buffer = fread($fp, filesize(DIR_FS_DOCUMENT_ROOT.'export/' . $file));
                fclose($fp);
                header('Content-type: application/x-octet-stream');
                header('Content-disposition: attachment; filename=' . $file);
                echo $buffer;
                exit;

            break;
            }

        }

        function display() {

        $customers_statuses_array = xtc_get_customers_statuses();

        // build Currency Select
        $curr='';
        $currencies=xtc_db_query("SELECT code FROM ".TABLE_CURRENCIES);
        while ($currencies_data=xtc_db_fetch_array($currencies)) {
         $curr.=xtc_draw_radio_field('currencies', $currencies_data['code'],true).$currencies_data['code'].'<br>';
        }

        $campaign_array = array(array('id' => '', 'text' => TEXT_NONE));
            $campaign_query = xtc_db_query("select campaigns_name, campaigns_refID from ".TABLE_CAMPAIGNS." order by campaigns_id");
            while ($campaign = xtc_db_fetch_array($campaign_query)) {
            $campaign_array[] = array ('id' => 'refID='.$campaign['campaigns_refID'].'&', 'text' => $campaign['campaigns_name'],);
            }

        return array('text' =>  EXPORT_STATUS_TYPE.'<br>'.
                                      EXPORT_STATUS.'<br>'.
                                      xtc_draw_pull_down_menu('status',$customers_statuses_array, '1').'<br>'.
                                CURRENCY.'<br>'.
                                CURRENCY_DESC.'<br>'.
                                $curr.
                                CAMPAIGNS.'<br>'.
                                CAMPAIGNS_DESC.'<br>'.
                                    xtc_draw_pull_down_menu('campaign',$campaign_array).'<br>'.
                                PROGRAMM_TYPE.'<br>'.
                                xtc_draw_radio_field('account', 'premium',false).'premium (400 zeichen)<br>'.
                                xtc_draw_radio_field('account', 'normal',true).'normal (160 zeichen)<br>'.
                                EXPORT_TYPE.'<br>'.
                                EXPORT.'<br>'.
                                xtc_draw_radio_field('export', 'no',false).EXPORT_NO.'<br>'.
                                xtc_draw_radio_field('export', 'yes',true).EXPORT_YES.'<br>'.
                                '<br>' . xtc_button(BUTTON_EXPORT) .
                                xtc_button_link(BUTTON_CANCEL, xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=kelkoo')));

        }

        function check() {
          if (!isset($this->_check)) {
            $check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_KELKOO_STATUS'");
            $this->_check = xtc_db_num_rows($check_query);
          }
          return $this->_check;
        }

        function install() {
          xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value,  configuration_group_id, sort_order, set_function, date_added) values ('MODULE_KELKOO_FILE', 'kelkoo.txt',  '6', '1', '', now())");
          xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value,  configuration_group_id, sort_order, set_function, date_added) values ('MODULE_KELKOO_STATUS', 'True',  '6', '1', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())");
    }

        function remove() {
          xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
        }

        function keys() {
          return array('MODULE_KELKOO_STATUS','MODULE_KELKOO_FILE');
        }

      }
    ?>
    Gruß

    hannesbucher

    • Mitglied
    • Beiträge: 124
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #10 am: 02. Februar 2010, 19:42:31
    @speed4projekt

    VIELEN VIELEN DANK ! Jetzt funktioniert es endlich !!!

    Für alle die das selbe Problem haben, einfach den Code von oben einfügen und für die Versandkosten nach Gewicht mit folgedem Code ersetzten (Preise natürlich anpassen) :

    Code: PHP  [Auswählen]
    $weight = $products['products_weight'];

                if ($weight == 0)
                {
                    $products_weight = 'EUR 5,90'; //Aufpassen, dass hier das Richtige steht, falls man die Versandkosten mal vergessen hat einzugeben!
                } elseif ($weight <0.5) {
                    $products_weight = 'EUR 5,90';
                } elseif ($weight <10) {
                    $products_weight = 'EUR 5,90';
                } elseif ($weight <20) {
                    $products_weight = 'EUR 9,90';
                } elseif ($weight <31) {
                    $products_weight = 'EUR 12,90';

                }
    Gruß
    Hannes

    web4design

    • Experte
    • Beiträge: 1.122
    Versandkosten im Kelkoo - Exportmodul anpassen !
    Antwort #11 am: 02. Februar 2010, 20:17:59
    Schön, freut mich das es klappt.

    Was lange währt wird endlich laufen oder wie war das :D.

    Gruß

    0 Antworten
    2368 Aufrufe
    17. Juli 2009, 16:23:38 von Florian
    3 Antworten
    2662 Aufrufe
    12. Mai 2010, 10:59:00 von Tomcraft
    8 Antworten
    4053 Aufrufe
    27. September 2020, 05:20:06 von designbude