Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Случайная новость

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


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

вопрос
Есть модуль Вывод случайной новости:
У меня вывод изображения к новости настроен через доп. поле, а в модуле скорее всего стандартно, как сделать чтобы модуль выводил моим способом.
---------------------------------------------
*/
$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 - 26 июня 2014 22:47 -

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

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


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

whyso
Юзер

whyso - 27 июня 2014 09:57 -

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

FastFud
Юзер

FastFud - 27 июня 2014 14:18 -


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

потом

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

severnake
Юзер

severnake - 27 июня 2014 17:16 -

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

whyso
Юзер

whyso - 27 июня 2014 18:53 -

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

rocksmart
Юзер

rocksmart - 27 июня 2014 19:13 -

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

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


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

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

whyso
Юзер

whyso - 27 июня 2014 19:18 -

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

rocksmart
Юзер

rocksmart - 27 июня 2014 19:39 -

cache="yes"


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



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

whyso
Юзер

whyso - 27 июня 2014 19:41 -

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

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх