Ich setze gerade folgende Seite in Contenido um (ist halt meine erste Seite in Contenido)
http://www.sus-o.de/test/
Nun möchte ich, dass die News halt so dargestellt werden wie in der genannten Seite. Leider weiß ich nicht, wie ich das in Contenido umsetzen kann. Mit der Standard-Newsliste komme ich ja wohl nicht weit. Gibt es da vielleicht schon ein Modul für oder müsste ich da selber was scripten? PHP kann ich leider nicht, eigentlich bin ich (Web)Grafiker/Screendesigner...
Danke!
News mal anders...aber wie umsetzen?
heyho,
sooo schwer ist es wahrscheinlich gar nicht, aber da du keine ahnung von php hast, wirds vielleicht doch kein einfaches unterfangen.
du legst eine startseite für die news an mit dem modul der artikelliste (news). dann legst du für jede newsmeldung eigene artikel an.
im vorhandenen modul "news" musst du eigentlich nur die tags so umformatieren und mit den klassen versehen, die im originalskript drin sind:
<p class="subhead_news">Eine Subhead-line...</p>
<p class="text_news">... blabla </p>
dann musst du noch eine oder beide .js-dateien im header des layouts einbinden, die für das verhalten verantwortlich sind.
ggf. musst du noch aus den css-dateien code mitrübernehmen, der das verhalten beim erstmaligen seitenaufbau bestimmt (also ".subhead_news" und ".text_news".
als einziges contenidomodul verwendest du dann die artikelliste und verhinderst dort das zu frühe abschneiden des fließtextes durch erhöhen der entsprechenden variable von 200 auf irgendeine riesige zahl.
Dann alles noch durch eigenes CSS so formatieren, wie du magst.
so ungefähr ist die marschrichtung.
lg
sooo schwer ist es wahrscheinlich gar nicht, aber da du keine ahnung von php hast, wirds vielleicht doch kein einfaches unterfangen.
du legst eine startseite für die news an mit dem modul der artikelliste (news). dann legst du für jede newsmeldung eigene artikel an.
im vorhandenen modul "news" musst du eigentlich nur die tags so umformatieren und mit den klassen versehen, die im originalskript drin sind:
<p class="subhead_news">Eine Subhead-line...</p>
<p class="text_news">... blabla </p>
dann musst du noch eine oder beide .js-dateien im header des layouts einbinden, die für das verhalten verantwortlich sind.
ggf. musst du noch aus den css-dateien code mitrübernehmen, der das verhalten beim erstmaligen seitenaufbau bestimmt (also ".subhead_news" und ".text_news".
als einziges contenidomodul verwendest du dann die artikelliste und verhinderst dort das zu frühe abschneiden des fließtextes durch erhöhen der entsprechenden variable von 200 auf irgendeine riesige zahl.
Dann alles noch durch eigenes CSS so formatieren, wie du magst.
so ungefähr ist die marschrichtung.
lg
so, das hat doch fast geklappt...probleme hab ich nur noch mit der headline (das h2-tag bleibt lehr) und der subhead-line, bei der ich nicht weiß wie sie ausgelesen/eingetragen werden soll...leider wird auch kein bild mehr angezeigt...
hier das modul (kennt ja wohl jeder)
hier beim template-code dazu (teaser-standard.html):
was muss ich denn jetzt wie noch modifizieren, damit das passt...am besten, wenn die Headline aus dem News-Artikel ausgelesen wird und in der Artikelliste angezeight wird. Genauso könnte man das ja mit dem Subhead machen..
Edit: So sieht das gerade aus:
http://www.sus-o.de/cms/cms/front_content.php
Super wäre auch, wenn jeder news-div pro News neu generiert wird
Viele wünsche, ich weiß, aber ich bin ja lernwillig und ich hoffe mir kann da jemand helfen
hier das modul (kennt ja wohl jeder)
Code: Alles auswählen
<?php
/**
* $RCSfile$
*
* Description: Newslist / ArticleList. Module "Output".
*
* @version 1.0.0
* @author Andreas Lindner
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2005-08-12
* }}
*
* $Id$
*/
cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');
if (!isset($tpl) || !is_object($tpl)) {
$tpl = new Template();
}
$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]";
$template = "teaser-standard.html";
// anzahl der zeichen text
$mxtext = 999;
$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';
}
if ("CMS_VALUE[17]" != '') {
$with_start = true;
} else {
$with_start = false;
}
$newsheadline = "CMS_VALUE[4]";
$tpl->set('s', 'TITLE', $newsheadline);
if (strlen($selcat) > 0 && $selcat != '0') {
$options = array ('idcat' => $selcat, "start" => $with_start, "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 ++) {
$article = $list->nextArticle();
$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." ";
$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);
}
}
?>
Code: Alles auswählen
<div class="news">
<!-- BEGIN:BLOCK -->
<h3>{HEADLINE}</h3>
<p class="subhead_news">{SUBHEAD}</p>
<p class="text_news">{IMG}{TEXT}<span class="close">Wieder Schließen</span></p>
<!-- END:BLOCK -->
</div>
Edit: So sieht das gerade aus:
http://www.sus-o.de/cms/cms/front_content.php
Super wäre auch, wenn jeder news-div pro News neu generiert wird

Viele wünsche, ich weiß, aber ich bin ja lernwillig und ich hoffe mir kann da jemand helfen
To "Errrrr" is Human
To "Ahrrrrr" is Pirate
To "Ahrrrrr" is Pirate