Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Модули » Случайная новость

Случайная новость


     модуль дле, случайная новость dle    Все вопросы » Модули    3342

вопрос
Есть модуль Вывод случайной новости:
У меня вывод изображения к новости настроен через доп. поле, а в модуле скорее всего стандартно, как сделать чтобы модуль выводил моим способом.
---------------------------------------------
*/
$kol = 100; // количество символов в выводе короткой новости в блоке
$maxWidth = 150; // максимальная ширина изображения
$maxHeight = 150; // максимальная высота изображения

$db->query("SELECT COUNT(*) FROM ".PREFIX ."_post");
$row = $db->get_row();

$offset = mt_rand(0, $row['COUNT(*)']-1);
$db->query("SELECT * FROM ".PREFIX ."_post LIMIT 1 OFFSET $offset");

$row = $db->get_row();
preg_match_all( '|<img[\s]+src[\s]*=[\s]*\"([^\"]*)\"|', $row['short_story'], $matches );

if ($matches[1][0] != '') {
$imageinfo = @getimagesize($matches[1][0]);  
$width  = $imageinfo[0];
$height = $imageinfo[1];

if ($width > $height) {
   $fltRatio = floatval($maxWidth / $width);
} else {
   $fltRatio = floatval($maxHeight / $height);
}

$intNewWidth  = intval($fltRatio * $width);
$intNewHeight = intval($fltRatio * $height);
    
$pic = '<center><img src="'.$matches[1][0].'" width="'.$intNewWidth.'" height="'.$intNewHeight.'"></center>';
} else {$img = '';}

$news_r = '<b>'.'<center>'.ucfirst($row['title']).'</b>'.'<br>';
if ($pic != '') {$news_r .= '<br>'.$pic;}
if ($config['allow_alt_url'] == "yes") {
if ($row['flag'] AND $config['seo_type']) {
if ($row['category'] AND $config['seo_type'] == 2) {
$full_link = $config['http_home_url'].get_url($row['category'])."/".$row['id']."-".$row['alt_name'].".html";
} else {
$full_link = $config['http_home_url'].$row['id']."-".$row['alt_name'].".html";
} } else {
$full_link = $config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html";
} } else { $full_link = $config['http_home_url'].$row['id']."-".$row['alt_name'].".html"; }
if (strlen($story) >= 0) {$news_r .= substr($story,0,$kol).'<br><a href="'.$full_link.'">Cмотреть</a>';}
echo $news_r;
?>

Ответа пока нет


9 комментариев

FastFud
Юзер

FastFud - -

1. Есть модуль BlockPro
2.

$xfieldsdata = xfieldsdataload( $row['xfields'] );
в нужном месте.
$xfieldsdata['image']


image - название допо поля.

whyso
Юзер

whyso - -

FastFud,а можно поподробней модуль установил, куда код который Вы дали пихать?

FastFud
Юзер

FastFud - -


после
$row = $db->get_row();
добавить
$xfieldsdata = xfieldsdataload( $row['xfields'] );

потом

$pic = '<center><img src="'.$xfieldsdata['image'] .'" width="'.$intNewWidth.'" height="'.$intNewHeight.'"></center>';

severnake
Юзер

severnake - -

а через кастом с сорт ранд - нет?)

whyso
Юзер

whyso - -

FastFud, не помогает, не выводит картинку((
Помогите пожалуйста, очень нужно.

rocksmart
Юзер

rocksmart - -

да выводи через родной тег

{custom template="custom" limit="1" order="rand" cache="yes"}


custom ->твой шаблон

А твой код фигня - два не нужных запроса без кеширования

whyso
Юзер

whyso - -

rocksmart, я бы с радостью но нужно чтобы при обновлении страницы показывал уже другую новость, а не эту же.

rocksmart
Юзер

rocksmart - -

cache="yes"


cache принимает значения yes или no - устанавливает кешировать вывод или нет, рекомендуется кешировать для снижения нагрузки.



почитай дукументацию http://dle-news.ru/extras/online/index.html?startnews.html

whyso
Юзер

whyso - -

rocksmart,благодарю, выручили очень)

Похожие вопросы

наверх