Jump to content
xt:Commerce Community Forum

Ch-post Modul Umprogrammierung


satzone

Recommended Posts

Hallo an alle

Ich habe da mal eine Frage an dieXTC php Profis.

Wie gross w?re der Aufwand, das CH-Post Modul zu erweitern? Es w?re sch?n, wenn man da bei Zone 0 auch die Versandart Express zuf?gen k?nnte.

Wir haben ja 3 versch. Express Varianten die man nat?rlich nicht alle braucht. Mir w?rde das normale SwissExpress (Mond) v?llig ausreichen.

Absolut toll w?re auch, wenn man im Nachnahmemodul ebenfalls die CH-Post integrieren k?nnte, Versandkosten pauschal 15.-.

Ich will auf keinen Fall dass jemand das als Befehl ansieht, es ist lediglich die Frage, mit was f?r einem Aufwand das m?glich w?re?

Falls sich jemand evtl. sogar jemand aus der Schweiz dazu erkl?ren w?rde dies einmal zu machen, w?re das nat?rlich eine feine Sache.

Ich denke dass dies nicht nur f?r mich von Vorteil w?re, sondern f?r s?mtliche Schweizer Shop Betreiber.

Ich habe bis jetzt noch keine M?glichkeit herausgefunden nebst dem CH-Post Modul f?r eco und Pri irgendwie noch zus?tzlich express einzubinden. Auch rechnet es mit die Nachnahmegeb?hr nicht dazu, obschon es aktiviert ist. Evtl. oder ganz sicher, mache ich etwas falsch, mit den Zonen. Ich m?chte auch nicht ins Ausland liefern undhabe deshalb nur CH,LI eingestellt.

Ich h?tte nat?rlich auch schon freude daran, wenn mir da jemand mit einem Tip helfen k?nnte.

Link to comment
Share on other sites

das ganze ist sogar ohne grosse php-kenntnisse m?glich...

ich hab so auch das ?sterreichische Post Modul erweitert.

Als Tipp kann ich Dir geben, Dir das Modul mal genau vond er Funktionsweise im Admin anzusehen,

und dann mal die einzelnen Dateien des Moduls Dir anzusehen.

Cu

Alex

Link to comment
Share on other sites

Ja einwenig, ist aber noch nicht perfekt!

Habe einfach das table Modul abge?ndert in ein Express Modul. Das funktioniert so einwandfrei.

Das einzige Problem dass noch besteht liegt im ot_cod_fee (Nachnahmemodul). Dort habe ich Schweizerische Post implementiert, es wird auch angezeigt ohne Fehler! Sobald ich aber etwas bestelle mit CH Post Economy oder Priority, wird Nachnahme nicht aufgelistet und berechnet.

Sobald ich Express und Nachnahme bestelle wird es aufgelistet, was mir jedoch noch logisch erscheint da es tabellarisch ist!

Nun gehe ich davon aus, dass ich warscheinlich im CHP Modul noch etwas anpassen m?sste, damit Nachnahme dann auch funktioniert. Wie es scheint, ist es eben mit den Zeilen kopieren und umbenennen im ot_cod_fee Modul nicht gemacht!

MZanier, hast du mir da evtl. noch einen Tipp was ich noch ?ndern muss, damit dies funktioniert?

Danke f?r eure Hilfe!

Link to comment
Share on other sites

Merci Satzone

W?rdest Du mir Deine ?nderungen zur Verf?gung stellen, wenn Du fertig bist? Ich bin erst gestern nach langer Suche zu XTCommerce gekommen. Ich hatte gerade begonnen, meinen Shop mit ZEN CART zu beginnen, als jemand dort auf XT-Commerce verwies. Kennt jemand ZEN CART? Vorteile von XT-Commerce sehe ich

a) Deutschsprachig

B) Besserer Support f?r CH und europ?ische Gegenheiten

c) einfaches und ausgereifteres Template System

d) .....

Vorteile von ZEN Cart:

a) Gr?ssere Fangemeinde, momentan grosse Aktivit?t (im Hintergrund!)

B) daher auch gr?sseren (besseren?) Support

c) Sehr gute Dokumentation / FAQ

d) Die Entwickler sagen, Ihr System habe mehr M?glichkeiten und daher "Zukunftstr?chtiger" :-)

Hat jemand noch Kommentare? Eure Meinung interessiert mich sehr

Gruss

Andy

Link to comment
Share on other sites

a) Gr?ssere Fangemeinde, momentan grosse Aktivit?t (im Hintergrund!)

B) daher auch gr?sseren (besseren?) Support

c) Sehr gute Dokumentation / FAQ

d) Die Entwickler sagen, Ihr System habe mehr M?glichkeiten und daher "Zukunftstr?chtiger" :-)

xtc ist derzeit das meistgeladene system, auch schon vor osc.

jeder sagt das sein system zukunftsrt?chtiger ist.

jedoch gibs bei zencart nicht wirklich viel neues, der gro?teil vom code und von der API ist noch von osc.

in sachen preissystem, kundensystem, shopapi und template geschwindigkeit kann zencart mit xtc nicht mithalten.

Link to comment
Share on other sites

auch wenn ich mich bei einigen damit unbeliebt mache... (b?se links posten)

hier gibts ein paar infos und anregungen, wenn auch schon etwas ?lter.

http://forums.oscommerce.de/viewtopic.php?...t=post&start=10

ich plane f?r die n?chsten 2 wochen das Austrian Post Modul f?r XTC anzupassen,

auf basis dieses k?nnt ihr dann mal nach der schweizer post sehen...

evtl auch f?r die deutsche post w?r das interessant

lg

alex

Link to comment
Share on other sites

Hallo

Also mit dem anpassen komm ich langsam weiter!

Ich habe jetzt einfach f?r SwissExpress das table Modul angepasst und umbenannt. Das funktioniert soweit ganz gut.

Mit der Nachnahme hab ich allerdings noch ein Problem.

Habe im ot_cod_fee Modul die Zeilen von AT Post kopiert, eingef?gt und in chp umbenannt. Dies wird nun auch ohne Fehlermeldung so angezeigt!

Allerdings greift das ganze nicht in Verbindung mit dem CHP Modul!

Sobald ich per economy, priority etwas bestelle und dazu Zahlungsweise Nachnahme ausw?hle, wird diese nicht berechnet und aufgef?hrt! Irgendwo fehlt nocht was, aber wo?

Sobald ich das tabellarische Express ausw?hle und Nachnahme wird es logischwerweise aufgef?hrt und auch sauber berechnet!

Kann mir jemand vielleicht dazu einen Tipp geben? Ich w?hre wirklich froh, wenn ich das hinbekommen w?rde, ich bin auch sofort bereit das ganze dann allen zur Verf?gung zu stellen, sobald es funktioniert!

Evtl. kann mir mzanier sagen, was da noch falsch ist?

Vielen Dank an alle die mit bisher geholfen haben!

Gruss Satzone

Link to comment
Share on other sites

ich kenne das chp modul nicht,

daher kann ich gar nicht sagen ob es fehlerfrei l?uft,

oder nicht doch nen bug hat...

w?re bl?d, wenn man den bug immer weiterschleift...

du kannst aber gerne noch ein bisschen warten, bis ich das APost Modul fertig habe,

und ich revidiere meine zeit hiermit von 2 wochen auf 4 tage.

wenn du solange warten kannst, kannst du dann von meinem modul direkt die anpassungen vornehmen

lg

alex

Link to comment
Share on other sites

Hallo Alex

Ich kann problemlos noch warten. Der Shop ist eh noch im Aufbau und erst wenn alles so l?uft wie es muss, werde ich mich voll den Produkten widmen!

Ich w?rde also dein Angebot sehr gerne annehmen!

Falls jedoch trotzdem noch jemand eine Idee hat was ich wo noch anf?gen muss w?re ich nat?rlich weiterhin sehr dankbar!

Gruss an alle

Satzone

Link to comment
Share on other sites

Guest HHGAG

@Satzone

Hast Du in beiden od_cod_fee die ?nderungen durchgef?hrt???

Du weist das Du in /includes/modules/payment/od_cod_fee.php auch

?nderungen vornehmen musst?!?!

Link to comment
Share on other sites

Es ist fertig von meiner Seite,

dank dem Ur-XTC-Portierer war nicht ganz sooviel zu ?ndern,

wie ich dachte...

Der Code der Ur Contribution wurde in XTC nahezu 1:1 ?bernommen,

(bis auf die tep_ / xtc_ gschichten)

muss noch eben was mit paar Leuten abchecken,

dann kommts dick :)

Lg

Alex

Link to comment
Share on other sites

Hallo HHGAG

Ja habe an beiden ot_cod_fee Modulen (Lang/german/modules/order_total / und in includes/modules/order_total) die ?nderungen vorgenommen. Sonst h?tte ich eine Fehlermeldung betreffend eines Fehlers in MOdul erhalten!!

Aber trotzalledem fehlt noch irgendwo etwas!

Ich hoffe dass ich das bald rausfinden werde?

Link to comment
Share on other sites

...auch ich bekunde Probleme mit der Nachnahmegeb?hr-Geschichte.

Schaut man sich die Eintr?ge im Modul 'Nachnahmegeb?hr' an, fehlt die Schweizerische Post.

Berechnung der Nachnahmegeb?hr

Nachnahmegeb?hr

true

Sortierreihenfolge

35

Pauschale Versandkosten

AT:3.00,DE:3.58,00:9.99

Versandkosten pro St?ck

AT:3.00,DE:3.58,00:9.99

Tabellarische Versandkosten

AT:3.00,DE:3.58,00:9.99

Versandkosten nach Zonen

CA:4.50,US:3.00,00:9.99

?sterreichische Post AG

AT:3.63,00:9.99

Deutsche Post AG

DE:4.00,00:9.99

Steuerklasse

--keine--

...zudem findet man in den Postings keine abschliessende Anwort. Ob Marco Zanier hier die L?sung f?r uns Schweizer hat?

Link to comment
Share on other sites

Originally posted by satzone@Apr 28 2004, 23:03 PM

Hallo HHGAG

Ja habe an beiden ot_cod_fee Modulen (Lang/german/modules/order_total / und in includes/modules/order_total) die ?nderungen vorgenommen. Sonst h?tte ich eine Fehlermeldung betreffend eines Fehlers in MOdul erhalten!!

Aber trotzalledem fehlt noch irgendwo etwas!

Ich hoffe dass ich das bald rausfinden werde?

hallo satzone

solltest du die nachnahmegeschichte zum laufen bringen, bin ich daran interessiert!

habe wie du auch, ver?nderungen an beiden ot_cod_fee.php vorgenommen... leider ohne erfolg. im bug-tracker hatte ich einen eintrag gemacht. mario zanier hat die sache gepr?ft, jedoch keinen fehler gefunden; ergo muss der 'bock' bei uns liegen.

mit gruss

chassot (ein ch-user)

Link to comment
Share on other sites

Guest HHGAG

Hallo @all,

Ihr m?sst in der /includes/modules/order_total/ot_cod_fee.php

DREI EINTR?GE/MODUL MACHEN (die x'e durch die Modul K?rzel ersetzen):

ca. Zeile 61

Neue Zeile:

if ($_SESSION['shipping']['id'] == 'xx_xx') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_XX);

ca. Zeile 129:

Neue Variable einf?gen:

'MODULE_ORDER_TOTAL_COD_FEE_XX',

ca. Zeile 149

Neue Zeile:

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_COD_FEE_XX', 'DE:4.00,00:9.99', '6', '0', now())");

Das wars!!!

Danach in den jeweiligen ot_cod_fee.php's der lang-files, die entsprechenden Feld Bezeichnungen deklarieren.

Link to comment
Share on other sites

Originally posted by HHGAG@May 2 2004, 10:55 AM

Hallo @all,

Ihr m?sst in der /includes/modules/order_total/ot_cod_fee.php

DREI EINTR?GE/MODUL MACHEN (die x'e durch die Modul K?rzel ersetzen):

ca. Zeile 61

Neue Zeile:

if ($_SESSION['shipping']['id'] == 'xx_xx') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_XX);

ca. Zeile 129:

Neue Variable einf?gen:

'MODULE_ORDER_TOTAL_COD_FEE_XX',

ca. Zeile 149

Neue Zeile:

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_COD_FEE_XX', 'DE:4.00,00:9.99', '6', '0', now())");

Das wars!!!

Danach in den jeweiligen ot_cod_fee.php's der lang-files, die entsprechenden Feld Bezeichnungen deklarieren.

...wurde auch so gemacht. nur die anzeige und die verrechnung bleibt aus!

Link to comment
Share on other sites

...gerne.

----------

<?php

/* -----------------------------------------------------------------------------------------

$Id: ot_cod_fee.php,v 1.2 2004/02/17 21:13:26 fanta2k Exp $

XT-Commerce - community made shopping

http://www.xt-commerce.com

Copyright © 2003 XT-Commerce

-----------------------------------------------------------------------------------------

based on:

© 2000-2001 The Exchange Project (earlier name of osCommerce)

© 2002-2003 osCommerce(ot_cod_fee.php,v 1.02 2003/02/24); www.oscommerce.com

© 2001 - 2003 TheMedia, Dipl.-Ing Thomas Pl?nkers ; http://www.themedia.at & http://www.oscommerce.at

Released under the GNU General Public License

-----------------------------------------------------------------------------------------

Third Party contributions:

Adapted for xtcommerce 2003/09/30 by Benax ([email protected])

Credit Class/Gift Vouchers/Discount Coupons (Version 5.10)

http://www.oscommerce.com/community/contributions,282

Copyright © Strider | [email protected]

Copyright (c Nick Stanko of UkiDev.com, [email protected]

Copyright © Andre [email protected]

Copyright © 2001,2002 Ian C Wilson http://www.phesis.org

Released under the GNU General Public License

---------------------------------------------------------------------------------------*/

class ot_cod_fee {

var $title, $output;

function ot_cod_fee() {

$this->code = 'ot_cod_fee';

$this->title = MODULE_ORDER_TOTAL_COD_TITLE;

$this->description = MODULE_ORDER_TOTAL_COD_DESCRIPTION;

$this->enabled = ((MODULE_ORDER_TOTAL_COD_STATUS == 'true') ? true : false);

$this->sort_order = MODULE_ORDER_TOTAL_COD_SORT_ORDER;

$this->output = array();

}

function process() {

global $order, $currencies, $cod_cost, $cod_country, $shipping;

if (MODULE_ORDER_TOTAL_COD_STATUS == 'true') {

//Will become true, if cod can be processed.

$cod_country = false;

//check if payment method is cod. If yes, check if cod is possible.

if ($_SESSION['payment'] == 'cod') {

//process installed shipping modules

if ($_SESSION['shipping']['id'] == 'flat_flat') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);

if ($_SESSION['shipping']['id'] == 'item_item') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);

if ($_SESSION['shipping']['id'] == 'table_table') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);

if ($_SESSION['shipping']['id'] == 'zones_zones') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);

if ($_SESSION['shipping']['id'] == 'ap_ap') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);

if ($_SESSION['shipping']['id'] == 'dp_dp') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);

if ($_SESSION['shipping']['id'] == 'chp_chp') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);

for ($i = 0; $i < count($cod_zones); $i++) {

if ($cod_zones[$i] == $order->billing['country']['iso_code_2']) {

$cod_cost = $cod_zones[$i + 1];

$cod_country = true;

//print('match' . $cod_zones[$i] . ': ' . $cod_cost);

break;

} elseif ($cod_zones[$i] == '00') {

$cod_cost = $cod_zones[$i + 1];

$cod_country = true;

//print('match' . $i . ': ' . $cod_cost);

break;

} else {

//print('no match');

}

$i++;

}

} else {

//COD selected, but no shipping module which offers COD

}

if ($cod_country) {

$cod_tax = xtc_get_tax_rate(MODULE_ORDER_TOTAL_COD_TAX_CLASS, $order->delivery['country']['id'], $order->delivery['zone_id']);

$cod_tax_description = xtc_get_tax_description(MODULE_ORDER_TOTAL_COD_TAX_CLASS, $order->delivery['country']['id'], $order->delivery['zone_id']);

if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 1) {

$order->info['tax'] += xtc_add_tax($cod_cost, $cod_tax)-$cod_cost;

$order->info['tax_groups'][TAX_ADD_TAX . "$cod_tax_description"] += xtc_add_tax($cod_cost, $cod_tax)-$cod_cost;

$order->info['total'] += $cod_cost + (xtc_add_tax($cod_cost, $cod_tax)-$cod_cost);

$cod_cost_value= xtc_add_tax($cod_cost, $cod_tax);

$cod_cost= xtc_format_price($cod_cost_value, $price_special=1, $calculate_currencies=true);

}

if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 0 && $_SESSION['customers_status']['customers_status_add_tax_ot'] == 1) {

$order->info['tax'] += xtc_add_tax($cod_cost, $cod_tax)-$cod_cost;

$order->info['tax_groups'][TAX_NO_TAX . "$cod_tax_description"] += xtc_add_tax($cod_cost, $cod_tax)-$cod_cost;

$cod_cost_value=$cod_cost;

$cod_cost= xtc_format_price($cod_cost, $price_special=1, $calculate_currencies=true);

$order->info['subtotal'] += $cod_cost_value;

$order->info['total'] += $cod_cost_value;

}

if (!$cod_cost_value) {

$cod_cost_value=$cod_cost;

$cod_cost= xtc_format_price($cod_cost, $price_special=1, $calculate_currencies=true);

$order->info['total'] += $cod_cost_value;

}

$this->output[] = array('title' => $this->title . ':',

'text' => $cod_cost,

'value' => $cod_cost_value);

} else {

//Following code should be improved if we can't get the shipping modules disabled, who don't allow COD

// as well as countries who do not have cod

// $this->output[] = array('title' => $this->title . ':',

// 'text' => 'No COD for this module.',

// 'value' => '');

}

}

}

function check() {

if (!isset($this->_check)) {

$check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_ORDER_TOTAL_COD_STATUS'");

$this->_check = xtc_db_num_rows($check_query);

}

return $this->_check;

}

function keys() {

return array('MODULE_ORDER_TOTAL_COD_STATUS', 'MODULE_ORDER_TOTAL_COD_SORT_ORDER', 'MODULE_ORDER_TOTAL_COD_FEE_FLAT', 'MODULE_ORDER_TOTAL_COD_FEE_ITEM', 'MODULE_ORDER_TOTAL_COD_FEE_TABLE', 'MODULE_ORDER_TOTAL_COD_FEE_ZONES', 'MODULE_ORDER_TOTAL_COD_FEE_AP', 'MODULE_ORDER_TOTAL_COD_FEE_DP', 'MODULE_ORDER_TOTAL_COD_FEE_CHP', 'MODULE_ORDER_TOTAL_COD_TAX_CLASS');

}

function install() {

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_ORDER_TOTAL_COD_STATUS', 'true', '6', '0', 'xtc_cfg_select_option(array(\'true\', \'false\'), ', now())");

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_COD_SORT_ORDER', '35', '6', '0', now())");

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_COD_FEE_FLAT', 'AT:3.00,DE:3.58,00:9.99', '6', '0', now())");

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_COD_FEE_ITEM', 'AT:3.00,DE:3.58,00:9.99', '6', '0', now())");

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_COD_FEE_TABLE', 'AT:3.00,DE:3.58,00:9.99', '6', '0', now())");

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_COD_FEE_ZONES', 'CA:4.50,US:3.00,00:9.99', '6', '0', now())");

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_COD_FEE_AP', 'AT:3.63,00:9.99', '6', '0', now())");

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_COD_FEE_DP', 'DE:4.00,00:9.99', '6', '0', now())");

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_ORDER_TOTAL_COD_FEE_CHP', 'CH:10.00,00:9.99', '6', '0', now())");

xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_ORDER_TOTAL_COD_TAX_CLASS', '0', '6', '0', 'xtc_get_tax_class_title', 'xtc_cfg_pull_down_tax_classes(', now())");

}

function remove() {

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

}

}

?>

----------

wir sind zu dank verpflichtet! :D

Link to comment
Share on other sites

jo, ist klar.

habt ihrn fehler.

das chp modul hat mehrere paketarten, und man kann nat?rlich f?r jede paketart ne NN angeben.

also zb:


if ($_SESSION['shipping']['id'] == 'chp_ECO') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...