Hallo :smile:
Ich habe bemerkt, wenn die News fast täglich Neuzugänge erhalten, manche News rasch in den Hintergrund geraten.
Nun habe ich die Idee, in den Einstellungen (ähnlich wie im MxBoard-center-Block die Foren ausgeblendet) des im Titel erwähnten Blocks zusätzlich die catid=1,3, 7, 10 auswählen zu können (im Mx-Tab kann so beispielsweise die Block aussuchen, die angezeigt werden sollen).
In der Suche kamen bisher keine brauchbaren Codes hervor, so dass ich hier mal einen sauberen Thread eröffnen möchte, der nicht ohne Resultat geschlossen werden muss.
Wenn der Block funktioniert, würde ich diesen für den Download empfehlen.
Ich füge mal den Code hier ein, damit man sieht, womit man es zu tun hat.
/**
* -----------------------------------------------------------------------------
* Einstellungen fuer den Block
*/
// News-Modulname
$module_name = "News";
// BlockCache ermöglichen?
$mxblockcache = true;
// Anzahl der Spalten
$showcolumns = 2;
// Anzahl der Artikel die angezeigt werden,
// es kann anstatt $GLOBALS['storyhome'] auch eine normale Zahl angegeben werden
$storynum = $GLOBALS['storyhome'];
// Anzahl der Zeichen die angezeigt werden
$textlen = 120;
// Bilder im Text anzeigen
$showpics = true;
/**
* ##################################################################################################
*/
global $prefix;
if ($GLOBALS["multilingual"] == 1) {
if (ereg("german", $GLOBALS["currentlang"])) $thislang = "german";
else $thislang = $GLOBALS["currentlang"];
$querylang = "AND (alanguage LIKE '" . $thislang . "%' OR alanguage='')";
} else {
$querylang = "";
}
$qry = "SELECT s.sid, aid, s.title, time, DATE_ADD(time, INTERVAL 2 DAY) AS expire, now() AS nowi, hometext, bodytext, comments, s.counter, topic, informant, notes, acomm
FROM ${prefix}_stories AS s
WHERE (ihome='0' OR s.catid='0') AND time <= now() $querylang
ORDER BY s.time DESC, s.sid DESC
limit 0,$storynum";
$result = sql_query($qry);
if (!$result) {
return;
}
$list = array();
while ($story = sql_fetch_assoc($result)) {
$story['title'] = "<a href=\"modules.php?name=$module_name&file=article&sid=" . $story['sid'] . "\">" . strip_tags($story['title']) . "</a>";
$story['hometext'] = preg_replace('#<br\s*/*>#i', ' ', $story['hometext']);
if ($showpics) {
$story['hometext'] = strip_tags($story['hometext'], '<img>');
$replaces = array();
if (preg_match_all('#<img[^>]*>#si', $story['hometext'], $images)) {
foreach($images[0] as $i => $img) {
$alternate = md5($img);
$textlen = $textlen + strlen($alternate);
$replaces[$alternate] = $img;
$story['hometext'] = str_replace($img, $alternate, $story['hometext']);
}
}
$story['hometext'] = mxCutString(trim($story['hometext']), $textlen, "...", " ");
if (count($replaces)) {
$story['hometext'] = str_replace(array_keys($replaces), array_values($replaces), $story['hometext']);
}
} else {
$story['hometext'] = strip_tags($story['hometext']);
$story['hometext'] = mxCutString(trim($story['hometext']), $textlen, "...", " ");
}
$image = '';
if ($story['nowi'] < $story['expire']) {
$datetime = mx_strftime(_SHORTDATESTRING, mxSqlDate2UnixTime($story['time']));
$image = mxCreateImage("images/menu/new.gif", 'new: ' . $datetime) . ' ';
}
$list[] = '<p>' . $image . '<strong>' . $story['title'] . '</strong><br />' . $story['hometext'] . '</p>';
}
if ($list && $showcolumns > 1) {
$i = 0;
$width = (stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) ? 99 : 100;
$width = floor($width / $showcolumns);
$content = '<div>';
foreach ($list as $key => $value) {
$i++;
$content .= '
<div style="float: left; width: ' . $width . '%; overflow: hidden; margin: 0; padding: 0;">
<div style="margin-left: 3px; margin-right: 5px; margin-bottom: 5px; margin-top: 3px; padding: 0;">
' . $value . '
</div>
</div>
';
if ($i === $showcolumns) {
$content .= '<div style="clear: both;"></div>';
$i = 0;
}
}
if ($i !== 0) {
$content .= '<div style="clear: both;"></div>';
}
$content .= '</div>';
} else if ($list) {
$content = implode("\n", $list);
}
?>
Würde mich freuen, wenn mir da jemand die richtigen Ergänzungen zeigen könnte.