News und Kommentare in verschiedenen Layoutbereichen: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Die Seite wurde neu angelegt: „Category:Dev_Snippets {{AppliesTo |Version=ab 2.9 }} =Basiert auf:= root/system/module/news/templates/mod_newsreader.tpl (Contao 2.9.1) ==Kurzbeschreibung…“)
(kein Unterschied)

Version vom 18. September 2010, 19:42 Uhr


betrifft
Contao Version ab 2.9


Basiert auf:

root/system/module/news/templates/mod_newsreader.tpl (Contao 2.9.1)

Kurzbeschreibung:

Eröffnet die Möglichkeit die Kommentare und das Formular von den News zu trennen und in einem anderen Layoutbereich zu präsentieren, z.B. in der rechten Spalte.

Ausführliche Beschreibung/Sonstige Infos:

Hier das mod_newsreader.tpl leicht modifiziert, natürlich nicht im Core, sondern eine Kopie im Ordner roots/templates/

 <!-- Nächster Block nicht im Reader mit der Klasse comments-only -->
<?php   if(strpos($this->class, 'comments-only') === false): ?>
<div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
<?php if ($this->headline): ?>

<<?php echo $this->hl; ?>><?php echo $this->headline; ?></<?php echo $this->hl; ?>>
<?php endif; ?>
<?php echo $this->articles; ?>

<!-- indexer::stop -->
<p class="back"><a href="<?php echo $this->referer; ?>" title="<?php echo $this->back; ?>"><?php echo $this->back; ?></a></p>
<!-- indexer::continue -->
<?php endif; ?>
<!-- Nächster Block nicht im Reader mit der Klasse comments-only - ENDE -->

<!-- Nächster Block nicht im Reader mit der Klasse news-only -->
<?php   if(strpos($this->class, 'news-only') === false): ?>

<?php if ($this->allowComments && ($this->comments || !$this->requireLogin)): ?>

<div class="ce_comments block">

<<?php echo $this->hlc; ?>><?php echo $this->addComment; ?></<?php echo $this->hlc; ?>>
<?php foreach ($this->comments as $comment) echo $comment; ?>
<?php echo $this->pagination; ?>
<?php if (!$this->requireLogin): ?>

<!-- indexer::stop -->
<div class="form">
<?php if ($this->confirm): ?>

<p class="confirm"><?php echo $this->confirm; ?></p>
<?php else: ?>

<form action="<?php echo $this->action; ?>" id="<?php echo $this->formId; ?>" method="post">
<div class="formbody">
<input type="hidden" name="FORM_SUBMIT" value="<?php echo $this->formId; ?>" />
<div class="widget">
  <?php echo $this->fields['name']->generateWithError(); ?> <?php echo $this->fields['name']->generateLabel(); ?> 
</div>
<div class="widget">
  <?php echo $this->fields['email']->generateWithError(); ?> <?php echo $this->fields['email']->generateLabel(); ?> 
</div>
<div class="widget">
  <?php echo $this->fields['website']->generateWithError(); ?> <?php echo $this->fields['website']->generateLabel(); ?> 
</div>
<?php if (isset($this->fields['captcha'])): ?>
<div class="widget">
  <?php echo $this->fields['captcha']->generateWithError(); ?> <label for="ctrl_captcha"><?php echo $this->fields['captcha']->generateQuestion(); ?><span class="mandatory">*</span></label>
</div>
<?php endif; ?>
<div class="widget">
  <?php echo $this->fields['comment']->generateWithError(); ?> <label for="ctrl_<?php echo $this->fields['comment']->id; ?>" class="invisible"><?php echo $this->fields['comment']->label; ?></label>
</div>
<div class="submit_container">
  <input type="submit" class="submit" value="<?php echo $this->submit; ?>" />
</div>
</div>
</form>
<?php if ($this->hasError): ?>

<script type="text/javascript">
<!--//--><![CDATA[//><!--
window.scrollTo(null, ($('<?php echo $this->formId; ?>').getElement('p.error').getPosition().y - 20));
//--><!]]>
</script>
<?php endif; ?>
<?php endif; ?>

</div>
<!-- indexer::continue -->
<?php endif; ?>

</div>
<?php endif; ?>
<?php endif; ?>
<!-- Nächster Block nicht im Reader mit der Klasse news-only - ENDE -->


<!-- Nächster Block nicht im Reader mit der Klasse comments-only -->
<?php   if(strpos($this->class, 'comments-only') === false): ?>

</div>
<?php endif; ?>
<!-- Nächster Block nicht im Reader mit der Klasse comments-only - ENDE -->

Ich habe nur IF-Abfragen mit den entsprechenden ENDIFs eingefügt. Habe einen HTML-Kommentar dazu geschrieben, kann man natürlich entfernen. Vergibt man keine Klassen, funktioniert das Template wie im Original (Contao 2.9.1).

Jetzt noch den Artikel mit dem Newsreader kopieren, einfügen und den neuen auf rechte Spalte einstellen. Jetzt noch den Inhaltselementen dieser Artikel die Klassen news-only und comments-only mitgeben. Alles so, wie in den Screenshots zu sehen ist.

Die Funktion einen Kommentar hinzuzufügen funktioniert einwandfrei.



Freundlicherweise zur Verfügung gestellt von Andreas Burg burgtech (http://andreasburg.de/)

Ansichten
Meine Werkzeuge

Contao Community Documentation

<user> Composer meckert bei Isotope, dass er mit tablelookupwizard 3.1 nicht zurecht kommt - korrekt?
<Toflar> keine Ahnung, sowas weiss ich doch nicht auswendig :D
<user> wer dann ;)
<Toflar> na niemand, deswegen schreibt man's ja in die composer.json

Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge