---
title: "Versandkostenberechnung mittels Skript: class.tx_ttproducts.php fehlerhaft?"
url: "https://www.typo3.net/d/29320-versandkostenberechnung-mittels-skript-classtx-ttproductsphp-fehlerhaft"
source: "typo3.net"
tags: ["Extensions","Frage","PHP"]
created: "2005-08-28"
last_reply: "2005-08-31"
replies: 6
solved: false
page: 1
pages: 1
lang: "de"
---

# Versandkostenberechnung mittels Skript: class.tx_ttproducts.php fehlerhaft?

Extensions · 6 Antworten · gestartet 2005-08-28

## Eröffnungsbeitrag

**McPringle** · 2005-08-28 · [Beitrag #1](https://www.typo3.net/d/29320-versandkostenberechnung-mittels-skript-classtx-ttproductsphp-fehlerhaft/1)

Hallo!

Wenn ich ein Skript zur Berechnung der Versandkosten schreibe und einbinde, erhalte ich anstelle des Warenkorbs nur eine weisse Seite. Das trieb mich ins Logfile, wo ich folgendes fand:

```typoscript
[Sun Aug 28 18:53:19 2005] [error] [client 217.186.152.117] PHP Fatal error:  Call to a member function on a non-object in /home/f/fihlon.de/public_html/cms/typo3/ext/tt_products/pi/class.tx_ttproducts.php on line 2415, referer: https://cms.fihlon.de/index.php?id=44&type=1&no_cache=1
```

Anscheinend ist das dort benutzte Object $TSFE nicht vorhanden und der Zugriff auf dessen Eigenschaften produziert dann augenscheinlich diesen Fehler.

Kann das vielleicht jemand nachvollziehen?

Gruß
McPringle

## Antworten

### [#2](https://www.typo3.net/d/29320-versandkostenberechnung-mittels-skript-classtx-ttproductsphp-fehlerhaft/2) · anj · 2005-08-29

kannst du mal die Zeile posten, die den Fehler verursacht?

### [#3](https://www.typo3.net/d/29320-versandkostenberechnung-mittels-skript-classtx-ttproductsphp-fehlerhaft/3) · McPringle · 2005-08-29

> **anj schrieb:**
>
> kannst du mal die Zeile posten, die den Fehler verursacht?

Aber sicher doch:

```php
$calcScript = $TSFE->tmpl->getFileName($this->basketExtra['shipping.']['calculationScript']);
```

Gruß
McPringle

### [#4](https://www.typo3.net/d/29320-versandkostenberechnung-mittels-skript-classtx-ttproductsphp-fehlerhaft/4) · anj · 2005-08-30

ist jetzt nur eine Vermutung ...

in der extension zk_products wird das TSFE über

```php
$GLOBALS["TSFE"]
```

angesprochen.

wird denn die Variable bei dir irgendwo mit

```php
$TSFE  = $GLOBALS["TSFE"];
```

gesetzt ?

bzw. versuche doch mal mit

```php
t3lib_div::debug($GLOBALS);
```

auszugeben ..was drin steht ?

vielleicht kommst du dann dahinter...

### [#5](https://www.typo3.net/d/29320-versandkostenberechnung-mittels-skript-classtx-ttproductsphp-fehlerhaft/5) · McPringle · 2005-08-30

Da hätte ich eigentlich selbst drauf kommen müssen -- sind meine PHP-Kenntnisse wirklich schon so eingerostet?

Ich habe in der Funktion *global $TSFE* hinzugefügt und schon gibt es keine Fehlermeldung mehr. Allerdings funktioniert die Berechnung nicht, ich erhalte immer nur 0,00 Euro Versandkosten als Ausgabe.

Meine Konfiguration:

```typoscript
plugin.tt_products {
    20.priceTax.type = count
    20.calculationScript = fileadmin/tmpl_files/calculate_weight_hermes.inc
    20.priceTax =
    20.priceNoTax =
}
```

Das Berechnungsskript habe ich hier aus diesem Forum kopiert und nur geringfügig angepasst:

```php
<?php
$baseAmount = $this->calculatedWeight;
$shippingPrice = 1.00;

if ($baseAmount > 0) { $shippingPrice = 1.00; }
if ($baseAmount > 50) { $shippingPrice = 1.50; }
if ($baseAmount > 100) { $shippingPrice = 2.50; }
if ($baseAmount > 500) { $shippingPrice = 5.00; }
if ($baseAmount > 1000) { $shippingPrice = 10.00; }
if ($baseAmount > 5000) { $shippingPrice = 15.00; }
if ($baseAmount > 10000) { $shippingPrice = 20.00; }
if ($baseAmount > 20000) { $shippingPrice = 30.00; }
if ($baseAmount > 30000) { $shippingPrice = 40.00; }
if ($baseAmount > 40000) { $shippingPrice = 50.00; }

$this->calculatedSums_no_tax["shipping"] = ($shippingPrice / 1.16);
$this->calculatedSums_tax["shipping"] = $shippingPrice;
?>
```

Ich wäre Dir dankbar, wenn Du noch einen Tip hättest, was bei diesem Zusammenspiel schief gehen könnte.

Danke
McPringle

### [#6](https://www.typo3.net/d/29320-versandkostenberechnung-mittels-skript-classtx-ttproductsphp-fehlerhaft/6) · Flink · 2005-08-30

Dazu ist kein eigenes Skript mehr nötig.

Passe das Beispiel aus dem Manual entsprechend an:

```typoscript
plugin.tt_products.shipping { 
 10.title = Parcel 
 10.priceTax.type = weight 
 10.priceTax.WherePIDMinPrice.155 = 7.5 
 10.priceTax.1 = 1.5 
 10.priceTax.500 = 2.5 
 10.priceTax.1000 =3.5 
}
```

Außerdem müssen alle Skripts an die neuen globalen Variablen $this->calculatedArray und $this->itemArray angepaßt werden.

### [#7](https://www.typo3.net/d/29320-versandkostenberechnung-mittels-skript-classtx-ttproductsphp-fehlerhaft/7) · McPringle · 2005-08-31

> **Flink schrieb:**
>
> Passe das Beispiel aus dem Manual entsprechend an:

Hmmm - anscheinend sind alle meine Daten veraltet (in meinem Manual stand davon nix). Ich werde wohl mal aktualisieren müssen - kann ja nicht schaden.

Vielen Dank für den Tip, es funktioniert super!

Gruß
McPringle

---

Quelle: „Versandkostenberechnung mittels Skript: class.tx_ttproducts.php fehlerhaft?“, typo3.net, https://www.typo3.net/d/29320-versandkostenberechnung-mittels-skript-classtx-ttproductsphp-fehlerhaft
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
