diff -ru TYPO3core_orig_cvs/typo3/sysext/css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php TYPO3core_testing/typo3/sysext/css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php
--- TYPO3core_orig_cvs/typo3/sysext/css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php	2005-10-21 10:06:59.000000000 +0200
+++ TYPO3core_testing/typo3/sysext/css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php	2005-11-11 18:58:16.000000000 +0100
@@ -154,6 +154,49 @@
 				// Find number of columns to render:
 			$cols = t3lib_div::intInRange($this->cObj->data['cols']?$this->cObj->data['cols']:count(explode('|',current($rows))),0,100);

+				// initialize CSS information
+			$cssClass['td-last'] = '';
+			$cssClass['td-numbering'] = '';
+			$cssClass['tr-last-odd'] = '';
+			$cssClass['tr-last-even'] = '';
+			$cssClass['tr-numbering-odd'] = '';
+			$cssClass['tr-numbering-even'] = '';
+
+			if ($conf['tdClass.']['last'])	{
+				$cssClass['td-last'][] = $conf['tdClass.']['last'];
+			}
+			if ($conf['tdClass.']['numbering'])	{
+				$cssClass['td-numbering'][] = $conf['tdClass.']['numbering'];
+			}
+			if ($conf['trClass.']['last'])	{
+				$cssClass['tr-last-odd'][] = $conf['trClass.']['last'];
+				$cssClass['tr-last-even'][] = $conf['trClass.']['last'];
+			}
+			if ($conf['trClass.']['numbering'])	{
+				$cssClass['tr-numbering-odd'][] = $conf['trClass.']['numbering'];
+				$cssClass['tr-numbering-even'][] = $conf['trClass.']['numbering'];
+			}
+			if ($conf['trClass.']['odd'] && $conf['trClass.']['even'] && $conf['trClass.']['last'])	{
+				$cssClass['tr-last-odd'][] = $conf['trClass.']['odd'];
+				$cssClass['tr-last-even'][] = $conf['trClass.']['even'];
+			}
+			if ($conf['trClass.']['odd'] && $conf['trClass.']['even'] && $conf['trClass.']['numbering'])	{
+				$cssClass['tr-numbering-odd'][] = $conf['trClass.']['odd'];
+				$cssClass['tr-numbering-even'][] = $conf['trClass.']['even'];
+			}
+
+
+			foreach ($cssClass as $key => $value)	{
+				if(count($value) > 1)	{
+					$tmpValue = implode(' ',$value);
+				} else {
+					$tmpValue = $value[0];
+				}
+				if(!empty($tmpValue))	{
+					$cssClass[$key] = ' class="'.$tmpValue.'"';
+				}
+			}
+
 				// Traverse rows (rendering the table here)
 			$rCount = count($rows);
 			foreach($rows as $k => $v)	{
@@ -161,13 +204,16 @@
 				$newCells=array();
 				for($a=0;$a<$cols;$a++)	{
 					if (!strcmp(trim($cells[$a]),''))	$cells[$a]='&nbsp;';
-					$cellAttribs =  ($a>0 && ($cols-1)==$a) ? ' class="td-last"' : ' class="td-'.$a.'"';
+					$tdNumbering = str_replace('|',$a,$cssClass['td-numbering']);
+					$cellAttribs = ($a>0 && ($cols-1)==$a) ? $cssClass['td-last'] : $tdNumbering;
 					$newCells[$a] = '
-						<td'.$cellAttribs.'><p>'.$this->cObj->stdWrap($cells[$a],$conf['innerStdWrap.']).'</p></td>';
+						<td'.$cellAttribs.'>'.$this->cObj->stdWrap($cells[$a],$conf['innerStdWrap.']).'</td>';
 				}

-				$oddEven = $k%2 ? 'tr-odd' : 'tr-even';
-				$rowAttribs =  ($k>0 && ($rCount-1)==$k) ? ' class="'.$oddEven.' tr-last"' : ' class="'.$oddEven.' tr-'.$k.'"';
+				$oddEven = $k%2 ? 'odd' : 'even';
+				$trNumbering = str_replace('|',$k,$cssClass['tr-numbering-'.$oddEven]);
+
+				$rowAttribs =  ($k>0 && ($rCount-1)==$k) ? $cssClass['tr-last-'.$oddEven] : $trNumbering;
 				$rows[$k]='
 					<tr'.$rowAttribs.'>'.implode('',$newCells).'
 					</tr>';
@@ -178,7 +224,7 @@

 				// Table tag params.
 			$tableTagParams = $this->getTableAttributes($conf,$type);
-			$tableTagParams['class'] = 'contenttable contenttable-'.$type;
+			$tableTagParams['class'] = str_replace('|',$type,$conf['tableClass']);

 				// Compile table output:
 			$out = '
diff -ru TYPO3core_orig_cvs/typo3/sysext/css_styled_content/static/setup.txt TYPO3core_testing/typo3/sysext/css_styled_content/static/setup.txt
--- TYPO3core_orig_cvs/typo3/sysext/css_styled_content/static/setup.txt	2005-10-21 10:06:59.000000000 +0200
+++ TYPO3core_testing/typo3/sysext/css_styled_content/static/setup.txt	2005-11-11 18:57:30.000000000 +0100
@@ -481,7 +481,13 @@

 	20 = USER
 	20.userFunc = tx_cssstyledcontent_pi1->render_table
-
+	20.tableClass = contenttable contenttable-|
+	20.tdClass.last = td-last
+	20.tdClass.numbering = td-|
+	20.trClass.last = tr-last
+	20.trClass.numbering = tr-|
+	20.trClass.odd = tr-odd
+	20.trClass.even = tr-even
 	20.color {
 		default =
 		1 = #EDEBF1
@@ -509,6 +515,7 @@
 	}

 	20.innerStdWrap.parseFunc = < lib.parseFunc
+	20.innerStdWrap.wrap = <p>|</p>

 	20.stdWrap {
 		editIcons = tt_content: cols, bodytext, [layout], [table_bgColor|table_border|table_cellspacing|table_cellpadding]
