Blätterbare Artikelliste?
Och, nicht viel. Man muss nur ein LIMIT einfügen. Dann über einen URL-Parameter den nächsten Anfangswert übergeben. Ein paar entsprechende Links beifügen (Vor/Zurück), die den Parameter enthalten.
Dann muss man den Parameter beim Aufruf des Moduls überprüfen (damit man keinen Murx einschleusen kann), das ins Limit einfügen und schon wäre man fertig.
Es ist doch einiges an Arbeit.
Gruß
HerrB
Dann muss man den Parameter beim Aufruf des Moduls überprüfen (damit man keinen Murx einschleusen kann), das ins Limit einfügen und schon wäre man fertig.
Es ist doch einiges an Arbeit.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Mir fehlt die Zeit, sonst würde ich euch das sofort gerne stricken. Ich habe noch einen Auftrag für kommendes Wochenende, vielleicht fällt das mit ab...
Na ja und einen HTML-Newsletter wird ja auch gewünscht und keine Bugs mehr usw. usw. usw....
Gruß
HerrB

Na ja und einen HTML-Newsletter wird ja auch gewünscht und keine Bugs mehr usw. usw. usw....

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
-
- Beiträge: 1536
- Registriert: Fr 20. Aug 2004, 10:07
- Kontaktdaten:
Wenn Du mir die Zeit gibst, gibts das umsonst. Es ist echt nur ein Zeitproblem.
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Wir hatten etwas mehr Zeit ...
Moin!
Da wir im Kundenauftrag exakt eine solche Artikelliste benötigten - hier für die gesamte Community das Ergebnis (Der Kunde war so freundlich es freizugeben)!

Achja, es sind beide Funktionsmöglichkeiten eingebaut. Ihr könnt blättern und direkt über eine Seitenangabe navigieren. Im Inputmodul kann die Vor/Zurück Navigation deaktiviert werden und auch die Anzahl der Artikel pro Seite angegeben werden.
Modulinput
Moduloutput
Wir haben das Template (/templates/teaser-standard.html) ebenfalls noch angepasst - für den, der es gebrauchen kann:
Hier der passende CSS-Schnippsel:
Ach, übrigens: Clemens Koch - unser Programmierer - sprach von wirklich gutem Handwerk, was die Programmierung des Ursprungsmoduls (News aus 4.6.4) anbelangt. In seinem Namen also ein - "Respekt" an den Entwickler Andreas Lindner 
Da wir im Kundenauftrag exakt eine solche Artikelliste benötigten - hier für die gesamte Community das Ergebnis (Der Kunde war so freundlich es freizugeben)!

Achja, es sind beide Funktionsmöglichkeiten eingebaut. Ihr könnt blättern und direkt über eine Seitenangabe navigieren. Im Inputmodul kann die Vor/Zurück Navigation deaktiviert werden und auch die Anzahl der Artikel pro Seite angegeben werden.
Modulinput
Code: Alles auswählen
?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : News
* Author(s) : Andreas Lindner, 4fb
* Copyright : Contenido - four for business, Andreas Lindner
* Created : 12.08.2005
* Modified : Clemens Koch, OWLweb (added page & browsing support)
* Date : 20.01.2006
************************************************/
#Select category
$cms_idcat = "CMS_VALUE[1]";
echo '<table cellpadding="0" cellspacing="0" border="0">';
echo '
<tr><td class="text_medium" style="padding:5px">Kategorie wählen: </td></tr>
<tr><td class="text_medium" style="padding:5px">';
echo buildCategorySelect("CMS_VAR[1]", "CMS_VALUE[1]");
echo ' <input type="image" src="images/submit.gif">';
echo '</td></tr>';
#Select sort field and sort order
$sortdate = 'checked';
$cms_imgsize = "CMS_VALUE[14]";
$cms_limit_articles = "CMS_VALUE[15]";
$cms_sort_direction = "CMS_VALUE[16]";
$cms_limit_articles_per_page = "CMS_VALUE[20]";
if ("CMS_VALUE[21]" != ""){
$browse = "checked";
}
if ("CMS_VALUE[17]" != '') {
$cms_include_start_article = ' checked';
} else {
$cms_include_start_article = '';
}
if ("CMS_VALUE[3]" == 'sortdate') {
$sortdate = 'checked';
$sortnum = '';
}
elseif ("CMS_VALUE[3]" == 'sortnum') {
$sortdate = '';
$sortnum = 'checked';
}
echo '
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Sortierung nach Datum").':</td>
<td style="padding:5px;"><input type="radio" name="CMS_VAR[3]" value="sortdate" '.$sortdate.'></td>
</tr>
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Sortierung nach Nummer").':</td>
<td style="padding:5px;"><input type="radio" name="CMS_VAR[3]" value="sortnum" '.$sortnum.'></td>
</tr>
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Sortierung aufsteigend").':</td>
<td style="padding:5px;">';
if (strtolower($cms_sort_direction) == 'desc') {
echo '<input type="radio" name="CMS_VAR[16]" value="asc"/>';
} else {
echo '<input type="radio" name="CMS_VAR[16]" value="asc" checked/>';
}
echo '</td>
</tr>
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Sortierung absteigend").':</td>
<td style="padding:5px;">';
if (strtolower($cms_sort_direction) == 'desc') {
echo '<input type="radio" name="CMS_VAR[16]" value="desc" checked/>';
} else {
echo '<input type="radio" name="CMS_VAR[16]" value="desc"/>';
}
echo '</td>
</tr>';
$noimg = '';
if ("CMS_VALUE[13]" == 'true') {
$noimg = 'checked';
}
#Headline
echo '
<tr><td class="text_medium" style="padding:5px;">'.mi18n("Überschrift").': </td></tr>
<tr><td style="padding:5px;"><input type="text" name="CMS_VAR[4]" value="CMS_VALUE[4]"></td></tr>
<tr>
<td colspan="2" class="text_medium" style="padding:5px;"><b><u>'.mi18n("Bild für Teaser").':</u></b></td>
</tr>
<tr>
<td colspan="2" class="text_medium" style="padding:5px;">'.mi18n("Es wird das erste Bild des Artikels angezeigt.").'</td>
</tr>';
#Image width
echo '
<tr><td class="text_medium" style="padding:5px;">'.mi18n("Bildbreite").': </td></tr>
<tr><td style="padding:5px;"><input type="text" name="CMS_VAR[14]" value="'.$cms_imgsize.'" maxlength="3"></td></tr>';
#Disable images
echo '
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Kein Bild anzeigen").':</td>
<td style="padding:5px;"><input type="checkbox" name="CMS_VAR[13]" value="true" '.$noimg.'></td>
</tr>';
#Number of articles
echo '
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Anzahl Artikel begrenzen").':</td>
<td style="padding:5px;"><input type="text" name="CMS_VAR[15]" value="'.$cms_limit_articles.'"></td>
</tr>';
#browsing?
echo '
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Blätterfkt?").':</td>
<td style="padding:5px;"><input type="checkbox" name="CMS_VAR[21]" value="true" '. $browse . '></td>
</tr>';
#Number of articles per page
echo '
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Artikel pro seite").':</td>
<td style="padding:5px;"><input type="text" name="CMS_VAR[20]" value="'.$cms_limit_articles_per_page.'"></td>
</tr>';
#Include start article
echo '
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Startartikel in Liste einbeziehen").':</td>
<td style="padding:5px;"><input type="text" name="CMS_VAR[17]" value="yes"'.$cms_include_start_article.'></td>
</tr>';
echo '</table>';
?><?php
Moduloutput
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : News
* Author(s) : Andreas Lindner, 4fb
* Copyright : Contenido - four for business, Andreas Lindner
* Created : 12.08.2005
* Modified : Clemens Koch, OWLweb (added page & browsing support)
* Date : 20.01.2006
************************************************/
cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');
if (!is_object($tpl)) {
$tpl = new Template;
}
$aperpage = "CMS_VALUE[20]";
if ("CMS_VALUE[21]" != "") {
$browse = true;
} else {
$browse = false;
}
if ($aperpage == '') {
$aperpage = 1000;
}
$pages = 0;
if (!isset ($_GET["p"])) {
$page = 1;
} else {
$page = $_GET["p"];
}
$tpl->reset();
$sql = "SELECT
htmlpath, frontendpath
FROM
".$cfg["tab"]["clients"]."
WHERE
idclient = ".$client." ";
$db->query($sql);
if ($db->next_record()) {
$htmlpath = $db->f('htmlpath');
$frontendpath = $db->f('frontendpath');
}
// selected category
$selcat = "CMS_VALUE[1]";
//echo "sel $selcat<br>";
$template = "teaser-standard.html";
//echo "tpl $template<br>";
// anzahl der zeichen text
$mxtext = 110;
$limit = "CMS_VALUE[15]";
$cms_sort_direction = "CMS_VALUE[16]";
if ($cms_sort_direction == '') {
$cms_sort_direction = 'desc';
}
if ("CMS_VALUE[3]" == "sortdate") {
$order = 'lastmodified';
} else {
$order = 'artsort';
}
$newsheadline = "CMS_VALUE[4]";
$tpl->set('s', 'TITLE', $newsheadline);
if (strlen($selcat) > 0 AND $selcat != '0') {
$options = array ('idcat' => $selcat, "start" => false, "order" => $order, "direction" => $cms_sort_direction);
$list = new ArticleCollection($options);
$count = $list->count;
if ($count > 0) {
if (is_numeric($limit) AND strlen($limit) > 0) {
if ($limit < $list->count) {
$limit_art = $limit;
} else {
$limit_art = $list->count;
}
} else {
$limit_art = $list->count;
}
for ($i = 0; $i < $limit_art; $i ++) {
if (($i % $aperpage) == 0) {
$pages = $pages +1;
}
$article = $list->nextArticle();
if ($pages == $page) {
$article_id = $article->getField('idart');
$teaser_img = '';
if ($noimg != 'true') {
$text_html = $article->getContent('CMS_HTML', 1);
$regEx = "/<img[^>]*?>.*?/i";
$match = array ();
preg_match($regEx, $text_html, $match);
$regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
$img = array ();
preg_match($regEx, $match[0], $img);
$img_src = preg_split("/\//", $img[0]);
$img_name = $img_src[count($img_src) - 1];
$img_name = preg_replace("/\"/", "", $img_name);
$img_split = preg_split("/\./", $img_name);
$img_type = $img_split[count($img_split) - 1];
$img_split2 = preg_split("/_/", $img_split[0]);
$name = $img_name;
if (count($img_split2) > 1) {
$img_x = $img_split2[count($img_split2) - 1];
$img_y = $img_split2[count($img_split2) - 2];
if (is_numeric($img_x) AND is_numeric($img_y)) {
$suffix = "_".$img_x."_".$img_y.".".$img_type;
$name = preg_replace("/$suffix/", "", $img_name);
$name = $name.".[a-zA-Z]{3}";
}
}
$img_teaser = '';
if (strlen($name) > 0) {
$sql = "SELECT
*
FROM
".$cfg["tab"]["upl"]."
WHERE
filename REGEXP '$name' ";
//echo "<pre>"; print_r($sql); echo "</pre>";
$db->query($sql);
if ($db->next_record()) {
$filename = $db->f('filename');
$dirname = $db->f('dirname');
}
$img_path = $cfgClient[$client]["upl"]["path"].$dirname.$filename;
$img_size = "CMS_VALUE[14]";
$img_teaser = capiImgScale($img_path, $img_size, $img_size, $crop = false, $expand = false, $cacheTime = 1000, $wantHQ = false);
} // end if strlen
if (strlen($img_teaser) > 0) {
$teaser_img = '<img src="'.$img_teaser.'" class="teaser_img">';
} else {
$teaser_img = '';
}
} // end if noimg
$headline = strip_tags($article->getContent('CMS_HTMLHEAD', 1));
$headline = str_replace($replace, " ", $headline);
/* $subheadline = strip_tags($article->getContent('CMS_HTMLHEAD', 2));
$subheadline = str_replace($replace, " ", $subheadline);*/
$teaserheadline = /*$subheadline." - ".*/
$headline;
$href = $sess->url("front_content.php?idcat=$selcat&idart=$article_id");
$teasertext = $article->getField('summary');
if (strlen(trim($teasertext)) == 0) {
$teasertext = strip_tags($article->getContent('CMS_HTML', 1));
$teasertext2 = $teasertext;
$teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
if ($teasertext != $teasertext2) {
$teasertext .= '...';
}
} // end if
$teasertext = $teasertext." ".$next;
$tpl->set('d', 'HEADLINE', $teaserheadline);
$tpl->set('d', 'TEXT', $teasertext);
$tpl->set('d', 'HREF', $href);
$tpl->set('d', 'IMG', $teaser_img);
$tpl->set('d', 'MORE', mi18n("mehr"));
$tpl->next();
}
} // end for
$tpl->generate('templates/'.$template);
$selcat = $_GET["idcat"];
if ($pages != 1) {
$prev = $page -1;
$next = $page +1;
echo "<table><tr><td>";
if ($page > 1 && $browse) {
$href = $sess->url("front_content.php?idcat=$selcat&p=$prev");
echo "<a href=\"".$href."\">zurück</a></td><td>";
}
for ($j = 1; $j < $pages +1; $j ++) {
$href = $sess->url("front_content.php?idcat=$selcat&p=$j");
if ($j == $page) {
echo "[<b>".$j."</b>]";
} else {
echo "[<a href=\"".$href."\">".$j."</a>]";
}
}
echo "</td>";
if (($pages - $page) != 0 && $browse) {
$href = $sess->url("front_content.php?idcat=$selcat&p=$next");
echo "<td><a href=\"".$href."\">vor</a></td>";
}
echo "</tr></table>";
}
}
}
?>
Code: Alles auswählen
<!-- BEGIN:BLOCK -->
<div class="subheader">
<div class="nl"><a class="newslink" href="{HREF}">{HEADLINE}</a></div>
<div class="nimg">{IMG}</div>
<div class="ntext">{TEXT}</div>
<div class="nt">
<a href={HREF}><img src="PFAD/img/pfeil_kl.gif" alt="..." border="0" /></a>
<a class="newsteaser" href="{HREF}">{MORE}</a>
</div><br>
</div>
<!-- END:BLOCK -->
Code: Alles auswählen
div.nl { color: #333; font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 23px; text-transform: lowercase; height: 23px; display: block; }
div.nimg{ margin-right: 5px; padding-top: 2px; padding-bottom: 2px; }
div.ntext { font-size: 11px; font-family: Arial, Helvetica, sans-serif; width: 90%; padding-top: 2px; padding-right: 2px; padding-left: 15px; }
div.nt { line-height: 20px; width: 99%; padding-top: 2px; padding-bottom: 3px; }
a:link.newsteaser,a:active.newsteaser,a:visited.newsteaser { color: gray; font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; text-decoration: none; padding-left: 8px; }
a:hover.newsteaser { color: black; font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif;

Zuletzt geändert von timdubi am Mo 23. Jan 2006, 06:54, insgesamt 1-mal geändert.
Thomas
Re: Wir hatten etwas mehr Zeit ...
Was passiert bei 1000 Seiten?timdubi hat geschrieben:
Gute wäre eine solche Navigation:
"Gehe zu Seite 1, 2, 3 ... 83, 84, 85 Weiter"
Das kennt man ja aus Foren.
Re: Wir hatten etwas mehr Zeit ...
Das "Weiter" gibts ja - heist nur "vor" ...i-fekt hat geschrieben:Was passiert bei 1000 Seiten?timdubi hat geschrieben:
Gute wäre eine solche Navigation:
"Gehe zu Seite 1, 2, 3 ... 83, 84, 85 Weiter"
Das kennt man ja aus Foren.
Und wenns zu viele Seiten werden, einfach die Direktanwahl im Code deaktivieren, bzw. Seitenbereiche im Code hinzufügen ...
Thomas
-
- Beiträge: 62
- Registriert: Fr 23. Sep 2005, 12:42
- Kontaktdaten:
Hi,
bei mir wirft er dort, wo die Artikel aufgelistet werden sollten immer nur "templates/teaser-standard1.html" aus - und sonst nix - woran mag das liegen?
Die Blätterfunktion ist richtig zu sehen - unter dem obigen Schriftzug...
Und im Input kann ich bei "Startartikel in Liste einbeziehen:" das yes nicht in ein no ändern...
ich hoffe, ihr könnt mir helfen - die Liste sieht sich sonst toll an
bei mir wirft er dort, wo die Artikel aufgelistet werden sollten immer nur "templates/teaser-standard1.html" aus - und sonst nix - woran mag das liegen?
Die Blätterfunktion ist richtig zu sehen - unter dem obigen Schriftzug...
Und im Input kann ich bei "Startartikel in Liste einbeziehen:" das yes nicht in ein no ändern...
ich hoffe, ihr könnt mir helfen - die Liste sieht sich sonst toll an

Viele Grüße
Ingo
Contenido 4.6.8
Ingo
Contenido 4.6.8
Vermutlich fehlt Dir die Datei im <Mandanten>/templates-Verzeichnis, siehe Style -> HTML Editor.
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
-
- Beiträge: 62
- Registriert: Fr 23. Sep 2005, 12:42
- Kontaktdaten:
Waren auch zu viele Hinweise, ich gebe es zu. 
Also:
1. Du meldest Dich bei Contenido an
2. Du klickst auf Style
3. Du klickst auf HTML Editor (ganz rechts)
4. Du stellst fest, dass Dir die Datei teaser-standard1.html fehlt
5. Du besorgst Dir das Contenido 4.6.4-Paket
6. Du erzeugst bei Style -> HTML Editor ein neues Template und nennst es teaser-standard1.html
7. Du kopierst den Inhalt aus cms/templates/teaser-standard1.html in das entsprechende Feld bei Style -> HTML Editor
8. Du speicherst die Änderungen
9. Fehler (vermutlich) weg...
(Kleiner Scherz...
)
Gruß
HerrB

Also:
1. Du meldest Dich bei Contenido an
2. Du klickst auf Style
3. Du klickst auf HTML Editor (ganz rechts)
4. Du stellst fest, dass Dir die Datei teaser-standard1.html fehlt
5. Du besorgst Dir das Contenido 4.6.4-Paket
6. Du erzeugst bei Style -> HTML Editor ein neues Template und nennst es teaser-standard1.html
7. Du kopierst den Inhalt aus cms/templates/teaser-standard1.html in das entsprechende Feld bei Style -> HTML Editor
8. Du speicherst die Änderungen
9. Fehler (vermutlich) weg...
(Kleiner Scherz...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Sorry - wir haben ein anderes Template für dieses Modul erstellt, dass hatte ich vergessen zu erwähnen. Alternativ kannst Du auch zur Lösung von HerrB im Outputcode die Zeilere-flexion hat geschrieben:Hi,
bei mir wirft er dort, wo die Artikel aufgelistet werden sollten immer nur "templates/teaser-standard1.html" aus
Code: Alles auswählen
$template = "teaser-standard1.html";
Code: Alles auswählen
$template = "teaser-standard.html";
Funktioniert aber alles NUR mit der 4.6.x,
Thomas