we:ifNotEmpty

Fragen zum Erstellen von Templates für webEdition.
ElPanico

Beitragvon ElPanico » Mo 16. Sep 2002, 13:13

Ich habe ein Template mit 3 Tabellen erstellt. Falls aber nur eine Tabelle gebraucht wird sollen alle anderen nicht sichtbar sein. Sieht so aus:

<we:ifNotEmpty match="Tabelle1"><table width="600" border="1" cellpadding="3" bordercolor="#0000FF">
<tr align="left" valign="top">
<td width="100"><we:img name="Bild"/><we:ifEditmode></we:ifEditmode></td>
<td><we:textarea name="Content" cols="80" rows="20" autobr="on" dhtmledit="on" showMenues="on"/></td>
<td><we:textarea name="Content0" cols="80" rows="20" autobr="on" dhtmledit="on" showMenues="on"/></td>
</tr>
</table></we:ifNotEmpty>

Aber trotz das eine Tabelle mit Text und Bild gefüllt ist, ist auch diese Tabelle anschliessend nicht sichtbar, wo liegt der Fehler?

Danke für Hilfe
El

<font size=-1>[ Diese Nachricht wurde ge<auml;ndert von: ElPanico am 2002-09-16 13:28 ]</font>

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Beitragvon Dirk Einecke » Mo 16. Sep 2002, 14:13

Hi.

Bei dem we:ifNotEmpty beziehen Sie sich ja auf ein Feld "match="Tabelle1" .... dieses existiert in Ihrem geposteten Quellcode nicht, also kann es auch nicht funktionieren.

ElPanico

Beitragvon ElPanico » Di 17. Sep 2002, 09:10

Hallo,

vielen Dank für die Antwort, aber wie sollte dann der Code aussehen?

Funktioniert überhaupt die Möglichkeit, die Tabelle zu verbergen, wenn Sie nicht gefüllt ist?

Bitte einen etwas detailierteren Hinweis, falls das nicht zu viel wird.

Danke
El

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Beitragvon Dirk Einecke » Di 17. Sep 2002, 11:13

Hi.

Am einfachsten können Sie das Problem mit eine Checkbox erledigen. Wenn die Tabelle angezeigt werden soll, dann aktiviert der Redakteur einfach die Checkbox über der Tabelle. Der Coe dafür würde dann so aussehen:

<we:ifEditmode>
Diese Tabelle anzeigen: <we:input name="Tabelle1" type="checkbox"/>
</we:ifEditmode>

<we:ifNotEmpty match="Tabelle1">
<table width="600" border="1" cellpadding="3" bordercolor="#0000FF">
<tr align="left" valign="top">
<td width="100"><we:img name="Bild"/><we:ifEditmode></we:ifEditmode></td>
<td><we:textarea name="Content" cols="80" rows="20" autobr="on" dhtmledit="on" showMenues="on"/></td>
<td><we:textarea name="Content0" cols="80" rows="20" autobr="on" dhtmledit="on" showMenues="on"/></td>
</tr>
</table>
</we:ifNotEmpty>

ElPanico

Beitragvon ElPanico » Di 17. Sep 2002, 11:31

Jauw Danke,

hab´s ausprobiert und funktioniert super(!), obwohl ich eigentlich an einen Automatismus gedacht hatte, wenn Tabelle gefüllt, dann anzeigen, aber es geht auch so.

Danke
El

<font size=-1>[ Diese Nachricht wurde ge<auml;ndert von: ElPanico am 2002-09-17 11:32 ]</font>

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Beitragvon Dirk Einecke » Di 17. Sep 2002, 12:28

Hi.

Wenn man es automatisieren möchte, dann ist das etwas umständlicher, da man hier direkt mit PHP arbeiten muss. Das würde dann etwa so aussehen:

<we:ifEditmode>
<table width="600" border="1" cellpadding="3" bordercolor="#0000FF">
<tr align="left" valign="top">
<td width="100"><we:img name="Bild"/><we:ifEditmode></we:ifEditmode></td>
<td><we:textarea name="Content" cols="80" rows="20" autobr="on" dhtmledit="on" showMenues="on"/></td>
<td><we:textarea name="Content0" cols="80" rows="20" autobr="on" dhtmledit="on" showMenues="on"/></td>
</tr>
</table>
</we:ifEditmode>

<we:ifNotEditmode>
<?php
$Text1 = $we_doc->getElement("Content");
$Text2 = $we_doc->getElement("Content0");
if(($Text1 != "") && ($Text2 != "")):
?>
<table width="600" border="1" cellpadding="3" bordercolor="#0000FF">
<tr align="left" valign="top">
<td width="100"><we:img name="Bild"/></td>
<td><we:textarea name="Content" cols="80" rows="20" autobr="on" dhtmledit="on" showMenues="on"/></td>
<td><we:textarea name="Content0" cols="80" rows="20" autobr="on" dhtmledit="on" showMenues="on"/></td>
</tr>
</table>
<?php endif; ?>
</we:ifNotEditmode>

Man muss die Tabelle 2mal machen, damit man nach der ersten (die nur im Edit-Mode zu sehen ist) abfragen kann, ob dieese gefüllt ist oder nicht umd dann die zweite Tabelle (die nicht im Edit-Mode zu sehen ist) angezeigt werden soll oder nicht. Ich denke, dass es mit der Checkbox wesentlich einfacher ist. Zumal muss man ja auch beachten, dass eine we:texarea die scheinbar leer ist nicht unbedingt auch leer sein muss. Wenn man nun mal in eine leere Textarea "Enter" druckt und dann wieder "Backspace", dann ist die Texarea scheinbar leer. Schaut man sich dann aber mal den Quelltext dieser an (Klick auf das Stiftsymbaol im Menü), dann sieht man, dass noch etwas din ist. Mit der Checkbox ist es also sehr viel eindeutiger.

ElPanico

Beitragvon ElPanico » Di 17. Sep 2002, 12:53

Hallo Herr Einecke,

ja Sie haben Recht, es ist so eine saubere Lösung und funktioniert auch gut, ich wollte es den Redakteuren etwas einfacher machen, wie schnell vergisst man das Aktivieren mit einem Häckchen!?

Trotzdem vielen Dank für Ihre Hilfe!

Gruß
El :smile:

<font size=-1>[ Diese Nachricht wurde ge<auml;ndert von: ElPanico am 2002-09-17 12:53 ]</font>


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 44 Gäste