Fehler bei {RELATED} - zeigt image nicht an...

Discuss phpwcms here, please do not post support requests, bug reports, or feature requests! Non-phpwcms questions, discussion goes in General Chat!
mmm
Posts: 70
Joined: Sun 17. Apr 2005, 18:33

Fehler bei {RELATED} - zeigt image nicht an...

Post by mmm »

würde gerne {RELATED:Anzahl_Links:Schluesselwort} umgestallten. und zwar nicht nur vom ausehen her. ich bräuchte nämlich nicht die ausgabe des artikel-title, sondern vom sub-title.

erste frage, ist das möglich? - zweite frage, wo finde ich das file, was dies spezifiziert?

lgM
Last edited by mmm on Sat 23. Jul 2005, 12:12, edited 1 time in total.
Mehlinger
Posts: 76
Joined: Mon 22. Nov 2004, 14:49
Contact:

Post by Mehlinger »

Schau mal in front.func.inc.php nach. Ich denke da müsste es möglich sein.
mmm
Posts: 70
Joined: Sun 17. Apr 2005, 18:33

Post by mmm »

danke für deine schnelle antwort.

hier ist der abschnitt, der sich damit beschäftigt. da ich selbst kein php beherrsche, kann mi vielleicht jemand helfen, sodass er nicht mehr den artikeltitle sonder den subtitle ausgibt??

hier der code aus dem front.func.inc.php

Code: Select all

// -------------------------------------------------------------

function get_related_articles($keywords, $current_article_id, $template_default, $max_cnt_links=0, $dbcon) {
	// find keyword for current article used for RELATED replacementtag
	// prepared and inspired by Magnar Stav Johanssen

	$keyword_links = ""; $max_cnt_links = intval($max_cnt_links);
		
	// replace unwanted chars and convert to wanted
	$keywords = str_replace(";", ",", $keywords);
	$keywords = str_replace("'", "", $keywords);
	$keywords = str_replace(" ", ",", $keywords);
	
	// choose comma separated keywords
	$keywordarray = explode (",", $keywords);
	// check for empty keywords or keywords smaller than 3 chars
	if(sizeof($keywordarray)) {
		foreach($keywordarray as $key => $value) {
			$keywordarray[$key] = trim($value);			
			if(!$keywordarray[$key] || strlen($keywordarray[$key]) < 3) unset($keywordarray[$key]);		
		}
	}

	if(sizeof($keywordarray)) {
		$where = "";
		foreach($keywordarray as $value) {
			//build where keyword = blabla
			$where .= ($where) ? " OR " : "";
			//replace every "'" to "''" for security reasons with aporeplace()
			$where .= "article_keyword LIKE '%".aporeplace($value)."%'";		
		}
		$limit = ($max_cnt_links) ? " LIMIT ".$max_cnt_links : "";
		$sql  =	"SELECT article_id, article_title, article_cid, article_subtitle, article_summary ";
		$sql .=	"FROM ".DB_PREPEND."phpwcms_article WHERE article_deleted=0 AND ";
		$sql .=	"article_id<>".intval($current_article_id)." AND ";
		// VISIBLE_MODE: 0 = frontend (all) mode, 1 = article user mode, 2 = admin user mode
		switch(VISIBLE_MODE) {
			case 0: $sql .=	"article_public=1 AND article_aktiv=1 AND ";
					break;
			case 1: $sql .= "article_uid=".$_SESSION["wcs_user_id"]." AND ";
					break;
			//case 2: admin mode no additional neccessary
		}
		$sql .=	"article_begin < NOW() AND article_end > NOW() AND (".$where.") ";
		$sql .=	"ORDER BY article_tstamp DESC".$limit;

		// related things
		$target = ($template_default["link_target"]) ? ' target="'.$template_default["link_target"].'"' : "";
		if($result = mysql_query($sql, $dbcon)) {
			$count_results = mysql_num_rows($result); $count = 0;
			while ($row = mysql_fetch_row($result)) {
				$count++;
				if($template_default["link_length"] && strlen($row[1]) > $template_default["link_length"]) {
					$article_title = substr($row[1], 0, $template_default["link_length"]).$template_default["cut_title_add"];
				} else {
					$article_title = $row[1];
				}
				$keyword_links .= $template_default["link_before"].$template_default["link_symbol"];
				$keyword_links .= '<a href="index.php?id='.$row[2].','.$row[0].',0,0,1,0"';
				$keyword_links .= $target.">".html_specialchars($article_title)."</a>";
				
				//try to remove possible unwanted after - if not enclosed before.link.after
				if($keyword_links && !$template_default["link_before"] && $count < $count_results) {
					$keyword_links .= $template_default["link_after"];
				}
			}
			mysql_free_result($result);
		}
	}

	//enclose whole
	if($keyword_links) $keyword_links = $template_default["before"].$keyword_links.$template_default["after"];
	
	return $keyword_links;
}

// -------------------------------------------------------------
Mehlinger
Posts: 76
Joined: Mon 22. Nov 2004, 14:49
Contact:

Post by Mehlinger »

Ich schau mirs morgen mal genauer an. Ich denke das müsste machbar sein.

Gruß Mehlinger
mmm
Posts: 70
Joined: Sun 17. Apr 2005, 18:33

Post by mmm »

und? was herausgefunden?

lgM
Mehlinger
Posts: 76
Joined: Mon 22. Nov 2004, 14:49
Contact:

Post by Mehlinger »

Hi,

das ist wohl doch etwas aufwändiger :?

Als kleinen Workaround würde ich dir folgendes vorschlagen:

Gib doch einfach bei den Artikeln den Artikeltitel unter Untertitel ein und umgekehrt den Untertitel unter Artikeltitel. Dann musst du natürlich noch die entsprechenden Vorlagen umstellen, damit deine Überschrift auch weiterhin über dem Untertitel steht und schon hast du was du haben wolltest.

Dann noch den Text im Backend von Untertitel auf Artikeltitel und umgekehrt ändern, damit man nicht durcheinander kommt.

Hoffentlich ist es einigermaßen verständlich wie ich das meine.

Gruß Mehlinger
mmm
Posts: 70
Joined: Sun 17. Apr 2005, 18:33

Post by mmm »

ok, habe gesucht und gesucht, darauf hatte noch niemand eine antwort. habe es einfach vertauscht funkt auch, danke für den input!

andere frage: ist es möglich vor jede zeile ein bild hineinzuladen?? zB ein >> oder sowas in der art??

bilde mir ein, dass ich sowas schon bei einem RELATED-tag gesehen habe...

lgM
Mehlinger
Posts: 76
Joined: Mon 22. Nov 2004, 14:49
Contact:

Post by Mehlinger »

Ja, das geht, siehe http://www.mehlhans.de/cms/cms/index.php?newsarchive

Du kannst das in conf.template_default.inc.php unter
$template_default["related"]["link_before"] angeben

Viele Grüße
Mehlinger
mmm
Posts: 70
Joined: Sun 17. Apr 2005, 18:33

Post by mmm »

hehe, danke! na dann wären alle probleme gelöst.

ein hit wäre es noch, wenn es sich bei der nächsten version variabel anpassen lassen würde - zB subhead, head, summary usw.

lgM
mmm
Posts: 70
Joined: Sun 17. Apr 2005, 18:33

Post by mmm »

ich muss irgendeinen fehler gemacht haben, er schreibt mir nun den gesamten inhalt in einer wursch... wollte dass er mir diese kleinen zwei pfeile vor jeden link setzt...

siehe: http://www.bleibfit.at

weiß jemand, was ich da wieder verbrochen habe?

hier der abschnitt des codes aus dem con.template.default.inc

Code: Select all

// related articles based on keywords
$template_default["related"]["before"]			= "<div class=\"related\">";
$template_default["related"]["after"]			= "</div>";
$template_default["related"]["link_before"]		= '<img src="picture/pfeile/pfeil_w.gif" alt="">';
$template_default["related"]["link_after"]		= "<br>";
$template_default["related"]["link_symbol"]		= "";
$template_default["related"]["link_target"]		= "";
$template_default["related"]["link_length"]		= 0; //if 0 no limit
$template_default["related"]["cut_title_add"]	= "…";
mmm
Posts: 70
Joined: Sun 17. Apr 2005, 18:33

Post by mmm »

weiß das niemand?

lgM
johanvanderwijk
Posts: 24
Joined: Sun 30. May 2004, 17:43
Contact:

Post in English

Post by johanvanderwijk »

I know I am being a pain again about this, but if you would have posted your message in English you would have had a much larger audience and a bigger chance of receiving valuable help... I really cannot understand your question :shock:

Remember that by posting your message in English you are turning down the help of most forum members!
mmm
Posts: 70
Joined: Sun 17. Apr 2005, 18:33

Post by mmm »

i just use the RT related and have made a big mistake. i have change the img source for this image, which is arranged before the aritcleheadline appears (into conf.template.default.inc). but now it displays all article-headlines as a long sentence. please take a look on http://www.bleibfit.at (i mean this white arrows on the right)
here is the code:

Code: Select all

// related articles based on keywords 
$template_default["related"]["before"]         = "<div class=\"related\">"; 
$template_default["related"]["after"]         = "</div>"; 
$template_default["related"]["link_before"]      = '<img src="picture/pfeile/pfeil_w.gif" alt="">'; 
$template_default["related"]["link_after"]      = "<br>"; 
$template_default["related"]["link_symbol"]      = ""; 
$template_default["related"]["link_target"]      = ""; 
$template_default["related"]["link_length"]      = 0; //if 0 no limit 
$template_default["related"]["cut_title_add"]   = "…";
thank you for help!

b.r.
manuel
johanvanderwijk
Posts: 24
Joined: Sun 30. May 2004, 17:43
Contact:

Post by johanvanderwijk »

As the <br> is not processed, I think it might have to do with the " in your image path. Try this code and see if it solves your problem:

Code: Select all

// related articles based on keywords 
$template_default["related"]["before"]         = "<div class=\"related\">"; 
$template_default["related"]["after"]         = "</div>"; 
$template_default["related"]["link_before"]      = "<img src=\"picture/pfeile/pfeil_w.gif\" alt=\" \">"; 
$template_default["related"]["link_after"]      = "<br>"; 
$template_default["related"]["link_symbol"]      = ""; 
$template_default["related"]["link_target"]      = ""; 
$template_default["related"]["link_length"]      = 0; //if 0 no limit 
$template_default["related"]["cut_title_add"]   = "…";
Or if that doesn't help this code:

Code: Select all

// related articles based on keywords 
$template_default["related"]["before"]         = "<div class=\"related\">"; 
$template_default["related"]["after"]         = "</div>"; 
$template_default["related"]["link_after"]      = "<br>"; 
$template_default["related"]["link_symbol"]      = ""; 
$template_default["related"]["link_target"]      = ""; 
$template_default["related"]["link_length"]      = 0; //if 0 no limit 
$template_default["related"]["cut_title_add"]   = "…";
$template_default["related"]["link_before"]      = '<img src="picture/pfeile/pfeil_w.gif" alt="">'; 
mmm
Posts: 70
Joined: Sun 17. Apr 2005, 18:33

Post by mmm »

thank you for your answer, but your code doesn´t work correctly. now i´m using this code and it displays correctly, but the arrows are still missing... how can it be?

Code: Select all

$template_default["related"]["before"]         = "<div class=\"related\">"; 
$template_default["related"]["after"]         = "</div>"; 
$template_default["related"]["link_before"]      = '<img src="picture/pfeile/pfeil_w.gif" width="1" height="3" alt="" /><br>';
$template_default["related"]["link_after"]      = ""; 
$template_default["related"]["link_symbol"]      = ""; 
$template_default["related"]["link_target"]      = ""; 
$template_default["related"]["link_length"]      = 0; //if 0 no limit 
$template_default["related"]["cut_title_add"]	= "…";
Post Reply