---
title: "Preis \"auf Anfrage\""
url: "https://www.typo3.net/d/29688-preis-auf-anfrage"
source: "typo3.net"
tags: ["Extensions","Frage"]
created: "2005-09-05"
last_reply: "2008-05-05"
replies: 12
solved: false
page: 1
pages: 1
lang: "de"
---

# Preis "auf Anfrage"

Extensions · 12 Antworten · gestartet 2005-09-05

## Eröffnungsbeitrag

**svenja** · 2005-09-05 · [Beitrag #1](https://www.typo3.net/d/29688-preis-auf-anfrage/1)

Hallo

ich habe zk_products ausprobiert und bin auf ein Problem gestoßen, für das ich keine hilfe im netz finde.
ich habe mir meinen shop aufgesetzt, in dem man bilder kaufen kann. für manche bilder möchte ich aber auf eine preisangabe verzichten und dafür "auf anfrage" stehen haben. Aber im modul sind in diesen feldern nur zahlen zugelassen, wenn ich buchstaben eingebe dan kommt 0.00 euro!
wie kann ich buchstaben oder sonderzeichen in dem Preisfeld zulassen?

liebe grüße

## Antworten

### [#2](https://www.typo3.net/d/29688-preis-auf-anfrage/2) · Andrea_Herzog · 2005-09-06

Hallo Svenja,

habe das Problem auch.

Ich weiss nicht, ob dir das hilft, denn ich setze zk-products nicht ein, sondern tt_products.

Aber ich habe in der  ext_typoscript_constants.txt folgendes gefunden. Da scheint es die Möglichkeit zu geben, einen  grafischen Preis zu setzen.

> cat=plugin.products//; type=boolean; label=Use Price Tag: Print a graphical price tag instead of the normal text field
>   usePriceTag = 0

In der ext_typoscript_setup.txt steht dann dies:

> usePriceTag = {$plugin.tt_products.usePriceTag}
>   useStaticInfoCountry = {$plugin.tt_products.useStaticInfoCountry}
>
> priceTagObj = IMAGE
>   priceTagObj.wrap = |
>   priceTagObj.file = GIFBUILDER
>   priceTagObj.file {
>     backColor = #C4C400
>     XY = [10.w]+10,[10.h]+5
>     10 = TEXT
>     10 {
>       text = ###PRICE###
>       offset = 0,14
>       fontColor = #222222
>       fontSize = 16
>       align = center
>       niceText = 1
>     }
>   }

Das habe ich aber noch nicht probiert.

Ich habe übrigens auch mal in der tca.php im Array price den eval= auskommentiert (dann wird der Text zumindest im BE angezeigt). Reicht also nicht aus.

Bist du schon weiter gekommen?
Oder weiss jemand anders etwas?

Gruß

Andrea

### [#3](https://www.typo3.net/d/29688-preis-auf-anfrage/3) · anj · 2005-09-06

Hallo Svenja!

Dein Problem müsstest du soweit ich weiss an 4 Stellen suchen:

- Datenbank

- class.tx_ttproducts.php

- tca.php

- ext_tables.php

In der Datenbank sollte es standardmässig varchar(20) sein ... also wäre es für TEXT ok.

in der zk_products extension solltest du mal nach dem feld price sehen ob es irgendwie werte die keine integer sind nicht ausgibt.

In der tca.php bzw. ext_tables.php solltest du schauen wie das price feld eingestellt wird (integer oder char?)

Das wäre die kompliziertere Variante. Am schnellsten wäre es glaub ich einfach die class.tx_ttproducts.php zu erweitern:

Std. mässig hast du bei der Eingabe einer "-1" im Preis eine AUSGABE: Auf Lager

Vielleicht kannst du einfach das ganze erweitern z.b. auf die "-2" -> AUSGABE Auf Anfrage ???

gruss

aNj

### [#4](https://www.typo3.net/d/29688-preis-auf-anfrage/4) · Flink · 2005-09-07

> **anj schrieb:**
>
> Dein Problem müsstest du soweit ich weiss an 4 Stellen suchen:
>
> - Datenbank
>
> - class.tx_ttproducts.php
>
> - tca.php
>
> - ext_tables.php

Es genügt eine Erweiterung der Funktion

```php
function printPrice($priceText)
```

.
Ein negativer Preis kann hier ausgewertet werden und eine andere Ausgabe zur Folge haben, wie es oben in einem Beitrag beschrieben ist.

### [#5](https://www.typo3.net/d/29688-preis-auf-anfrage/5) · svenja · 2005-09-07

hi, vielen dank für die antworten. ich habe mich ein bisschen mit der class.tx_ttproducts beschäftigt.

die funktion priceText habe ich mir angeschaut

```php
	function printPrice($priceText)
	{
		if (($this->conf["usePriceTag"]) && (isset($this->conf["priceTagObj."])))
		{
			$ptconf = $this->conf["priceTagObj."];
			$markContentArray = array();
			$markContentArray["###PRICE###"] = $priceText;
			$this->cObj->substituteMarkerInObject($ptconf, $markContentArray);
			return $this->cObj->cObjGetSingle($this->conf["priceTagObj"], $ptconf);
		}
		else
			return $priceText;
	}
```

hier sagt er ja nur, dass in den marker ###PRICE### den angegebenen preis angibt, wo er den hernimmt usw.

ich habe mir die inStock Funktion ebenfalls mal angeguckt, um zu sehen, wie dort die Angabe von -1 übernommen wird. mir würde es schon reichen, wenn ich gleich hier sagen kann: "Preis auf Anfrage". das läuft aber in der inStock anders:

```php
 if ($row["inStock"] < 0) { 
                $markerArray["###PRODUCT_INSTOCK###"] = $this->conf["alwaysInStockMessage"]; 
                $markerArray["###PRODUCT_INSTOCK_UNIT###"] = ""; 
           } 
           else { 
                $markerArray["###PRODUCT_INSTOCK###"] = $row["inStock"]; 
                $markerArray["###PRODUCT_INSTOCK_UNIT###"] = $this->conf["inStockPieces"]; 
           }
```

Jetzt ist für mich als php-amateurin die frage:
Flink sagt: hier kann ich ein negativen Wert **auswerten**

```php
 if ($row["usePriceTag"] < 0)
$markerArray["###PRICE###"] = $this->conf["???"];
```

da wo ich die ??? stehen habe, kann ich da direkt eine **Ausgabe**
angeben?

@andrea_herzog: danke für deinen tipp, ich hatte das schon geändert, meine preise werden schon als text angezeigt.  :'(

### [#6](https://www.typo3.net/d/29688-preis-auf-anfrage/6) · donvito · 2005-09-08

hallo

ich sitze grad am gleichen problem! hast du oder irgendwer da ne lösung gefunden?

### [#7](https://www.typo3.net/d/29688-preis-auf-anfrage/7) · Flink · 2005-09-08

> **svenja schrieb:**
>
> Jetzt ist für mich als php-amateurin die frage:
> Flink sagt: hier kann ich ein negativen Wert **auswerten**
>
> ```php
>  if ($row["usePriceTag"] < 0)
> $markerArray["###PRICE###"] = $this->conf["???"];
> ```
>
> da wo ich die ??? stehen habe, kann ich da direkt eine **Ausgabe**
> angeben?

Probiere es zuerst direkt, ohne eigens definierten TypoScript Setup:

```php
 if ($row["usePriceTag"] < 0)
$markerArray["###PRICE###"] = 'Der Preis ist kleiner als 0';
```

### [#8](https://www.typo3.net/d/29688-preis-auf-anfrage/8) · svenja · 2005-09-09

hallo flink,

ich habe es versucht, bekomme aber kein ergebnis. ich bin so kurz davor, dass rätsel zu lösen aber ich glaub ich brauch noch einmal deine hilfe:

```php
	function printPrice($priceText)
	{
	if ($row["usePriceTag"] < 0)
	$markerArray["###PRICE###"] = 'auf Anfrage'; 				
		if (($this->conf["usePriceTag"]) && (isset($this->conf["priceTagObj."])))
		{
			$ptconf = $this->conf["priceTagObj."];
			$markContentArray = array();
			$markContentArray["###PRICE###"] = $priceText;
			$this->cObj->substituteMarkerInObject($ptconf, $markContentArray);
			return $this->cObj->cObjGetSingle($this->conf["priceTagObj"], $ptconf);
		}
		else
			return $priceText;
	}
```

das problem ist aber, dass der shop alle negativen einträge sofort in 0 umwandelt. also entweder ich sage ihm, wenn der wert 0 hat dann zeige 'auf Anfrage' oder ich muss einstellen, das er die werte nicht automatisch auf 0 stellen soll.  stimmt das?

ich glaube, die erste lösung ist die einfachere lösung, oder? kannst du mir da noch einmal helfen?
tausend dank

### [#9](https://www.typo3.net/d/29688-preis-auf-anfrage/9) · Flink · 2005-09-09

Hallo Svenja,

> **svenja schrieb:**
>
> das problem ist aber, dass der shop alle negativen einträge sofort in 0 umwandelt. also entweder ich sage ihm, wenn der wert 0 hat dann zeige 'auf Anfrage' oder ich muss einstellen, das er die werte nicht automatisch auf 0 stellen soll.  stimmt das?
>
> ich glaube, die erste lösung ist die einfachere lösung, oder? kannst du mir da noch einmal helfen?
> tausend dank

Vielleicht wäre es dann besser, diese Korrektur anderswo durchzuführen.

```php
/**
 * Formatting a price
 */
function priceFormat($double)	{
if ($double < 0)
        return 'auf Anfrage';   
else
	return number_format($double,intval($this->conf['priceDec']),$this->conf['priceDecPoint'],$this->conf['priceThousandPoint']);
} // priceFormat
```

### [#10](https://www.typo3.net/d/29688-preis-auf-anfrage/10) · svenja · 2005-09-09

SUPER!!! hab vielen dank, flink. jetzt wird mein erster shop immer wahrscheinlicher! die ausgabe funktioniert! zwar steht jetzt noch das "euro" zeichen und die mehrwertsteuer dahinter, aber das wird schon gehen. vielleicht kann ich die ja irgendwie rauskriegen. tausend dank!

### [#11](https://www.typo3.net/d/29688-preis-auf-anfrage/11) · Agi · 2007-02-21

Hallo, auch wenn dieser Thread schon etwas betagter ist, so ist er dennoch das Beste was ich zu meinem Problem gefunden habe.

Ich möchte ebenfalls bestimmte Produkte als "Auf Anfrage" gekennzeichnet haben. Ich hätte es gerne, dass bei diesem Produkten auch der Button zum "In den Warenkorb" legen nicht erscheinen würde.
Jedoch ist mir leider bislang kein unkomplizierter Lösungsansatz eingefallen.
Die einzige Möglichkeit sehe ich derzeit darin, eine eigene Funktion zu schreiben, die entweder die normale Ausgabe (Preisangabe und Warenkorb-Button) oder eben einen alternativen "Auf Anfrage"-Text erzeugt.

Hat vielleicht jemand eine bessere Idee oder ist das Problem schonmal von einer anderen Seite her angegangen?

Mit Dank im Voraus für jede Antwort

PS: Typo3 4.0.2, tt_products 2.5.1

### [#12](https://www.typo3.net/d/29688-preis-auf-anfrage/12) · Flink · 2007-02-21

Dazu könnte man die Variante 5 - additional erweitern. Dort findet alles Platz, was als einfache Checkbox mit Ja oder Nein zu beantworten ist.
Es könnte von der Anzeige her gleich gelöst werden wie ein Einzelprodukt.

### [#13](https://www.typo3.net/d/29688-preis-auf-anfrage/13) · masterle · 2008-05-05

hi,

ich versuche auch gerade einen "preis auf anfrage" zu erstellen.

habe entsprechende class.tx_ttproducts.php abgeändert mit

> Vielleicht wäre es dann besser, diese Korrektur anderswo durchzuführen.
>
> /**
>  * Formatting a price
>  */
> function priceFormat($double)   {
> if ($double < 0)
>         return 'auf Anfrage';
> else
>         return number_format($double,intval($this->conf['priceDec']),$this->conf['priceDecPoint'],$this->conf['priceThousandPoint']);
> } // priceFormat

aber ich kann bisher nur negative zahlen ausgeben und mehr leider nicht.

was habe ich vergessen?

mfg
masterle

---

Quelle: „Preis "auf Anfrage"“, typo3.net, https://www.typo3.net/d/29688-preis-auf-anfrage
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
