we:block in Listview: Leeres Feld wird überschrieben

Fragen zum Erstellen von Templates für webEdition.
caboom
Junior Member
Beiträge: 2
Registriert: Mo 15. Mai 2017, 14:17

we:block in Listview: Leeres Feld wird überschrieben

Beitragvon caboom » Mo 15. Mai 2017, 15:43

Hallo Webedition-Gemeinde,

uns beschäftigt gerade ein Problem (aktuellste Webedition-Version). Wir hoffen, dass ihr uns weiterhelfen könnt.

Wir möchten auf einer Seite eine "Listview" ausgeben, die auch auf "<we:block>-Elemente" zugreift. Allerdings wird bei Ausgabe des Blocks innerhalb einer Listview ein leeres Feld mit Inhalten aus dem Feld außerhalb des Blocks "überschrieben".

Unser Artikel-Template (vereinfacht) sieht so aus:

Code: Alles auswählen

<article>
  
  <h1><we:input type="text" name="Headline"/></h1> <!-- Headline außerhalb Block -->
  <we:textarea name="Content"/> <!-- Content außerhalb Block ABC -->
  
  <we:block name="Block">
    <h2><we:input type="text" name="SubHeadline"/></h2> <!--Block-SubHeadline -->
    Content: <we:textarea name="Content"/> <!-- Content innerhalb Block XYZ -->
  </we:block>

</article>

Unser Listview-Template so:

Code: Alles auswählen

<body >
<we:listview type="document" rows="10" offset="0" desc="true"> 
  <we:repeat>
    
    <we:field type="text" name="Headline" type="text"/>
    <we:field type="text" name="Content" type="text"/>
    
    <we:block name="Block">
        <we:field type="text" name="SubHeadline" type="text"/>
        <we:field type="text" name="Content" type="text"/>
    </we:block>
    
  </we:repeat> 
</we:listview>
</body>

Ausgabe Seite Artikel
...mit ausgefüllten Feldern bei zwei "aktivierten" Blöcken, wobei ein Feld im 2. Block leer ist. (Hier funktioniert alles wie gewollt):

Code: Alles auswählen

<article>

<h1>Dies ist die Headline</h1> <!-- we:input name="Headline" -->
Content außerhalb Block ABC <!-- we:textarea name="Content" -->

  <!-- 1. Block -->
  <h2>Block-SubHeadline</h2> <!--we:input type="text" name="SubHeadline" -->
  Content innerhalb Block XYZ<!-- we:textarea name="Content" -->

  <!-- 2. Block -->
  <h2>Zweite Block-SubHeadline</h2> <!--we:input type="text" name="SubHeadline" -->
   LEER <!-- Feld "Content" ist hier leer, keine Eingabe durch Redakteur!! we:textarea name="Content" -->
</article>


Ausgabe Seite mit Listview:

Code: Alles auswählen

<body>
<!-- Hier beginnt die Listview -->

<!-- <we:listview type="document" rows="10" offset="0" desc="true"> -->
  <!-- <we:repeat> -->

    <h1>Dies ist die Headline</h1> <!-- we:input name="Headline" -->
    Content außerhalb Block ABC <!-- we:textarea name="Content" -->

    <!-- 1. Block -->
    <h2>Block-SubHeadline</h2> <!--we:input type="text" name="SubHeadline" -->
    Content innerhalb Block XYZ<!-- we:textarea name="Content" -->

    <!-- 2. Block -->
    <h2>Zweite Block-SubHeadline</h2> <!--we:input type="text" name="SubHeadline" -->
    Content außerhalb Block ABC<!-- Hier ist das Problem -->

    <!-- </we:repeat> -->
  <!-- </we:listview> -->
</body>
Anstatt dass im zweiten Block das Feld der Textarea "Content" leer bleibt, wird hier der Inhalt des Feldes "Content" außerhalb des we.blockes angezeigt. Das Problem könnte sein, dass die Felder innerhalb und außerhalb des Blocks den gleichen Namen haben. Die Variablen scheinen im Block nicht zurückgesetzt zu werden und überschreiben dann das leere Feld. Gibt es hier eine Möglichkeit, dieses Problem irgendwie zu umgehen? Machen wir etwas falsch (Außer dass die Felder die gleichen Namen haben?)

Schon im Voraus besten Dank für eure Hilfe!

Andi Graf

Benutzeravatar
eSKa
Senior Member
Beiträge: 557
Registriert: Do 1. Jan 1970, 02:00

Re: we:block in Listview: Leeres Feld wird überschrieben

Beitragvon eSKa » Mi 17. Mai 2017, 16:41

hier gibt es eine kurze Beschreibung aus der Dokumentation. Vielleicht hilft das weiter.

http://documentation.webedition.org/wik ... t-listview

piXel relations GmbH | Agentur für Online-Kommunikation
Luxemburger Str. 93 | 50354 Hürth
Telefon 0 22 33 / 99 66 81
www.pixelrelations.de | info@pixelrelations.de

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: we:block in Listview: Leeres Feld wird überschrieben

Beitragvon mokraemer » Do 18. Mai 2017, 11:38

Das Problem dürfte durch die gleiche Benennung von Block-Element und dem Element außerhalb entstehen. Da we:field per se keine Blöcke kennt und auch für den Zugriff auf Objekte benutzt wird, teilweise dies auch gemischt wird, sucht we:field bis es Inhalt mit dem Namen findet.
webEdition-Kern-Entwickler

caboom
Junior Member
Beiträge: 2
Registriert: Mo 15. Mai 2017, 14:17

Re: we:block in Listview: Leeres Feld wird überschrieben

Beitragvon caboom » Fr 19. Mai 2017, 12:00

Danke für die Antworten!

Dass es an der gleichen Benennung liegt, hatte ich befürchtet. Gibt es irgendeine Möglichkeit, das Problem zu umgehen?


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

Wer ist online?

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