Vielen Dank für die fixe und umfassende Antwort. Dann hab ich ja nun meine Hausaufgabe für Ostern
Beste Grüße
Markus
nuxx hat geschrieben:hat jemand schon mal ne Ausgabemodul gebastelt, das die Blogeinträge anteasert ?
<?php
$table_pre = "rex_".$REX['ADDON']['rxid']['tvsblog'];
$art_table = $table_pre . "_articles";
$cat_table = $table_pre . "_categories";
$tvsblog_entries = "";
echo "<h1>TVSBlog</h1><br />";
if ("REX_VALUE[1]" == "")
$tvsblog_entries = 5;
else
$tvsblog_entries = "REX_VALUE[1]";
if ("REX_VALUE[3]" == "")
$tvsblog_laenge = 250;
else
$tvsblog_laenge = "REX_VALUE[3]";
?>
Anzahl Blogeinträge pro Seite: <input name="VALUE[1]" type="text" size="5" value="<?php echo $tvsblog_entries; ?>" />
<br />
Anzahl der Zeichen für Artikel, welcher angeteasert wird: <input name="VALUE[3]" type="text" size="5" value="<?php echo $tvsblog_laenge; ?>" />
<br />
Nur aus folgender Kategorie:
<select name="VALUE[2]" class="rex-form-select">
<option value=""></option>
<?php
$cat_sql = new rex_sql();
$cat_sql->setQuery("SELECT * FROM " . $cat_table);
if ($cat_sql->getRows() > 0 )
{
for ($i = 1; $i <= $cat_sql->getRows(); $i++)
{
if ("REX_VALUE[2]" == $cat_sql->getValue('id'))
$selected = "selected";
else
$selected = "";
echo '<option value="' . $cat_sql->getValue('id') . '" ' . $selected . '>' . htmlspecialchars($cat_sql->getValue('title')) . '</option>';
$cat_sql->next();
}
}
?>
</select>
<br />
<br />
<?php
/* ******************************************************************
Ausgabe
*/
$laenge_standardwert = 250;
$table_pre = "rex_".$REX['ADDON']['rxid']['tvsblog'];
$thispage = "tvsblog";
$art_table = $table_pre . "_articles";
$cat_table = $table_pre . "_categories";
$tvsblog_post_id = rex_get('post_id', 'int', -1);
$tvsblog_tag = rex_get('tag', 'string', '');
$tvsblog_start = rex_get('tvsblog_start', 'int', -1);
// auslesen der vorgebenen Werte
if ($tvsblog_start != -1) {
$tvsblog_limit = "REX_VALUE[1]";
}
else
if ("REX_VALUE[1]" == "") {
$tvsblog_start = 0;
$tvsblog_limit = 5;
}
else {
$tvsblog_start = 0;
$tvsblog_limit = "REX_VALUE[1]";
}
if ("REX_VALUE[3]" != "") {
$tvsblog_laenge = "REX_VALUE[3]";
}
$myIniFile = $REX['INCLUDE_PATH'] . "/addons/" . $thispage . "/" . $thispage . ".ini";
$settings = parse_ini_file($myIniFile);
$sql_limit = " LIMIT " . $tvsblog_start . ", " . $tvsblog_limit;
$tvsblog_category = rex_get('tvsblog_category', 'int', -1);
if ($tvsblog_category == -1 && "REX_VALUE[2]" != "")
$tvsblog_category = "REX_VALUE[2]";
if($tvsblog_category != -1) {
$tvssql = " AND categories = " . $tvsblog_category;
$sql = new rex_sql();
$sql->setQuery("SELECT * FROM " . $cat_table . " WHERE id = " . $tvsblog_category);
if ($sql->getRows() > 0 )
{
echo "<h1>Die neuesten Blogeinträge aus der Kategorie '" . $sql->getValue('title') . "':</h1>";
}
}
else {
$tvssql = "";
}
if ($tvsblog_tag != "")
$tvssql .= " AND keywords like '%" . $tvsblog_tag . "%'";
// post_id hat Priorität...
if ($tvsblog_post_id != -1)
$tvssql .= " AND id = " . $tvsblog_post_id;
$sql = new rex_sql();
$sql->setQuery("SELECT * FROM " . $art_table . " WHERE status = 1 " . $tvssql . " ORDER BY create_date DESC ");
$total_rows = $sql->getRows();
$sql->setQuery("SELECT * FROM " . $art_table . " WHERE status = 1 " . $tvssql . " ORDER BY create_date DESC " . $sql_limit);
if ($sql->getRows() > 0 )
{
for ($i = 1; $i <= $sql->getRows(); $i++) {
echo "<div class=\"tvsblog_entry\">";
echo " <br />";
echo " <h2><a href='" . rex_getUrl(20,'', array('post_id'=>$sql->getValue('id')), '&') . "' target='_parent'>" . $sql->getValue('title') . "</a></h2>";
if ($tvsblog_laenge != "") {
if (strlen($sql->getValue('description')) > $laenge_standardwert) {
// Von Zeichen 0 an bis Wert REX_VALUE[3] + "..." bilden den neuen String.
$tvsoutput = substr($sql->getValue('description'),0,$tvsblog_laenge) . "...";
}
else {
// Sollte der Text kuerzer als 250 Zeichen sein, so wird der Text ungekuerzt ausgegeben.
$tvsoutput = $sql->getValue('description');
}
}
else {
// Sollte kein Wert hinterlegt sein, so wird der Text auf 250 Zeichen gekuerzt.
$tvsoutput = substr($sql->getValue('description'),0,$laenge_standardwert) . "...";
}
// Ausgabe des Datum
echo " <div class=\"tvsblog_author\">";
echo " <p>vom " . date("d.m.Y", $sql->getValue('create_date')) . "</p>";
echo " </div>";
$article = new rex_article();
echo $article->replaceLinks($tvsoutput);
echo " <p> </p>";
$sql->next();
}
}
else
echo "Derzeit liegen keine neuen News vor. Schauen Sie später doch noch einmal vorbei.";
?>
Mitglieder in diesem Forum: Google [Bot] und 2 Gäste