вопрос
Как реализовать заглушку в короткой новости если в ней отсутствует картинка?
Ответил: DanRacer
Нашёл такой хак
Но на DLE 9.4 не заработал. Где косяк?
Установка:
Вывод тегом в коротких новостях:
В файле engine/modules/show.short.php ищем:
Код: Выделить всё
$tpl->set( '{short-story}', stripslashes( "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['short_story'] . "</div>" ) );
}
После вставить следующий код:
Код: Выделить всё
$korotko = substr( stripslashes (strip_tags($row['short_story'], '<a><b><i><u><br></a><span>')), 0,999 )."...";
$shortnews = $row['short_story'];
$noimage = "http://dvigov.net/uploads/posts/2010-09/thumbs/1284128657_no-image.jpg";
if (preg_match_all( '#<img[^>]*\\ssrc=(\'|")(.*?)\\1.*?>#i',$shortnews,$total))
foreach( $total[2] as $shortnews )
{
$tpl->set( '{imgbla}',$shortnews);
} else {
$tpl->set( '{imgbla}',$noimage);
}
$tpl->set( '{korotko}',$korotko);
Вывод тегом в поиске:
В файле engine/modules/search.php ищем:
Код: Выделить всё
$tpl->set_block( "'\\[signature\\](.*?)\\[/signature\\]'si", "" );
$tpl->set( '{result-text}', "<div id='comm-id-" . $row['coms_id'] . "'>" . $row['story'] . "</div>" );
После вставить следующий код:
Код: Выделить всё
$korotko = substr( stripslashes (strip_tags($row['story'], '<a><b><i><u><br></a><span>')), 0,999 )."...";
$shortnews = $row['story'];
$noimage = "http://dvigov.net/uploads/posts/2010-09/thumbs/1284128657_no-image.jpg";
if (preg_match_all( '#<img[^>]*\\ssrc=(\'|")(.*?)\\1.*?>#i',$shortnews,$total))
foreach( $total[2] as $shortnews )
{
$tpl->set( '{imgbla}',$shortnews);
} else {
$tpl->set( '{imgbla}',$noimage);
}
$tpl->set( '{korotko}',$korotko);
Картинка выводится тегом:
Код: Выделить всё
{imgbla}
Текст новости выводится тегом:
Код: Выделить всё
{korotko}
Вывод тегом в коротких новостях:
В файле engine/modules/show.short.php ищем:
Код: Выделить всё
$tpl->set( '{short-story}', stripslashes( "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['short_story'] . "</div>" ) );
}
После вставить следующий код:
Код: Выделить всё
$korotko = substr( stripslashes (strip_tags($row['short_story'], '<a><b><i><u><br></a><span>')), 0,999 )."...";
$shortnews = $row['short_story'];
$noimage = "http://dvigov.net/uploads/posts/2010-09/thumbs/1284128657_no-image.jpg";
if (preg_match_all( '#<img[^>]*\\ssrc=(\'|")(.*?)\\1.*?>#i',$shortnews,$total))
foreach( $total[2] as $shortnews )
{
$tpl->set( '{imgbla}',$shortnews);
} else {
$tpl->set( '{imgbla}',$noimage);
}
$tpl->set( '{korotko}',$korotko);
Вывод тегом в поиске:
В файле engine/modules/search.php ищем:
Код: Выделить всё
$tpl->set_block( "'\\[signature\\](.*?)\\[/signature\\]'si", "" );
$tpl->set( '{result-text}', "<div id='comm-id-" . $row['coms_id'] . "'>" . $row['story'] . "</div>" );
После вставить следующий код:
Код: Выделить всё
$korotko = substr( stripslashes (strip_tags($row['story'], '<a><b><i><u><br></a><span>')), 0,999 )."...";
$shortnews = $row['story'];
$noimage = "http://dvigov.net/uploads/posts/2010-09/thumbs/1284128657_no-image.jpg";
if (preg_match_all( '#<img[^>]*\\ssrc=(\'|")(.*?)\\1.*?>#i',$shortnews,$total))
foreach( $total[2] as $shortnews )
{
$tpl->set( '{imgbla}',$shortnews);
} else {
$tpl->set( '{imgbla}',$noimage);
}
$tpl->set( '{korotko}',$korotko);
Картинка выводится тегом:
Код: Выделить всё
{imgbla}
Текст новости выводится тегом:
Код: Выделить всё
{korotko}
Но на DLE 9.4 не заработал. Где косяк?