Seite 1 von 1

Wegen Arikellist!!! Ich bin verzweifelt!!!!!!!

Verfasst: Mi 25. Jan 2006, 21:57
von renasco
Hallo alle zusammen,

ich hab probleme mit mein Articlelist. Ich will die Artikel in dieser form ausgeben:
------------------------------------
|....................|.....................|
|....................|.....Artikel2....|
|....Artikel1....|.....................|
|....................|.....................|
-----------------------------------
|....................|.....................|
|.....Artikel3....|....................|
|....................|.....Artikel4....|
|....................|.....................|
------------------------------------
Das ist bestimmt möglich. ich hab einige dinge Versucht doch ich hab das nicht geschaft. Ich hab versucht durch ein for schleife die Artikel einzeln in ein Modul an zu zeigen. Aber ich wüsste nich wo hier:

Code: Alles auswählen

while ($article = $articleList->nextArticle()) 
{ 
    $head1 = $article->getContent('htmlhead', 1); 
    $head2 = $article->getContent('htmlhead', 2); 
    $html1 = $article->getContent('html', 1);

    
    echo $head1 . "<br>"; 
    echo $head2 . "<br>";
} 
die aufzählung ist.
wie könnte man das hier:

Code: Alles auswählen

while ($article = $articleList->nextArticle()
übersetzen???????
Ich hab mir gedacht wenn er die Artikel unter ein ander ausgibt dann macht er das doch bestimmt nummerisch:
1. Artikel 1
2. Artikel 2
3. Artikel 3
4. Artikel 4
also dachte ich mir das ich das erste artikel normal ausgebe und das zweite mit +1 bei der schleife anfange so fängt er bei den zweiten an.
und bei den dritten +2 und bei den vierten +3

wenn ich nur die while schleife verstehen würde, würde ich auch vieleicht weiter kommen.
Die ist mir aber sehr fremd, weil neue in der PHP szene bin!!!

Herzlichen Dank im vorraus.

Ich hoffe ihr habt mich verstanden. Ich bin verzweifelt. Bitte hilft mir.

Verfasst: Mi 25. Jan 2006, 22:02
von rezeptionist
Um welches Modul hadelt es sich denn es gibt so einige hier ??

Verfasst: Mi 25. Jan 2006, 22:08
von renasco
Es handlet sich um dieses Modul:

Code: Alles auswählen

<?php 

/** 
* Beispiel eines Artikellisten-Modules 
* mit Hilfe der Contenido-API Klassen. 
* 
* Jan Lengowski / four for business AG 
*/ 

// Artikellisten Optionen einstellen 
// Idcat ist ein MUSS feld, array("idcat"=>n); 
$articleListOptions = array("idcat" => 12,          // Idcat (Muss angegeben werden) 
                                      "lang"  => $lang,       // Sprach id (optional), standard ist die aktive Sprache 
                                      "client"=> $client,     // Mandant id (optional), standard ist der aktive Mandant 
                                      "start" => true,        // Startartikel 
                                      "order" => "created",   // Feldname nach dem sortier wird, siehe tabelle 'con_art_lang' 
                                      "direction" => "asc"); // Ab- oder Aufsteigende sortierung ('asc', oder 'desc') 

// Artikellisten Objekt erzeugen 
$articleList = new ArticleCollection($articleListOptions); 

// Artikelliste mit Head1, Head2 und HTML1 ausgeben 
while ($article = $articleList->nextArticle()) 
{ 
    $head1 = $article->getContent('htmlhead', 1); 
    $head2 = $article->getContent('htmlhead', 2); 
    $html1 = $article->getContent('html', 1); 
    
    echo $head1 . "<br>"; 
    echo $head2 . "<br>"; 
    echo $html1 . "<br><br>"; 
} 

?> 
Ich hab auch versucht den Standard in Contenido 4.6. ein wenig um zu basteln aber auch nicht geschaft. :evil:
[/code]

Verfasst: Mi 25. Jan 2006, 22:11
von mvf
schom mal die advanced artikellist 1.0 von herrB angeschaut?

die kann man prima per css flaoten lassen damit gebe ich z.b. nur eine headline und ein bild aus, 4 nebeneinander und dann geht es dank 'float:' in der nächsten zeile weiter, reine css geschichte

Verfasst: Mi 25. Jan 2006, 22:14
von renasco
Ich kann es versuchen. aber könntest du das mit CSS und float. bitte genauer erläutern

Verfasst: Mi 25. Jan 2006, 22:35
von mvf
renasco hat geschrieben:Ich kann es versuchen. aber könntest du das mit CSS und float. bitte genauer erläutern
http://www.google.de/search?num=100&hl= ... uche&meta=

ansonsten

css4you csszengarden mezzoblue es gibt so viele ;)

Verfasst: Mi 25. Jan 2006, 23:04
von renasco
Vielen Danke!!!!

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
************************************************/

cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');

if (!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]";
//echo "sel $selcat<br>";
$template = "teaser_rechts.html";
//echo "tpl $template<br>";
// anzahl der zeichen text
$mxtext = 200;

$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 ++) {

			$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."&nbsp;-&nbsp;".*/
			$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."&nbsp;";

			$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);

	}
}
?>
Wie kann ich es bei bei diesen Code machen, dass nur ab Artikel 5 die Artikeln anzeigt.

Verfasst: Mi 25. Jan 2006, 23:11
von mvf
das ist jetzt eine neue frage oder?
wenn es nix mehr mit deinem ursprünglichen thread zu tun hat, dann solltest du auch einen neuen aufmachen, ordentlich benennen und dann auch deine frage genau spezifizieren, denn jetzt fehlt MIR der zusammenhang :?: