» Forum » Clanscript » Module und Modifikationen » Lastnews Box mit kurzer Textvorschau
  Mitglieder   |   Gallery   |   FAQ's   |   Regeln

[ Anmelden zum schreiben ]

Lastnews Box mit kurzer Textvorschau
E|_3ment
Mitglied
2 Beitragspunkte
Posts: 34

0 Mitglieder finden den Beitrag gut.

Merkliste 05.02.2011 - 13:43:29     Zitieren
Hallo liebe Community,
ich versuche gerade ein paar Boxen anzupassen und hatte mir gedacht, dass es wirkich schön wäre, wenn man bei der Lastnews Box nicht nur den Titel sieht sondern auch den Text.
Also habe ich es ein bisschen bearbeitet und mit:
<div>'.$row->news_title.'</div>
<div><p>'.$row->news_text.' </p></div>

klappt soweit auch alles. Dazu habe ich jetzt nur eine Frage... Da die Newstexte durchaus auch mal in die länge gehen können, wollte ich nach einer Lösung fragen, wie man es schaffen kann, das die Box nur vielleicht 20 Wörter des Eintrages anzeigt oder wie lässt man nur die Textvorschau anzeigen?
Ich freue mich über jegliche Hilfe sehr!
Mit freundlich Grüßen,
E|_3ment


Zuletzt modifiziert von E|_3ment am 05.02.2011 - 14:00:12
Chapter
Moderator
208 Beitragspunkte
Posts: 5677

User Pic

1 Mitglieder finden den Beitrag gut.

Merkliste 05.02.2011 - 14:41:34     Zitieren


Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
E|_3ment
Mitglied
2 Beitragspunkte
Posts: 34

0 Mitglieder finden den Beitrag gut.

Merkliste 13.02.2011 - 14:46:36     Zitieren
Original:
<h2 class="widgettitle">'.$row->news_title.'</h2>
<div class="textwidget"><p>'.$row->news_text.' </p>
<a href="index.php?news-'.$row->news_id.'" title="'.$row->news_title.'" class="continue"><span>Continue Reading »</span></a></div>


Inhalte vom Link:
// Die ersten 20 Zeichen von $string ausgeben:
echo substr($string, 0, 20);

 
// Nur ganze Wörter, max. 20 Zeichen von $string ausgeben:
$parts= explode("\n", wordwrap($string, 20, "\n"));
echo $parts[0];


Versuch 1:
<h2 class="widgettitle">'.$row->news_title.'</h2>
<div class="textwidget"><p>;'substr($$row->news_text, 0, 20)' </p><a href="index.php?news-'.$row->news_id.'" title="'.$row->news_title.'" class="continue"><span>Continue Reading »</span></a></div>


Versuch 2:
<h2 class="widgettitle">'.$row->news_title.'</h2>
<div class="textwidget"><p>'.((strlen($row['news_text'])<18) ? $row['news_text'] : substr($row['name'],0,15).'</p><a href="index.php?news-'.$row->news_id.'" title="'.$row->news_title.'" class="continue"><span>Continue Reading »</span></a></div>


Download aller Dateien:
wow-powerlvling.de/boxes.rar

Ich brauche dringend Hilfe, und da ich kein PHP-Experte bin, waren alle Versuche rein geraten. Könnte mir vielleicht jemand den richtigen Code zusammen schnipseln? Ich würde mich sehr freuen.

Mit freundlichen Grüßen,
E|_3ment
Chapter
Moderator
208 Beitragspunkte
Posts: 5677

User Pic

1 Mitglieder finden den Beitrag gut.

Merkliste 13.02.2011 - 16:16:10     Zitieren
<?php 
#   Copyright by Manuel
#   Support www.ilch.de


defined ('main') or die ( 'no direct access' );


	$abf = 'SELECT * 
	        FROM prefix_news 
					WHERE news_recht >= '.$_SESSION['authright'].'
					ORDER BY news_time DESC
					LIMIT 0,1';
	$erg = db_query($abf);
  echo '<li id="text-4" class="widget widget_text">';
  while ($row = db_fetch_object($erg)) {  
 

$text = $row->news_text;
$GekuerzterText = substr($text, 0, 3);
		
echo '
		
		<h2 class="widgettitle">'.$row->news_title.'</h2>
			<div class="textwidget"><p>'.$GekuerzterText.'</p>
					<a href="index.php?news-'.$row->news_id.'" title="'.$row->news_title.'" class="continue"><span>Continue Reading &raquo;</span></a></div>
		
		';
  }
  echo '</li>';


?>


Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
E|_3ment
Mitglied
2 Beitragspunkte
Posts: 34

0 Mitglieder finden den Beitrag gut.

Merkliste 13.02.2011 - 16:56:52     Zitieren
Vielen Lieben dank, klappt einwandfrei!
E|_3ment
Mitglied
2 Beitragspunkte
Posts: 34

0 Mitglieder finden den Beitrag gut.

Merkliste 13.02.2011 - 19:58:19     Zitieren
Nochmal vielen Dank, an sich klappt alles super und auch ohne Probleme.
Perfekt wäre es, wenn man jetzt zum Beispiel nur die News einer Kateogorie anzeigen könnte. Dazu hat mir die Suchfunktion leider keine passenden Antworten ausgegeben und deshalb frage ich hier nochmal!
Ist es ohne viel aufhand möglich?

mit freundlichen Grüßen,
E|_3ment
Chapter
Moderator
208 Beitragspunkte
Posts: 5677

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 14.02.2011 - 14:49:59     Zitieren
<?php 
#   Copyright by Manuel
#   Support www.ilch.de
 
 
defined ('main') or die ( 'no direct access' );

/*Hier muss die kategorie eingetragen werden*/
/*Es muss auf die korrekte schreibweise geachtet werden*/

 $katname ="Allgemein";
 
 /*Beginn der abfrage*/
 
    $abf = 'SELECT * 
            FROM prefix_news 
                    WHERE  news_recht >= '.$_SESSION['authright'].'
                    ORDER BY news_time DESC
                    LIMIT 0,5';
    $erg = db_query($abf);
  echo '<li id="text-4" class="widget widget_text">';
  while ($row = db_fetch_object($erg)) {  

/*string kürzen*/
 
$text = $row->news_text;
$GekuerzterText = substr($text, 0, 10);

/*überprüfen der kategorie und ausgabe der daten */


if ($row->news_kat == $katname) {
echo ' 
        <h2 class="widgettitle">'.$row->news_title.'</h2>
            <div class="textwidget"><p>'.$GekuerzterText.'</p>
                    <a href="index.php?news-'.$row->news_id.'" title="'.$row->news_title.'" class="continue"><span>Continue Reading &raquo;</span></a></div>
        
        ';
  }
  echo '</li>';
  
  }
 
?>



Zuletzt modifiziert von Chapter am 14.02.2011 - 14:52:44


Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
E|_3ment
Mitglied
2 Beitragspunkte
Posts: 34

1 Mitglieder finden den Beitrag gut.

Merkliste 14.02.2011 - 16:43:30     Zitieren
Super klasse es klappt mal wieder einwandfrei! Vielen, vielen Dank!
lostboy2003
Mitglied
14 Beitragspunkte
Posts: 260

0 Mitglieder finden den Beitrag gut.

Merkliste 21.01.2012 - 14:59:50     Zitieren
Entschuldigt bitte das ich diesen tread wieder auspacke der mitlerweile fast 1 jahr alt ist da ich aber bisher bei der suche nicht das gefunden habe was ich suche und dieses thema nen punkt beinhaltet der mich interessieren würde.

Wir haben auf der hp ein paar leute die etwas längere namen haben .

Sobald die einen beitrag schreiben wird durch den zu langen namen die lastforen box nach unten verschoben und damit das design zerstört . gibt es auch die möglichkeit die länge der namen in der lastforum box zu kürzen so wie man es mit dem forentitel oder wie hier mit dem text das man diesen kürzen kann .

hoffe habe mich verständlich ausgedrückt mit meinem anliegen .
und hoffe das mir hier geholfen werden kann .

Betroffene Seite : www.lost-boys-gaming.de

<style type="text/css">

.lastautor { 
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #ec6d06;
font-size:9px;
}
.lastautor:hover { 
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #ec6d06;
font-size:9px;
}

.vor { 
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #999;
font-size:9px;
}

</style>

<?php 
#   Copyright by C.C.A.A
#   Support www.DragonDesigns.de

defined ('main') or die ( 'no direct access' );


$query = "SELECT a.id, a.name, a.rep, a.erst as autor, b.id as fid, c.erst as last, c.id as pid, c.time , c.erstid as erstid
  FROM prefix_topics a
  LEFT JOIN prefix_forums b ON b.id = a.fid
  LEFT JOIN prefix_posts c ON c.id = a.last_post_id
  LEFT JOIN prefix_forumcats d ON d.id = b.cid AND b.id = a.fid
  LEFT JOIN prefix_groupusers vg ON vg.uid = ".$_SESSION['authid']." AND vg.gid = b.view
  LEFT JOIN prefix_groupusers rg ON rg.uid = ".$_SESSION['authid']." AND rg.gid = b.reply
  LEFT JOIN prefix_groupusers sg ON sg.uid = ".$_SESSION['authid']." AND sg.gid = b.start
WHERE ((".$_SESSION['authright']." <= b.view AND b.view < 1) 
   OR (".$_SESSION['authright']." <= b.reply AND b.reply < 1)
   OR (".$_SESSION['authright']." <= b.start AND b.start < 1)
	 OR vg.fid IS NOT NULL
	 OR rg.fid IS NOT NULL
	 OR sg.fid IS NOT NULL
	 OR -9 >= ".$_SESSION['authright'].")
ORDER BY c.time DESC
LIMIT 0,5";
echo '<table width="100%" style="padding-top:0px; padding-bottom:2px;" cellspacing="2" cellpadding="3">';
$resultID = db_query($query);
while ($row = db_fetch_assoc($resultID)) {
	$row['page'] = ceil ( ($row['rep']+1)  / $allgAr['Fpanz'] );
	$row['ORD']  = forum_get_ordner($row['time'],$row['id'],$row['fid']);

echo'<tr>';
echo'<td><table width="100%" border="0" cellspacing="1" cellpadding="12">';
echo'<tr>';
echo'<td rowspan="2" align="center" valign="middle"><img style="padding-right:5px;" src="include/images/forum/'.$row['ORD'].'.png" width="22" height="22" /></td>';
echo'<td width="100%" colspan="2" align="left"><b><a style="color:#888;" href="?forum-showposts-'.$row['id'].'-p'.$row['page'].'#'.$row['pid'].'" title="'.$row['date'].'">'.((strlen($row['name'])<33) ? $row['name'] : substr($row['name'],0,31).'...').'</a></b></td>';
echo'</tr>';
echo'<tr>';
echo'<td width="60%" align="left" class="vor">Autor:&nbsp;<a class="lastautor">'.$row['autor'].'</a></td>';
echo'<td width="40%" align="left" class="vor">letzter:&nbsp;<a class="lastautor" href="index.php?user-details-'.$row['erstid'].'">'.$row['last'].'</a></td>';
echo'</tr>';
echo'</table></td>';
echo'</tr>';
}
echo '</table>';
?>


Bedanke mich schon mal im vorraus für jede hilfe.

Mfg lostboy2003

PS:Benutze Firefox 9.0.1 als Browser und ilch version 1.1o

ok habs erst mal über die index.htm gemacht und die box ein wenig vergrössert . Falls doch noch wer den lösungsvorschlag haben sollte den ich mir wünsche würde ich mich sehr freuen .


Zuletzt modifiziert von lostboy2003 am 21.01.2012 - 17:52:31


lostboy2003.bplaced.net/
www.lost-boys-gaming.de

[ Anmelden zum schreiben ]