Форум -> News (модуль и блок) -> Обрезание новости, как? | Обрезание новости, как? |
---|
SE7EN | Дата: 19.06.2009, в 07:53 | Сообщение №1 | ПользовательПользователь №: 396 Сообщений: 37
| <td>".bb_decode($hometext, 'news')."</td> если делаю так то показывает и вложение к новости и полный текст превью новости.
Как сделать чтоб резало только превью ну скажем оставляло 200 символов?
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно SE7EN 19.06.2009 г. в 07:53:58 |
| | Serg_pnz | Дата: 19.06.2009, в 09:24 | Сообщение №2 | АдминистраторПользователь №: 1 Сообщений: 2243
| В зависимости от версии. можно например так
Код | 1
| cutstr(text_filter(bb_decode($description, $conf['name'])), 500) |
$hometext и есть первая часть новости, вероятно чуть выше по коду она слита со второй. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | SE7EN | Дата: 19.06.2009, в 11:40 | Сообщение №3 | ПользовательПользователь №: 396 Сообщений: 37
| Serg_pnz, вод код блока, тут в колонке слева выводится новость, надо чтоб работали bb коды но само превью новости обрезалось, ну скажем например 150 символов - я не могу никак догнать как это сделать.
PHP - Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| <?php if (!defined("BLOCK_FILE")) { Header("Location: ../index.php"); exit; }
global $prefix, $db;
# опции начало $strip_title = 43; $strip_hometext = 100; # опции конец
$content .= "<table width=\"100%\" border=\"0\"><tr><td class=\"block-title\">"._NEWS."</td></tr><tr><td><table width=\"100%\" border=\"0\"><tr><td width=\"50%\">"; $result = $db->sql_query(" SELECT a.sid, a.title, UNIX_TIMESTAMP(a.time) as formatted, a.hometext, a.comments, a.counter, c.title FROM ".$prefix."_stories AS a LEFT JOIN ".$prefix."_categories AS c ON c.id = a.catid ORDER BY a.sid DESC LIMIT 0,4"); while(list($sid, $title, $time, $hometext, $comments, $counter, $cat_title) = $db->sql_fetchrow($result)){ $data = date("d.m.Y", $time); $title = cutstr($title, $strip_title); if($a < 1){ /*вывод новости слева*/ $content .= "<table width=\"100%\" border=\"0\"> <tr><td><font class=\"small\">$data</font> <font class=\"block-cat\">$cat_title</font> <tr><td>".cutstr(strip_tags(bb_decode($hometext, 'news')), $strip_hometext)."</td></tr> <tr><td><font class=\"small\">"._COMMENTS." $comments "._READS." $counter</font></td></tr> </table>
</td><td class=\"vl\"> </td> <td>"; $a++; }else{ /*вывод новостей справа*/ $content .= "<table width=\"100%\" border=\"0\"> <tr><td><font class=\"small\">$data</font> <font class=\"block-cat\">$cat_title</font> $content .= "<tr><td>"; // чтоб показывалось превю новостей слева раскоментировать строчку ниже //$content .= "".cutstr(strip_tags(bb_decode($hometext, 'news')), $strip_hometext).""; $content .= "</td>"; $content .= "</tr>"; $content .= "</table>"; } } $content .= "</td></tr></table></td></tr><tr><td align=\"right\" class=\"morelink\"><a href=\"index.php?name=news\">ВСЕ НОВОСТИ...</a></td></tr></table>"; ?> |
|
| | Serg_pnz | Дата: 19.06.2009, в 11:48 | Сообщение №4 | АдминистраторПользователь №: 1 Сообщений: 2243
| SE7EN, версию систему мы должны угадать? | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | SE7EN | Дата: 19.06.2009, в 14:01 | Сообщение №5 | ПользовательПользователь №: 396 Сообщений: 37
| | | Serg_pnz | Дата: 19.06.2009, в 15:49 | Сообщение №6 | АдминистраторПользователь №: 1 Сообщений: 2243
| Выкладываю блок целиком, поскольку твой содержал ошибки
Код | 1
| <?php
if (!defined("BLOCK_FILE")) {
Header("Location: ../index.php");
exit;
}
global $prefix, $db;
# опции начало
$strip_title = 43;
$strip_hometext = 300;
# опции конец
$content .= "<table width=\"100%\" border=\"0\"><tr><td class=\"block-title\">"._NEWS."</td></tr><tr><td><table width=\"100%\" border=\"0\"><tr><td width=\"50%\">";
$result = $db->sql_query("
SELECT a.sid, a.title, UNIX_TIMESTAMP(a.time) as formatted, a.hometext, a.comments, a.counter, c.title FROM ".$prefix."_stories AS a LEFT JOIN ".$prefix."_categories AS c ON c.id = a.catid ORDER BY a.sid DESC LIMIT 0,4");
while(list($sid, $title, $time, $hometext, $comments, $counter, $cat_title) = $db->sql_fetchrow($result)){
$data = date("d.m.Y", $time);
$title = cutstr($title, $strip_title);
if($a < 1){
/*вывод новости слева*/
$content .= "<table width=\"100%\" border=\"0\"><tr><td><font class=\"small\">$data</font> <font class=\"block-cat\">$cat_title</font><tr><td>".cutstr(bb_decode($hometext, 'news'), $strip_hometext)."</td></tr><tr><td><font class=\"small\">"._COMMENTS." $comments "._READS." $counter</font></td></tr></table></td><td class=\"vl\"></td><td>";
$a++;
}else{
/*вывод новостей справа*/
$content .= "<table width=\"100%\" border=\"0\"><tr><td><font class=\"small\">$data</font> <font class=\"block-cat\">$cat_title</font>";
$content .= "<tr><td>";
// чтоб показывалось превю новостей слева раскоментировать строчку ниже
$content .= "".cutstr(strip_tags(bb_decode($hometext, 'news')), $strip_hometext)."";
$content .= "</td>";
$content .= "</tr>";
$content .= "</table>";
}
}
$content .= "</td></tr></table></td></tr><tr><td align=\"right\" class=\"morelink\"><a href=\"index.php?name=news\">ВСЕ НОВОСТИ...</a></td></tr></table>";
?> |
Пример обрезания тут
Код | 1
| .cutstr(bb_decode($hometext, 'news'), $strip_hometext). |
| Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | SE7EN | Дата: 19.06.2009, в 18:53 | Сообщение №7 | ПользовательПользователь №: 396 Сообщений: 37
| | | | Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|
|