---
title: "EXT: Commerce: Extended products"
url: "https://www.typo3.net/d/71707-ext-commerce-extended-products"
source: "typo3.net"
tags: ["Extensions","Frage"]
created: "2007-12-18"
last_reply: "2009-05-15"
replies: 18
solved: false
page: 1
pages: 1
lang: "de"
---

# EXT: Commerce: Extended products

Extensions · 18 Antworten · gestartet 2007-12-18

## Eröffnungsbeitrag

**-Z-** · 2007-12-18 · [Beitrag #1](https://www.typo3.net/d/71707-ext-commerce-extended-products/1)

betrifft die Ext.
EXT: Commerce: Extended products
(com_advanced_products)
---

ich halte die beschriebenen funktionen dieser extension für sehr sinnvoll.

nach der installation habe ich die artikelpreise einer produktkategorie gelöscht und wie vorgegeben geändert.
d.h. jedem produkt einen festpreis gegeben, und zum testen jedem artikel (bei mir hat jedes produkt nur einen artikel) ein neues attribut zugewiesen welches einen wert mit preis hat. eben analog des zug. manuals.

wenn ich nun im frontend eine produktliste aufrufe kommen zahlreiche ähnliche debug-meldungen.

**hier eine davon:**

```html
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/olshop/dummy-4.1.3/t3lib/class.t3lib_db.php on line 796
```

```html
caller
	t3lib_DB::exec_SELECTquery
```

```html
ERROR
	You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
```

```html
lastBuiltQuery
	SELECT ordernumber
	FROM tx_commerce_products
	WHERE
	uid=
```

```html
debug_backtrace
	require // include // tspagegen::rendercontent // tslib_cobj->cobjget // tslib_cobj->cobjgetsingle // tslib_cobj->template // tslib_cobj->cobjgetsingle // tslib_cobj->casefunc // tslib_cobj->cobjgetsingle // tslib_cobj->cobj_array // tslib_cobj->cobjget // tslib_cobj->cobjgetsingle // tslib_cobj->content // tslib_cobj->cobjgetsingle // tslib_cobj->cobjgetsingle // tslib_cobj->casefunc // tslib_cobj->cobjgetsingle // tslib_cobj->cobj_array // tslib_cobj->cobjget // tslib_cobj->cobjgetsingle // tslib_cobj->casefunc // tslib_cobj->cobjgetsingle // tslib_cobj->cobjgetsingle // tslib_cobj->user // tslib_cobj->calluserfunction // call_user_method // tx_commerce_pi1->main // tx_commerce_pi1->init // tx_commerce_pibase::init // tx_commerce_div::initializefeuserbasket // tx_commerce_basket->load_data // tx_commerce_basket->load_data_from_database // tx_commerce_basket->add_article // tx_commerce_basket_item->tx_commerce_basket_item // tx_commerce_basket_item->init // tx_commerce_article->load_data // tx_commerce_arti	cle->calculatedeliverycosts // tx_commerce_articlehooks->calculatedeliverycostnet // tx_commerce_articlehooks->getdeliveryarticle // tx_commerce_article->tx_commerce_article // tx_commerce_article->init // tx_com_advanced_products_article_itemnr_hooks->postinit // tx_commerce_belib::getproductofarticle // ux_t3lib_db->exec_selectquery // ux_t3lib_db->debug
```

## Antworten

### [#2](https://www.typo3.net/d/71707-ext-commerce-extended-products/2) · -Z- · 2007-12-18

hier wäre noch hinzuzufügen, dass die "neue funktion" mit der attribut-generierten Bestellnummer vorerst nicht benötigt wird.

> SELECT ordernumber
> FROM tx_commerce_products

eigentlicher Fehler: Die Artikel sind aus der Produktliste verschwunden!

### [#3](https://www.typo3.net/d/71707-ext-commerce-extended-products/3) · saschae · 2007-12-19

habe eine kleinigkeit geändert und ins repository geladen. wird  allerdings ein paar stunden dauern bis es da ist. kannst mir deine mail adresse per pm schicken dann kann ich dirs schonmal zuschicken

### [#4](https://www.typo3.net/d/71707-ext-commerce-extended-products/4) · -Z- · 2007-12-19

danke nocheinmal für die promte ext-zusendung per mail!

Ich habe festgestellt, dass die Artikel im Produktkatalog wieder erscheinen, wenn man die alten Artikel unter "Artikel erzeugen" löscht und anschließend mit neuem Attribut neu erzeugt. Bestehende Artikel ändern geht nicht bzw. diese erscheinen dann nicht im Katalog.

Die Debugmeldungen erscheinen immernoch, jedoch ohne die, mit "SELECT ordernumber".

d.h jetzt nur noch mit:

```html
lastBuiltQuery	SELECT *
FROM tx_commerce_products
WHERE
uid=
```

der Rest analog oben Genannten.

### [#5](https://www.typo3.net/d/71707-ext-commerce-extended-products/5) · saschae · 2007-12-19

hmmm...
ist es möglich mal einen zugang zum shop zu bekommen das ich mir das mal angucken kann?

### [#6](https://www.typo3.net/d/71707-ext-commerce-extended-products/6) · -Z- · 2007-12-19

eher nicht, ich darf das nicht verantworten.

jedenfalls scheint die uid nicht befüllt zu werden, obwohl (werte) vorhanden sind.

muss eigentlich ein Fehler in der Funktion sein,
oder versionskonflikt? ich habe commerce 0.9.2

hier nochmal ein debugbacktrace:

```html
debug_backtrace:

require // 
include // 
tspagegen::rendercontent // 

tslib_cobj->cobjget // 
tslib_cobj->cobjgetsingle // 
tslib_cobj->template // 
tslib_cobj->cobjgetsingle // 
tslib_cobj->casefunc // 
tslib_cobj->cobjgetsingle // 
tslib_cobj->cobj_array // 
tslib_cobj->cobjget // 
tslib_cobj->cobjgetsingle // 
tslib_cobj->content // 
tslib_cobj->cobjgetsingle // 
tslib_cobj->cobjgetsingle // 
tslib_cobj->casefunc // 
tslib_cobj->cobjgetsingle // 
tslib_cobj->cobj_array // 
tslib_cobj->cobjget // 
tslib_cobj->cobjgetsingle // 
tslib_cobj->casefunc // 
tslib_cobj->cobjgetsingle // 
tslib_cobj->cobjgetsingle // 

tslib_cobj->user // 
tslib_cobj->calluserfunction // 
call_user_method // 

tx_commerce_pi1->main // 
tx_commerce_pi1->makelistview // 
tx_commerce_pi1->renderproductsforlist // 

tx_commerce_product->load_articles // 

tx_commerce_article->load_data // 
tx_commerce_article->calculatedeliverycosts //
 
tx_commerce_articlehooks->calculatedeliverycostgross // 

tx_commerce_article->get_price_gross // 

tx_commerce_article_price->get_price_gross // 
tx_commerce_article_price->getpricegross //
 
tx_com_advanced_products_article_price_hooks->postpricegross // 
tx_commerce_belib::getproductofarticle // 
ux_t3lib_db->exec_selectquery // 
ux_t3lib_db->debug
```

### [#7](https://www.typo3.net/d/71707-ext-commerce-extended-products/7) · saschae · 2007-12-19

neue Version ist zu dir unterwegs. Nutzt du die aktuellste Version aus dem SVN ?!

### [#8](https://www.typo3.net/d/71707-ext-commerce-extended-products/8) · -Z- · 2007-12-20

nein nur den normalen RC. ins SVN schau ich ab und zu mal rein, werde wahrsch. erst bei der 0.9.3 umsteigen. weil einge sachen waren nicht über hooks lösbar und sind hardgecoded. beeinflussen jedoch icht dieses problem.
ich werde demnächst mal deine neuere version ausprobieren, danke.

### [#9](https://www.typo3.net/d/71707-ext-commerce-extended-products/9) · c323 · 2008-01-20

Hallo,

ich habe euren Thread aufmerksam verfolgt - da ich dieselben Probleme mit der EXT: Commerce: Extended products habe, würde mich interessieren, ob eine nachvollziehbare Abhilfe gefunden wurde.

Außerdem, wenn ihr auf das SVN verweist, würdet ihr bitte Download, Link und Version angeben, sonst kann (zumindest) ich nicht folgen.

By the way: Kann ich eine Ext. aus dem SVN einfach über eine bestehende Installation aus dem Repository installieren?

Zu Info meine Warnings mit EXT: Commerce: Extended products
Warning: Invalid argument supplied for foreach() in /home/u0007985740/public_html/typo3_upgraded/typo3conf/ext/com_advanced_products/lib_hooks/class.tx_com_advanced_products_article_itemnr_hooks.php on line 46

Danke an alle !

### [#10](https://www.typo3.net/d/71707-ext-commerce-extended-products/10) · -Z- · 2008-01-21

da ich nun nicht mehr der einzige bin poste ich mal auszüge meines Emailverkehrs mit dem Entwickler:

--

> Nun habe ich durch Auskommentieren in der "ext_localconf.php" solange probiert, bis ich herausbekommen habe, dass nur die datei:
> "com_advanced_products\lib_hooks\class.tx_com_advanced_products_article_price_hooks.php"
> den Fehler verursacht.
>
> Durch weiteres Auskommentieren der enthaltenen Funktionen stellte ich fest, dass nur die beiden Funktionen "postpricenet()" und "postpricegross()" den Fehler verursachen.
>
> Ich benutze immernoch die commerce Version 0.9.2.

--

> betrifft:
> "com_advanced_products\lib_hooks\class.tx_com_advanced_products_article_price_hooks.php"
> function postpricenet(...) und function postpricegross(...)
>
> diese beiden Funktionen sind bis auf die Unterschiede bei "price_gross"/ "price_net" identisch.
>
> Ich habe nun festgestellt:
> - existiert im angezeigten Katalog ein Artikel mit Preis (Standard), tritt der Fehler auf (Seite kann nicht generiert werden).
>
> -lösche ich bei allen angezeigten Artikeln den Preis (so wie es sein soll und von Ihrer EXT verlangt ist) und stelle Grundpreis beim Produkt / + Zusatzpreis bei einem Attribut ein, kommt KEIN Fehler!
> Jedoch bleibt nach der Änderung der Katalog leer!
>
> Jedes Produkt, hat bei mir nur einen Artikel.

--
Lösung wurde bisher keine Gefunden ...

@c323
ich würde ein Backup der "alten" commerce version machen. danach die version 0.9.2 deaktivieren + deinstallieren. (ALLE Tabellen der EXT bleiben erhalten: warum das weiß nur Typo3 :)
danach die SVN version drauf. Das habe ich selbst jedoch noch nicht probiert

### [#11](https://www.typo3.net/d/71707-ext-commerce-extended-products/11) · -Z- · 2008-01-21

> Zu Info meine Warnings mit EXT: Commerce: Extended products
> Warning: Invalid argument supplied for foreach() in /home/u0007985740/public_html/typo3_upgraded/typo3conf/ext/com_advanced_products/lib_hooks/class.tx_com_advanced_products_article_itemnr_hooks.php on line 46

dir fehlt die funktion "get_article_attributes()" in der ext\commerce\lib\class.tx_commerce_article.php

für diese EXT benötigst du folgende Fkt. des Entwicklers:

```php
function get_article_attributes($aUid = NULL, $ct = NULL, $excludeAttributes = NULL) {
			if($aUid == NULL && $this->uid > 0) {
				$aUid = $this->uid;
			} else { 
				return false;
			}
			
			$where = 'uid_local=' .$aUid;
			
			if ($ct != NULL) {
				$pUid = $this->getProductOfArticle($aUid, 'uid');
			
				$productAttributes = $this->getAttributesForProduct($pUid['uid']);
				$ctAttributes = array();
				
				if (is_array($productAttributes)) {
					foreach ($productAttributes as $productAttribute) {
						if ($productAttribute['uid_correlationtype'] == $ct) {
							$ctAttributes[] = $productAttribute['uid_foreign'];
						}
					}
					if (count($ctAttributes) > 0) {
						$where .= ' AND uid_foreign IN (' .implode(',', $ctAttributes) .')';
					}
				}
			}

			// should we exclude some attributes
			if (is_array($excludeAttributes) && count($excludeAttributes) > 0) {
				$eAttributes = array();
				foreach ($excludeAttributes as $eAttribute)
					$eAttributes[] = $eAttribute['uid_foreign'];
				$where .= ' AND uid_foreign NOT IN (' .implode(',', $eAttributes) .')';
			}
		
			// execute the query
			$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
				'*',
				'tx_commerce_articles_article_attributes_mm',
				$where
				);
		
			// build the result and return it...
			$result = array();
			while ($attribute = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
				$result[] = $attribute;
			}
		return $result;
		}
```

### [#12](https://www.typo3.net/d/71707-ext-commerce-extended-products/12) · c323 · 2008-01-21

Hallo -Z-,

vielen Dank - das war´s.

Als Anmerkung meinerseits: Der verwendete Marker für die automatische generierung der Bestellnummer ist der ###ARTICLE_GENERATED_ORDERNUMBER###. Funktioniert im der Produktansicht hervorragend.

Leider wird dieser Marker ###ARTICLE_GENERATED_ORDERNUMBER### im Warenkorb nicht gerendert, nur der bisherige Marker ###ARTICLE_ORDERNUMBER### und dieser beinhaltet dann aber keine Werte.

Ist hier eine Abhilfe bekannt?

### [#13](https://www.typo3.net/d/71707-ext-commerce-extended-products/13) · -Z- · 2008-01-22

Der Marker ist im Subpart (###PRODUCT_BASKET_FORM_SMALL###) des Warenkorbs natürlich nicht definiert!

Zu lösen ist das über die Hook:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commerce_pibase.php']['articleMarker']
dort kannst du auf die function additionalMarker zugreifen und vorhandene Marker überscheiben bzw. neue reinbauen.

ODER eben in der pi2 bei der function makeArticleView zu den anderen Markern dazuschreiben ("schmutzig").

### [#14](https://www.typo3.net/d/71707-ext-commerce-extended-products/14) · ronix · 2008-03-12

Hallo Leute,

bei mir hat das Einbinden einer Implementierten Version von get_article_attributes nichts gebracht... Ich habe es sowohl mit der Version 0.9.2 von Commerce als auch mit der svn-Version probiert. Bei letzterer scheint sich irgendwo eine Endlosschleife zu ergeben, die PHP mit einem Buffer Overflow quittiert.

Hat irgendjemand eine Lösung gefunden?

Viele Grüße,
Max.

### [#15](https://www.typo3.net/d/71707-ext-commerce-extended-products/15) · jochen.​biedermann · 2008-07-23

Hallo,

wir haben ein ähnliches Problem wie ronix. Beim Einschalten der com_advanced_productes antwortet der Shop mit einem Internal Server Error. Es scheint ein Time-Out/Endlosschleifen-Problem zu sein. Mit ausgeschalteter extension läuft commerce stabil. Zum Einsatz kommt im Moment TYPO3 4.2, commerce 0.9.6 und advanced products 0.8.1.

Wir haben es aber auch mit verschiedenen Versionen und Kombinationen von commerce und com_advanced_products versucht - ohne Erfolg.

Wir vermuten das Problem in der Datei class.tx_com_advanced_products_article_itemnr_hooks.php in Zeile 40 (Aufruf von tx_commerce_belib::getAttributesForArticle() ), kommen aber bei der Problemlösung nicht voran.

Hat jemand eine Idee oder eine Lösung gefunden?

### [#16](https://www.typo3.net/d/71707-ext-commerce-extended-products/16) · saschae · 2008-07-23

Ist es irngedwie möglich zugang zu dem system (bzw. zu nem testsystem) zu bekommen? (Daten per PN)

### [#17](https://www.typo3.net/d/71707-ext-commerce-extended-products/17) · saschae · 2008-10-16

Zur Info:

Dieses Problem wurde behoben. Es lag an fehlerhaften Versandartikeln bzw. daran, dass die standard Versandartikel gelöscht wurden. Diese müssen aber bestehen bleiben können aber auf "hidden" gestezt werden.

### [#18](https://www.typo3.net/d/71707-ext-commerce-extended-products/18) · Jaeny · 2008-10-16

Hallo Sascha,

ich habe meine Sysartikel noch gänzlich unbearbeitet - weder gelöscht, umbenannt oder sonstiges, sobald ich für meine Produkte Artikel anlege erhalte ich den Server Error?!

### [#19](https://www.typo3.net/d/71707-ext-commerce-extended-products/19) · jochen.​biedermann · 2009-05-15

Um anderen vielleicht diue verzweifelte Suche zu ersparen: Bei allen aktiven Systemartikeln muss ein Preis eingetragen werden (und sei es 0.00) - und schon ist der Error weg!

---

Quelle: „EXT: Commerce: Extended products“, typo3.net, https://www.typo3.net/d/71707-ext-commerce-extended-products
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
