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

Gesperrt
renasco
Beiträge: 44
Registriert: Mi 25. Jan 2006, 21:17
Kontaktdaten:

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

Beitrag 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.
Zuletzt geändert von renasco am Mi 25. Jan 2006, 22:03, insgesamt 3-mal geändert.
rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist »

Um welches Modul hadelt es sich denn es gibt so einige hier ??
greets
renasco
Beiträge: 44
Registriert: Mi 25. Jan 2006, 21:17
Kontaktdaten:

Beitrag 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]
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag 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
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
renasco
Beiträge: 44
Registriert: Mi 25. Jan 2006, 21:17
Kontaktdaten:

Beitrag von renasco »

Ich kann es versuchen. aber könntest du das mit CSS und float. bitte genauer erläutern
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag 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 ;)
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
renasco
Beiträge: 44
Registriert: Mi 25. Jan 2006, 21:17
Kontaktdaten:

Beitrag 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.
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag 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 :?:
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
Gesperrt