RSS Feed Creator - Problem mit <description>

Gesperrt
McHubi
Beiträge: 1223
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

RSS Feed Creator - Problem mit <description>

Beitrag von McHubi »

Hallo Leuts,

suche mich seit einiger Zeit im Forum wund und finde nix. Also mache ich mal ein neues Thema auf.

Ich nutze den mitgelieferten RSS Feed-Creator der 4.6.23. Allerdings fehlt bei der Ausgabe (Ansicht im Editor) der Start-Tag für die Description.

Im Modul steht folgende Code-Zeile:

Code: Alles auswählen

echo "<description>".prepareStringForOutput($description)."</description>"; 

Also sollte hier ja eigentlich folgendes in die xml-Datei geschrieben werden:
...
<item>
<title>Irgendein Titel</title>
<description>Beschreibung des Titels</description>
...

Dem ist aber nicht so, es wird folgendes reingeschrieben:
...
<item>
<title>Irgendein Titel</title>
<description />
...

Der Vollständigkeit halber hier der Code vom Output

Code: Alles auswählen

<?php 
/*********************************************** 
* CONTENIDO MODUL - OUTPUT
* 
* Modulname  :      RSS Feed generator 
* Author(s)   :     Andreas Lindner, 4fb 
* Copyright   :     Contenido - four for business, Andreas Lindner 
* Created     :     12.08.2005 
************************************************/ 

#Includes 
cInclude('classes', 'class.article.php'); 

#Get settings 
$rss_cat = "CMS_VALUE[0]"; 
$rss_sortby = "CMS_VALUE[1]"; 
$rss_sortorder = "CMS_VALUE[2]"; 
$rss_include_start_article = "CMS_VALUE[3]"; 
$rss_title = "CMS_VALUE[4]"; 
$rss_link = "CMS_VALUE[5]"; 
$rss_description = "CMS_VALUE[6]"; 
$rss_language = "CMS_VALUE[7]"; 
$rss_copyright = "CMS_VALUE[8]"; 
$rss_image_title = "CMS_VALUE[9]"; 
$rss_image_url = "CMS_VALUE[10]"; 
$rss_image_link = "CMS_VALUE[11]"; 
$rss_managingEditor = "CMS_VALUE[12]"; 
$rss_webMaster = "CMS_VALUE[13]"; 
$rss_maxCount = "CMS_VALUE[14]"; 
$rss_ttl = "CMS_VALUE[15]"; 
$rss_description_length = "CMS_VALUE[16]"; 

#Check settings 
if ($rss_maxCount == '') { 
   $rss_maxCount = 999; 
} 

if ($rss_description_length=='') { 
   $rss_description_length = 200; 
} 

#Get feed image 
if ($rss_image_link != '') { 
   if (substr(strtolower($rss_image_link), 0, 7) != 'http://') { 
      $rss_image_link = 'http://'.$rss_image_link; 
   } 
} 

if ($rss_image_url != '') { 
   $sql = "SELECT * FROM ".$cfg['tab']['upl']." WHERE idupl = ".$rss_image_url; 
   $db->query($sql); 
   if ($db->next_record()) { 
      $rss_image_url = $cfgClient[$client]['path']['htmlpath'].$cfgClient[$client]['upl']['frontendpath'].$db->f("dirname").$db->f("filename"); 
      $rss_image_fs = $cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upl']['frontendpath'].$db->f("dirname").$db->f("filename"); 
   } 
} 

#Output feed header 
header("Content-type: text/xml"); 
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"; 
echo "<rss version=\"2.0\">"; 
echo "<channel>"; 

echo "<title>".prepareStringForOutput($rss_title)."</title>"; 
echo "<copyright>".prepareStringForOutput($rss_copyright)."</copyright>"; 
echo "<link>".prepareStringForOutput($rss_link)."</link>"; 
echo "<description>".prepareStringForOutput($rss_description)."</description>"; 
echo "<language>".prepareStringForOutput($rss_language)."</language>"; 
echo "<lastBuildDate>".date('D, d M Y H:i:s T')."</lastBuildDate>"; 
echo "<pubDate>".date('D, d M Y H:i:s T')."</pubDate>"; 
echo "<generator>Contenido CMS</generator>"; 
echo "<managingEditor>".$rss_managingEditor."</managingEditor>"; 
echo "<webMaster>".$rss_webMaster."</webMaster>"; 
echo "<ttl>".$rss_ttl."</ttl>"; 
echo "<image>"; 
echo "<title>".prepareStringForOutput($rss_image_title)."</title>"; 
list ($width, $height, $type, $attr) = getimagesize($rss_image_fs);
echo "<width>".$width."</width>"; 
echo "<height>".$height."</height>"; 
echo "<url>".prepareStringForOutput($rss_image_url)."</url>"; 
echo "<link>".prepareStringForOutput($rss_image_link)."</link>"; 
echo "</image>"; 

#Output articles 
if ($rss_cat != '') { 
   if ($rss_include_start_article != '') { 
      $b_include_start_article = true; 
   } else { 
      $b_include_start_article = false; 
   } 
   $options = array ('idcat' => $rss_cat, "start" => $b_include_start_article, "order" => $rss_sortby, "direction" => $rss_sortorder); 
   $list = new ArticleCollection($options); 
   $count = $list->count; 

   if ($count > 0) { 
      $aArticleList = array (); 
      $aArticleList = $list->articles; 
      $aTmpArticleList = array (); 
      $index = 1; 
      foreach ($aArticleList as $value) { 
         if ($index <= $rss_maxCount) { 
            $tmp_article = new Article($value, $client, $lang); 
            $headline = ''; 
            $i = 1; 
            while (($i<20) && (is_empty($headline))) { 
               $headline = strip_tags($tmp_article->getContent('CMS_HTMLHEAD', $i)); 
               $i++; 
            } 
                
            $i = 1; 
            while (($i<20) && (is_empty($headline))) { 
               $headline = strip_tags($tmp_article->getContent('CMS_TEXT', $i)); 
               $i++; 
            } 
             
            $description = ''; 
            $i = 1; 
            while (($i<20) && (is_empty($description))) { 
               $description = strip_tags($tmp_article->getContent('CMS_HTMLHEAD',2, $i)); 
               $i++; 
            } 

            $description = capiStrTrimAfterWord($description, $rss_description_length); 

            $pub_date = $tmp_article->getField("created"); 
            $pub_date = strtotime($pub_date); 
            $pub_date = date('D, d M Y H:i:s T', $pub_date); 
            if ($headline != '') { 
               $headline = prepareStringForOutput($headline); 
//               $link = str_replace('&','&',$cfgClient[$client]['path']['htmlpath']."front_content.php?idcat=$rss_cat&idart=$value&client=$client&lang=$lang"); 
               $link = str_replace('&','&',$cfgClient[$client]['path']['htmlpath']."front_content.php?idart=$value"); 

               echo "<item>"; 
               echo "<title>".prepareStringForOutput($headline)."</title>"; 
               echo "<description>".prepareStringForOutput($description)."</description>"; 
               echo "<link>".$link."</link>"; 
               echo "<pubDate>".$pub_date."</pubDate>"; 
               $t1 = $cfg["tab"]["art_lang"]; 
               $t2 = $cfg["tab"]["phplib_auth_user_md5"]; 
               $sql = "SELECT ".$t2.".realname FROM ".$t1." INNER JOIN ".$t2." ON ".$t1.".author = ".$t2.".username WHERE (".$t1.".idart=$value) AND (".$t1.".idlang=$lang)"; 
               $db->query($sql); 
                
               if ($db->next_record()) { 
                  $author = prepareStringForOutput($db->f("realname")); 
               } else { 
                  $author = ''; 
               } 
               echo "<author>".$author."</author>"; 
               echo "</item>"; 
            } 
         } 
         $index ++; 
      } 
   } 
} 

echo "</channel>"; 
echo "</rss>"; 

function is_empty($in_str) { 

   $tmp = trim($in_str); 
   $tmp = strip_tags($tmp); 
   $tmp = str_replace(chr(13).chr(10), '', $tmp); 
   $tmp = str_replace('&nbsp;', '', $tmp); 

   if ($tmp == '') { 
      return true; 
   } else { 
      return false; 
   } 
} 

// function prepareStringForOutput($sIn) { 
//    $sIn = str_replace('&nbsp;',' ',$sIn); 
//    $sIn = str_replace('&nbsp;',' ',$sIn); 
//    #$sIn = str_replace(chr(13).chr(10),' ',$sIn); 
//    #return htmlspecialchars($sIn, ENT_QUOTES); 
//    #return htmlnumericalentities(html_entity_decode($sIn)); 
//     return str_replace('&','&',htmlnumericalentities($sIn)); 
// } 

 function prepareStringForOutput($sIn) { 
    $sIn = str_replace('&nbsp;',' ',$sIn); 
    $sIn = str_replace('&nbsp;',' ',$sIn); 
    #$sIn = str_replace(chr(13).chr(10),' ',$sIn); 
    $sIn = str_replace('&','&',$sIn); 
    $sIn = html_entity_decode($sIn, ENT_QUOTES, "ISO-8859-1"); 
    return htmlspecialchars($sIn, ENT_QUOTES); 
 }

function htmlnumericalentities($str) { 

   return preg_replace('/[^!-%\x27-;=?-~ ]/e', '"&#".ord("$0").chr(59)', $str); 
} 
?> 
Hinweis zu den mit "//" erkennbaren Änderungen.

Code: Alles auswählen

//$link = str_replace('&','&',$cfgClient[$client]['path']['htmlpath']."front_content.php?idcat=$rss_cat&idart=$value&client=$client&lang=$lang"); 
               $link = str_replace('&','&',$cfgClient[$client]['path']['htmlpath']."front_content.php?idart=$value"); 
Beseitigt das "; wird erwartet" Problem.


Code: Alles auswählen

// function prepareStringForOutput($sIn) { 
//    $sIn = str_replace('&nbsp;',' ',$sIn); 
//    $sIn = str_replace('&nbsp;',' ',$sIn); 
//    #$sIn = str_replace(chr(13).chr(10),' ',$sIn); 
//    #return htmlspecialchars($sIn, ENT_QUOTES); 
//    #return htmlnumericalentities(html_entity_decode($sIn)); 
//     return str_replace('&','&',htmlnumericalentities($sIn)); 
// } 

 function prepareStringForOutput($sIn) { 
    $sIn = str_replace('&nbsp;',' ',$sIn); 
    $sIn = str_replace('&nbsp;',' ',$sIn); 
    #$sIn = str_replace(chr(13).chr(10),' ',$sIn); 
    $sIn = str_replace('&','&',$sIn); 
    $sIn = html_entity_decode($sIn, ENT_QUOTES, "ISO-8859-1"); 
    return htmlspecialchars($sIn, ENT_QUOTES); 
 }
Beseitigt das "Umlaut-Problem" (http://forum.contenido.org/viewtopic.ph ... ed+creator)

Frage mich wo's hakt... weiß einer die Lösung :?:
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

Hallo McHubi,

hast du im ModulInput auch eine Beschreibung (description) angegeben?
Die wird nämlich im Output ausgelesen

Code: Alles auswählen

$rss_description = "CMS_VALUE[6]";
Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
McHubi
Beiträge: 1223
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Jau, is gesetzt..

Beitrag von McHubi »

Hallo Ortwin,

ja, $rss_description ist im Input drin (keine Änderungen vorgenommen)...

Code: Alles auswählen

?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname  :      RSS Feed generator
* Author(s)   :     Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
************************************************/

#Selected category
$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
"."  <tr valign=\"top\">
"."    <td>".mi18n("Kategorie wählen").":</td>
"."    <td>
"."      <select name=\"CMS_VAR[0]\" style=\"width:300px;\">
"."        <option value=''>---".mi18n("Kein")."---</option>
";

#Fetch all categories
$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";

#Execute query
$db->query($query);

#Loop result and build the options
while ($db->next_record()) {
	#Indent spacer
	$spaces = "";

	#How many levels
	$levels = $db->f("level");
	$spaces = '';
	for ($i = 0; $i <= $levels; $i ++) {
		$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>
";
	}

}
echo "</select></td></tr>";

#Set default values
if ("CMS_VALUE[1]" == '') {
	$rss_sortby = 'created';
} else {
	$rss_sortby = "CMS_VALUE[1]";
}

if ("CMS_VALUE[2]" == '') {
	$rss_sortorder = 'desc';
} else {
	$rss_sortorder = "CMS_VALUE[2]";
}

if ("CMS_VALUE[3]" == '') {
	$rss_include_start_article = '';
} else {
	$rss_include_start_article = ' checked';
}

$rss_title = "CMS_VALUE[4]";

if ("CMS_VALUE[5]" == '') {
	$rss_link = $cfgClient[$client]['path']['htmlpath'];
} else {
	$rss_link = "CMS_VALUE[5]";
}

$rss_description = "CMS_VALUE[6]";

if ("CMS_VALUE[7]" == '') {
	$rss_language = 'de';
} else {
	$rss_language = "CMS_VALUE[7]";
}

$rss_copyright = "CMS_VALUE[8]";

$rss_image_title = "CMS_VALUE[9]";

$rss_image_url = "CMS_VALUE[10]";

$rss_image_link = "CMS_VALUE[11]";

$rss_managingEditor = "CMS_VALUE[12]";

$rss_webMaster = "CMS_VALUE[13]";

$rss_maxCount = "CMS_VALUE[14]";

$rss_ttl = "CMS_VALUE[15]";

$rss_description_length = "CMS_VALUE[16]";

$arrSortBy['created'] = mi18n("Erstellungsdatum");
$arrSortBy['published'] = mi18n("Publizierungsungsdatum");
$arrSortBy['artsort'] = mi18n("Sortier-Reihenfolge");
$arrSortBy['lastmodified'] = mi18n("Änderungsdatum");
$arrSortBy['name'] = mi18n("Alphabetisch");

#Sort by
echo "  <tr valign=\"top\">
"."    <td>".mi18n("Sortieren nach").":</td>
"."    <td><select name=\"CMS_VAR[1]\" style=\"width:300px;\">
";
foreach ($arrSortBy as $key => $value) {
	if ($key == $rss_sortby) {
		echo "<option value=\"$key\" selected=\"selected\">$value
";
	} else {
		echo "<option value=\"$key\">$value
";
	}
}
echo "    </select></td></tr>
";

#Sort order
$arrSortOrder['asc'] = mi18n("aufsteigend");
$arrSortOrder['desc'] = mi18n("absteigend");

echo "  <tr valign=\"top\">
"."    <td>".mi18n("Sortier-Reihenfolge").":</td>
"."    <td><select name=\"CMS_VAR[2]\" style=\"width:300px;\">
";
foreach ($arrSortOrder as $key => $value) {
	if ($key == $rss_sortorder) {
		echo "<option value=\"$key\" selected=\"selected\">$value
";
	} else {
		echo "<option value=\"$key\">$value
";
	}
}
echo "    </select></td></tr>
";

#Include start article?
echo "  <tr valign=\"top\">
"."    <td>".mi18n("Startartikel einbeziehen").":</td>
"."    <td><input type=\"checkbox\" name=\"CMS_VAR[3]\" value=\"yes\"$rss_include_start_article></td></tr>
";

#Title
echo "  <tr valign=\"top\">
"."    <td>".mi18n("Titel").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[4]\" value=\"".$rss_title."\">
"."    </td>
"."  </tr>
";

#Link
echo "  <tr valign=\"top\">
"."    <td>".mi18n("Link").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[5]\" value=\"".$rss_link."\">
"."    </td>
"."  </tr>
";

#Description
echo "  <tr valign=\"top\">
"."    <td>".mi18n("Beschreibung").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[6]\" value=\"".$rss_description."\">
"."    </td>
"."  </tr>
";

#Language
$arrLanguages['de'] = mi18n("deutsch");
$arrLanguages['en'] = mi18n("englisch");
$arrLanguages['fr'] = mi18n("französisch");
$arrLanguages['it'] = mi18n("italienisch");
$arrLanguages['es'] = mi18n("spanisch");
$arrLanguages['nl'] = mi18n("niederländisch");
$arrLanguages['el'] = mi18n("griechisch");
$arrLanguages['pt'] = mi18n("portugiesisch");

echo "  <tr valign=\"top\">
"."    <td>".mi18n("Sprache").":</td>
"."    <td><select name=\"CMS_VAR[7]\" style=\"width:300px;\">
";
foreach ($arrLanguages as $key => $value) {
	if ($key == $rss_language) {
		echo "<option value=\"$key\" selected=\"selected\">$value
";
	} else {
		echo "<option value=\"$key\">$value
";
	}
}
echo "    </select></td></tr>
";

#Copyright
echo "  <tr valign=\"top\">
"."    <td>".mi18n("Copyright").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[8]\" value=\"".$rss_copyright."\">
"."    </td>
"."  </tr>
";

#Image title
echo "  <tr valign=\"top\">
"."    <td>".mi18n("Bildtitel").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[9]\" value=\"".$rss_image_title."\">
"."    </td>
"."  </tr>
";

#Image
$sql = "SELECT * FROM ".$cfg['tab']['upl']." WHERE (filetype='jpg') OR (filetype='jpeg') OR (filetype='gif') OR (filetype='png') ORDER BY dirname,filename";
$db->query($sql);
echo '<tr><td>'.mi18n("Bild").':</td><td><select name="CMS_VAR[10]" size="1" style="width:300px;">';
$selected = false;
$img_display = '';

while ($db->next_record()) {
	$path = $db->f("dirname").$db->f("filename");
	if ($db->f("idupl") == $rss_image_url) {
		echo '<option selected="selected" value="'.$db->f("idupl").'">'.$path.'</option>';
		$img_display = $path;
		$selected = true;
	} else {
		echo '<option value="'.$db->f("idupl").'">'.$path.'</option>';
	}
}

if ($selected) {
	echo '<option value="">'.mi18n("Nichts ausgewählt.").'</option>';
} else {
	echo '<option selected="selected" value="">'.mi18n("Nichts ausgewählt.").'</option>';
}
echo "</select></td></tr>
";

#Image link
echo "  <tr valign=\"top\">
"."    <td>".mi18n("Link (bei Klick auf das Bild)").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[11]\" value=\"".$rss_image_link."\">
"."    </td>
"."  </tr>
";

#Editor
echo "  <tr valign=\"top\">
"."    <td>".mi18n("EMail-Adresse Herausgeber").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[12]\" value=\"".$rss_managingEditor."\">
"."    </td>
"."  </tr>
";

#EMail Webmaster
echo "  <tr valign=\"top\">
"."    <td>".mi18n("EMail-Adresse Webmaster").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[13]\" value=\"".$rss_webMaster."\">
"."    </td>
"."  </tr>
";

#Max. number of articles
echo "  <tr valign=\"top\">
"."    <td>".mi18n("maximale Anzahl Artikel").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[14]\" value=\"".$rss_maxCount."\">
"."    </td>
"."  </tr>
";

#TTL
echo "  <tr valign=\"top\">
"."    <td>".mi18n("TTL (Minuten)").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[15]\" value=\"".$rss_ttl."\">
"."    </td>
"."  </tr>
";

#Description length
echo "  <tr valign=\"top\">
"."    <td>".mi18n("max. Länge der Beschreibung").":</td>
"."    <td><input type=\"text\" maxlength=\"200\" style=\"width:300px;\" name=\"CMS_VAR[16]\" value=\"".$rss_description_length."\">
"."    </td>
"."  </tr>
";

echo "</table>
";
?><?php
Da stellt sich auch gleich die Frage: was wird hier genau eingelesen und später in der xml-Datei eingefügt?
a) die Description des Artikels in den Eigenschaften
b) der Inhalt des Feldes "Beschreibung" in der Konfiguration des Moduls im Artikel oder
c) die headline, subheadline oder der Text im Artikel?

Fragen über Fragen :roll:
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
McHubi
Beiträge: 1223
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

EUREKA!

Beitrag von McHubi »

Et is nich wahr... :oops:

Wie so häufig ein ganz kleiner Fehler mit großer Wirkung:

Anstatt (im Output)

Code: Alles auswählen

            $description = ''; 
            $i = 1; 
            while (($i<20) && (is_empty($description))) { 
               $description = strip_tags($tmp_article->getContent('CMS_HTMLHEAD',2, $i)); 
               $i++; 
            } 
musste es bei mir

Code: Alles auswählen

            $description = ''; 
            $i = 1; 
            while (($i<20) && (is_empty($description))) { 
               $description = strip_tags($tmp_article->getContent('CMS_HTMLHEAD',20, $i)); 
               $i++; 
            } 
heißen, weil ich im Modul für die Subheadline - aus welchen Gründen auch immer - eine klitzekleine Änderung vorgenommen hab: anstatt "CMS_HTMLHEAD[2]" heißt es bei mir "CMS_HTMLHEAD[20]".

Problem gelöst, Feed funzt. :roll:
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

Tja klein aber fein :wink:

Glückwunsch zur erfolgreichen Fehlersuche 8)

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Gesperrt