Sie sind hier:  » Tipps » Tabellen  » Tabelle mit Colspan über drei Zellen

Zur Übersicht

Tipps:

.htaccess

eMail-Adresse

Links im Text

Codeschnipsel

Codevalidierung

Druckversion

Flash

Formular 6.0

Grafiken positionieren

Animiertes Gif

JavaScripte

Multilanguage

Quicktime

Sitemap

Tabellen

Tabellen w2d 6.0

wmv valide einbinden

Farbvorschau

YouTube

Kontaktdaten

Webdesignconsult.de
39164 Wanzleben-Börde
Telefon:
039204 - 91 80 39


Folgende Anforderung

  • 3 Tabellenzellen sollen mit Grafiken befüllt werden
  • eine mit Text befüllte Tabellenzelle soll darüber gespannt sein
  • dauerhaftes Abspeichern dieser Tabellen-Einstellung sollte möglich sein

Lösung mittels PHP-Parser

Bedingung: PHP muss auf dem Server ausgeführt werden können.

Wir setzen in der navigation.ccml den PHP-Parser von Milena ein.

<body>
<?php ob_start(); ?>

-----hier steht der "normale Quellcode"-----------

<?php
if (!function_exists("ob_get_clean")) {
function ob_get_clean() {
$ob_contents = ob_get_contents();
ob_end_clean();
return $ob_contents;
}
}
$content=ob_get_clean();
$content=str_replace('<td colspan="3"></td>','',$content);
echo $content;
?>
</body>
</html>

das hier: <td colspan="3"></td> ist der Teil, der zu ersetzen ist. Woher er kommt, erkläre ich nun:

Bitte die Originaldatei sichern und folgende paragraph_table.ccml einsetzen. Hier der Code:

CCML:

Um den gesamten Code ansehen zu können, nutzen Sie bitte die Markierfunktion mit Hilfe der Maus.

<cc:*>
--------------------------------------------------
Datei: paragraph_table.ccml
Funktion: Tabelle
--------------------------------------------------
</cc:*>
<table id="colspantab<cc:print value="&paragraph.table.colcount"><cc:print value="&paragraph.table.rowcount">" class="content">
<cc:loop type="row" obj="myrow">
<cc:if cond="&myrow.number | 2=1">
<cc:if cond="&myrow.header">
<tr class="header">
<cc:else>
<tr class="odd">
</cc:if>
<cc:else>
<tr class="even">
</cc:if>
<cc:loop type="col" obj="mycol" row="&myrow.number">
<cc:if cond="&myrow.header">
<td colspan="3"><cc:else><cc:if cond="&mycol.header"><td class="headercell">
<cc:else>
<td class="cell">
</cc:if>
</cc:if>
<cc:if cond="&mycol.picture"><cc:picture uid="&mycol.picture" obj="tablepic" width="517 / &paragraph.table.colcount - 9" suffix="'cols'+&paragraph.table.colcount">
<cc:if cond="&mycol.picture.zoom.isonsite"><a href="<cc:print value="&mycol.picture.zoom.url">"><cc:printpicture obj="tablepic" suffix="'cols'+&paragraph.table.colcount" alt="Illustration"></img></a></cc:if>
<cc:if cond="&mycol.picture.zoom.isoffsite"><a href="<cc:print value="&mycol.picture.zoom.url">"><cc:printpicture obj="tablepic" suffix="'cols'+&paragraph.table.colcount" alt="Illustration"></img></a></cc:if>
<cc:if cond="&mycol.picture.zoom.isnone"><cc:printpicture obj="tablepic" suffix="'cols'+&paragraph.table.colcount" alt="Illustration"></img></cc:if>
<cc:if cond="&mycol.picture.zoom.ispicture"><cc:picture uid="&mycol.picture.zoom.uid" obj="hugepic"><a href="<cc:printpictureurl obj="hugepic">"><cc:printpicture obj="tablepic" suffix="'cols'+&paragraph.table.colcount" alt="Illustration"></img></a></cc:if>
<cc:if cond="&mycol.picture.zoom.isdownload"><cc:download uid="&mycol.picture.zoom.uid" obj="mydownload"><a href="<cc:print value="&mydownload.url">"><cc:printpicture obj="tablepic" suffix="'cols'+&paragraph.table.colcount" alt="Illustration"></img></a></cc:if>
<cc:else><cc:print value="&mycol.text"></cc:if></td>
</cc:loop>
</tr>
</cc:loop>
</table>


Die Umbrüche sollten nicht geändert werden, damit am Ende der oben gezeigte Code (<td colspan="3"></td>) genauso erscheint und via php-parser eliminiert werden kann.

In das Stylesheet kommen folgende Angaben:

CSS:

/* Tabelle */
table.content {
width: xxxpx; /* eigenen Wert eingeben */
margin: 0px 0px 10px 0px;
border: 1px solid <cc:print value="&usercolor.dark">;
margin: 0;
font-size: 0.8em;
}
tr.odd {clear: both;
background-color : <cc:print value="&usercolor.alt.medium">;
}
tr.even {clear: both;
background-color : <cc:print value="&usercolor.bright">;
}
tr { clear: both;
background-color: <cc:print value="&usercolor.medium">;
}
tr.header {
clear: both;
background-color : <cc:print value="&usercolor.bright">;
font-weight: normal;
}
td.rowheader {
color : <cc:print value="&usercolor.dark">;
background-color : <cc:print value="&usercolor.medium">;
padding: 4px;
margin: 0px;
font-weightx: bold;
vertical-align: middle;
text-align: center;
}
td.headercell {
padding: 4px;
margin: 0px;
vertical-align: top;
text-align: left;
}
td.cell {
padding: 4px;
margin: 0px;
vertical-align: middle;
text-align: left;
}


In w2d eine Tabelle mit drei Spalten und zwei Reihen erstellen, ausserdem Spaltenüberschrift markieren.

Nun können

  • der drei Zellen überspannende Text in die mittlere Spalte der ersten Zeile eingegeben und
  • die drei Grafiken in der zweiten Zeile in jeweils eine Tabellenzelle eingebunden werden.

Mit w2d Cospan in Tabellen einsetzen.

Mit F12 die Seitenvorschau aufrufen - und siehe da, es klappt.



Bitte beachten:
Der so erzeugte Colspan-Effekt greift zukünftig immer, wenn mit dem geänderten Design eine Tabelle mit einer Headerzeile ausgestattet ist. Ansonsten können alle anderen Tabellen wie gewohnt individuell gestaltet werden.

© 2002 - 2012  W. K r a w i k   Stand: 09.03.2012