RSS Feed Creator für 4.6.15 gesucht / Problem Modul von x28

Gesperrt
timgroth
Beiträge: 42
Registriert: Do 6. Okt 2005, 15:28
Kontaktdaten:

RSS Feed Creator für 4.6.15 gesucht / Problem Modul von x28

Beitrag von timgroth »

Hallo Community!

Ich habe derzeit den RSS Feed Creator von X28, der eigentlich auch fast perfekt funktioniert. Nur leider wird die Description nicht ausgegeben, bzw. <description></description> ist leer. Bei mir läuft Contenido 4.6.14 mit ModRewrite.

Hier einmal der Modul-Source:

Input:

Code: Alles auswählen

/**
* RSS-Ausgabe als XML
*
* INPUT
*
* Author Frank Hoffmann
* Copyright www.x28.de
*/

// selected category
$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\" class=\"text_medium\">
        <tr valign=\"top\">
          <td>Kategorie:</td>
          <td>
            <select name=\"CMS_VAR[0]\">";
            if($selected!="0" && $selected!=""){
             echo"<option value=\"0\">--- kein ---</option>";

            }else{
            echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
            }

            // hole Online Kategorien
            $query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ".
                     $cfg["tab"]["cat"]." AS B,  ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ".
                     "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ".
                     "AND C.visible=1 ORDER BY A.idtree";
            $db->query($query);

            // loop result and build the options
            while ($db->next_record()) {

              // indent spacer
              $spaces = "|";

              // how many levels
              $levels = $db->f("level");

              for ($i = 0; $i < $levels; $i ++) {
                // add 2 spaces for every level
                $spaces = $spaces . "--";

              } // end for
              
              $spaces .= ">";


              if ($selected == $db->f("idcat")) {
                // selected category
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } else {
                // category
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } // end if

            } // end while

echo "      </select>";

echo "    </td>
        </tr>
        <tr>
          <td>Titel RSS Feed:</td>
          <td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td>
        </tr>
				<tr>
          <td>Homepage RSS Feed (mit / abschliessen):</td>
          <td><input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\"></td>
        </tr>				
				<tr>
          <td>Beschreibung RSS Feed:</td>
          <td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\"></td>
        </tr>
       <tr>
          <td>Copyright RSS Feed:</td>
          <td><input type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\"></td>
        </tr>
        <tr>
          <td>URL Bild RSS Feed:</td>
          <td><input type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\"></td>
        </tr>
        <tr>
          <td>Titel Bild RSS Feed:</td>
          <td><input type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\"></td>
        </tr>
        <tr>
          <td>Link Bild RSS Feed:</td>
          <td><input type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\"></td>
        </tr>

      </table>";
Output:

Code: Alles auswählen

<?php

/**
* RSS-Ausgabe als XML
*
* OUTPUT
*
* Author Frank Hoffmann
* Copyright www.x28.de
* Anyone can use it. It is OpenSource. Please report any good changes to info@x28.de
*/

// selected category
$selcat = "CMS_VALUE[0]";
if($selcat!="0" && $selcat!=""){

	$rss_titel = "CMS_VALUE[1]";
	$rss_link = "CMS_VALUE[2]";
	$rss_description = "CMS_VALUE[3]";
	$rss_copyright = "CMS_VALUE[4]";
	$rss_image_url = "CMS_VALUE[5]";
                $rss_image_title = "CMS_VALUE[6]";
                $rss_image_link = "CMS_VALUE[7]";

	// Header ausgeben
	header("Content-type: text/xml");
	print '<?xml version="1.0" encoding="iso-8859-1"?>
	<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
	<rss version="0.91">
	<channel>
	<title>'.$rss_titel.'</title>
	<link>'.$rss_link.'</link>
	<description>'.$rss_description.'</description>
	<language>de-de</language>
	<copyright>'.$rss_copyright.'</copyright>
	<image>
	<url>'.$rss_image_url.'</url>
	<title>'.$rss_image_title.'</title>
	<link>'.$rss_image_link.'</link>
	</image>';


	// select all articles in category widthout start article
	$query = "SELECT ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
			  $cfg["tab"]["art_lang"]." AS ARTLANG ".
			 "WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ".
			 "ARTLANG.online = '1' ORDER BY ARTLANG.artsort";
	
	// execute query
	$db->query($query);
	
	unset($articleID);
	unset($linkID);
	
	// get id's of sub articles
	while ($db->next_record()) {
	  $articleID[] = $db->f("idartlang");
	  $linkID[] = $db->f("idart");
	} // end while
	
	// loop through subarticles
	if (is_array($articleID)) {
	
		foreach ($articleID as $key => $value) {
	
			// select headline
			$sql = "SELECT value FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '1'";
			$db->query($sql);
			$db->next_record();
			$head = urldecode($db->f("value"));
			
			// select subheadline
			$sql = "SELECT value FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '2'";
			$db->query($sql);
			$db->next_record();
			$description = urldecode($db->f("value"));
			
			// link
			$link = $rss_link."front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s";
			print "<item>\n";
			print "<title>\n".htmlspecialchars($head)."\n</title>\n";
			print "<description>\n".htmlspecialchars($description)."\n</description>\n";
			print "<link>\n".htmlspecialchars($link)."\n</link>\n";
			print "</item>\n";
			  
	
		} // end foreach
	
	
		unset($head);
		unset($description);
	
		
	} // end if (is_array)
	
	print '</channel></rss>';

} // end if (if($selcat!="0" && $selcat!="")

?>
Danke und schöne Grüße,
Tim
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

<description> wird aus CMS_HEAD[2] ausgelesen. Wenn du das für die Artikel nicht nutzt, kann das auch nicht ausgegeben werden.
timgroth
Beiträge: 42
Registriert: Do 6. Okt 2005, 15:28
Kontaktdaten:

Beitrag von timgroth »

Problem erkannt, Problem gebannt ;-)
Habs auch gerade herausgefunden...

Danke Ingo
Gesperrt