hi communtiy,
ist es irgendwie möglich die Anzahl der Einträge einer Nachrichtenliste innerhalb der zugehörigen Templates zu ermitteln? (z.B. news_simple.tpl)
sowas in der art von $this->total oder so..
gruss
ways
hi communtiy,
ist es irgendwie möglich die Anzahl der Einträge einer Nachrichtenliste innerhalb der zugehörigen Templates zu ermitteln? (z.B. news_simple.tpl)
sowas in der art von $this->total oder so..
gruss
ways
Eine einfache Zählvariable sollte es tun, die du nach jeder ausgegebenen Nachricht um 1 erhöhst.
Sent from my iPhone using Tapatalk
http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.
Hallo,
die News-Beiträge werden in einem PHP-Array abgelegt, welches im Template "mod_newslist.tpl" in Zeile 11 durchlaufen wird:
Die Anzahl der Einträge in diesem Array kannst du einfach mittels der PHP-Funktion "count" ermittel, also etwa so:PHP-Code:
<?php foreach($this->articles as $article) echo $article; ?>
Oder du legst dir die Anzahl der Einträge in eine eigene VariablePHP-Code:
echo count($this->articles) . ' Newseinträge aktuell';
So kannst du die Anzahl der Newsbeiträge ermitteln auch ohne sie anzeigen zu lassen.PHP-Code:
$news-items = count($this->articles);
Hoffe geholfen zu haben ;-)
Cheerio,
Alex
trilobit GmbH
http://www.trilobit.de
ich danke erst mal für eure Antworten.
das mit dem echo count($this->articles) ist natürlich eine gute Möglichkeiten, das Problem an sich ist halt, dass ich die Anzahl nur im template news_simple.php benötige.
denn ich wollte aus dem template ein <ul> erzeugen... das hätte ich vielleicht erwähnen sollen.
Der einzige weg ist wohl eine klassenabfrage im mod_news.tpl zu setzen und die ausgabe dann zu steuern, da ich die anzhal der news nicht im news_simple ermitteln kann wie es aussieht.
dafür dank an lindesbsPHP-Code:
if ($this->class== 'classname') echo "<ul>";
foreach($this->articles as $article) echo $article;
if ($this->classname== 'UL') echo "</ul>";
viele Grüße
ways
Ich fürchte ich verstehe nicht ganz, was genau du machen möchtest. Wie, erhoffst du dir, wird das ganze dann aussehen?
Angenommen wir haben 3 News-Einträge, was soll das Konstrukt dann machen? Sowas hier:
???HTML-Code:<ul> <li>News 1</li> <li>News 2</li> <li>News 3</li> </ul>
Cheerio,
Alex
trilobit GmbH
http://www.trilobit.de
Hi Alex,
ja genau, das möchte ich erreichen.
dafür hätte ich, wenns einfach nur in dem ausgewählten Template (news_simple.tpl) passieren soll, die Anzahl der News gebraucht um ein öffnendes und schließendes ul zu erzeugen
Aber das geht wohl nicht.. daher muss ich das modul template mod_news.tpl bearbeiten.
ich habe das nun so gelöst:
dafür muss ich modul nachrichtenliste halt die css klasse "KLASSENNAME" vergeben..PHP-Code:
<?php if(in_array('KLASSENNAME', explode(' ', $this->class))) {echo "<ul class=\"blabla\">";} ?>
<?php foreach($this->articles as $article) echo $article; ?>
<?php if(in_array('KLASSENNAME', explode(' ', $this->class))) {echo "</ul>";} ?>
alles nicht schön.. aber bisher der einzige weg, dass nur mein news_simple.tpl ein <ul> erhält und andere templates davon unberührt bleiben.
gruss
olli
?
Aus dem Grund gibt es doch Templates. Erstell doch einfach eine Kopie vom news_simple, nenne es um, bearbeite es, wähle es in deinem Newsliste Modul aus.
Eine ul List kannst du auch viel einfacher erzeugen.
Einfach in das umschließende div ein ul umschließen und die divs der newsbeträge in li ändern.
Sent from my iPhone using Tapatalk
http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.
dann hast du nie in die news template geschaut! das news_simple wird durch eine schleife geführt, dass nicht in der news_simple liegt, sonern in dem übergeordneten mod_news.
somit wäre bei jedem news eintrag ein eigenständiges <ul> ...</ul> hätte ich also 20 einträge, wären es 20 ul´s !
und genau das ist das Problem, sowas kann niemand wollen und ich will so ein ramschcode auch nicht in meiner seite haben
und das mod_news.tpl lässt sich nicht auswählen... sondern nur die templates zur Darstellung.
grus
ways
hast recht. Ich war mal wieder beim catalog
na dann ne Template-Weiche im mod_newslist.tpl setzen.
Ich habs dir mal schnell gebaut:
Du musst eigentlich nur noch sagen auf welcher Seite die gesonderte Darstellung eingesetzt werden soll. Bei mir war es gerade die 78.
Wenn er nicht auf dieser Seite ist, nutzt er das normale Schema.
Dann baut er dir eine unsorted List um die News und mit ein bissel str_replace noch aus den <div> <li> machen.
Die Gesamtanzahl an Eintragen kommt, wie oben erwähnt, mit count($this->articles).
Grüße,PHP-Code:
<?php
/**
* Template switcher for mod_newslist
* Switch reacts to page id
*/
global $objPage;
$page_alias = $objPage->alias;
$page_id = $objPage->id;
?>
<?php if($page_id == 78): ?>
<!-- indexer::stop -->
<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; ?>
<div class="total">Anzahl News:<?php echo count($this->articles); ?></div>
<ul class="newslist">
<?php
foreach($this->articles as $article)
{
// replace <div with <li
// can also be done with preg_replace
$tmp = str_replace('<div', '<li', $article);
$article = str_replace('/div', '/li', $tmp);
echo $article;
}
?>
</ul>
<?php echo $this->pagination; ?>
</div>
<!-- indexer::continue -->
<?php else: ?>
<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
foreach($this->articles as $article)
{
echo $article;
}
?>
</ul>
<?php echo $this->pagination; ?>
</div>
<!-- indexer::continue -->
<?php endif; ?>
Tim
http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.
hehe... die catalogisten wieder
alles klar.. werd ich mir mal anschauen, mit meiner Lösung nach id bin ich zwar zufrieden... aber ist ja nun mal nicht das gelbe vom ei..
wäre da lieber flexibler.. aber vielleicht ist dein Ansatz ja viel besser...
erst mal unter die lupe nehmen
danke schom mal
gruss
Olli
Kannst ja auch nach einer Klasse den switch setzen. Das schon recht flexibel,
Oder aus welchem Archiv die News kommen
Sent from my iPhone using Tapatalk
Geändert von Tim G (29.07.2011 um 15:03 Uhr)
http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)