avatar_PRO100CKOPOCT6

Новости DEW Update2: отображение новостей

Автор PRO100CKOPOCT6, 2014 Фев. 26, 15:24

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] проблемырешениеновости dew update2стандартный модуль новостей

PRO100CKOPOCT6

Доброго времени суток.
Cуть в том что стандартный модуль новостей был не совсем рабочий. некоторые теги не работали. Пришлось его удалить и написать новость с нуля без всяких запросов в базу. Просто News.php. так вот проблема в том что к примеру на 17 дюймовом мониторе, или любом телефоне, новость вылазит за рамки сайта. Надо както сделать чтобы оно при изменении засширения не выпускало новость за свои рамки.
Может можно както задать таблицу или еще както?

westfire

Или, просто кинуть, какой-нибудь модуль новостей.

f1x

Рабочий он все.
Вот не много переделанный.

Спойлер
<?
################################################
#                                              #
#          Deathless Engine Web                #
#                                              #
#          Copyright: Deathless                #
#          Skype: MuAntrum                     #
#          E-Mail: [email protected]          #
#                                              #
################################################
?>
<?php

if(!defined('DEW_Engine')) {
Exit;
}

ob_start();
if (!$old_page_content = ReadCache("News-".$lang.$Web_URL[1], $Web['cache_time']*60)) {

$get_forum_ = $DB->Query("SELECT TOP 100 * FROM [DEW_forum_topics] where forum_id = '".$Forum['news_id']."' order by start_date desc");

$m_page         = $Web_URL[1];
if(!$m_page)   {   $m_page   = '1';   }
$total_news      = $DB->NumRows($get_forum_);
$total_pages   = $total_news / $Web['news_per_page'];
$r_pages      = round($total_pages);
if($r_pages > $total_pages) {
$total_pages   = $r_pages;
}
$i_value_s   = $Web['news_per_page'] * $m_page - $Web['news_per_page'];
$i_value_e   = $Web['news_per_page'] * $m_page - 1;
$last_minus_five   = $total_pages - 4;
if($m_page == 1) {
$start_list = 1;
$end_list    = 5;
$pre_last    = $total_pages - 1;
$last_show    = $total_pages;
}
elseif($m_page == $total_pages) {
$start_list      = $total_pages;
$end_list       = $total_pages - 4;
$first_show      = 1;
$after_first   = $first_show + 1;
}
elseif($m_page >= 5 AND $m_page <= $last_minus_five) {
$middle_show   = 1;
$start_list      = $m_page - 2;
$end_list       = $m_page + 2;
$show_first_page= 1;
$show_last_page   = $total_pages;
$show_after_first_page    = 2;
$show_before_last_page   = $total_pages - 1;
}
elseif($m_page >= 1 AND $m_page < 5) {
$start_list   = 1;
$end_list    = 5;
$pre_last    = $total_pages - 1;
$last_show    = $total_pages;
}
elseif($m_page >= $last_minus_five AND $m_page < $total_pages) {
$start_list   = $total_pages;
$end_list    = $total_pages - 4;
$first_show   = 1;
$after_first= $first_show + 1;
}
for($i = 0; $i < $total_pages; ++$i) {
$page_n   = $i + 1;
if($page_n == $m_page) {
$page_list   .= "<a class="pagestyle"><b>$page_n</b></a>&nbsp;";
}
else {
if($last_show) {
if(($page_n >= $start_list AND $page_n <= $end_list) OR $page_n == $last_show) {
$page_list   .= "<a class="pagestyle" href="".$URL_class->DEW_Crypt('News/'.$page_n)."">$page_n</a>&nbsp;";
}
elseif($page_n == $pre_last) {
$page_list   .= "...&nbsp;";
}
}
elseif($first_show) {
if(($page_n <= $start_list AND $page_n >= $end_list) OR $page_n == $first_show) {
$page_list   .= "<a class="pagestyle" href="".$URL_class->DEW_Crypt('News/'.$page_n)."">$page_n</a>&nbsp;";
}
elseif($page_n == $after_first) {
$page_list   .= "...&nbsp;";
}
}
elseif($middle_show) {
if(($page_n >= $start_list AND $page_n <= $end_list) OR $page_n == $show_first_page OR $page_n == $show_last_page) {
$page_list   .= "<a class="pagestyle" href="".$URL_class->DEW_Crypt('News/'.$page_n)."">$page_n</a>&nbsp;";
}
elseif($page_n == $show_after_first_page OR $page_n == $show_before_last_page) {
$page_list   .= "...&nbsp;";
}
}
}
}
$prev_p   = $m_page - 1;
if($prev_p < 1) {
$prev_page   = "<a class="pagestyle">&laquo;</a>&nbsp;";
}
else {
$prev_page   = "<a class="pagestyle" href="".$URL_class->DEW_Crypt('News/'.$prev_p)."">&laquo;</a>&nbsp;";
}
$next_p   = $m_page + 1;
if($m_page >= $total_pages) {
$next_page   = "<a class="pagestyle">&raquo;</a>&nbsp;";
}
else {
$next_page    = "<a class="pagestyle" href="".$URL_class->DEW_Crypt('News/'.$next_p)."">&raquo;</a>&nbsp;";
}

if ($DB->NumRows($get_forum_) == 0) {
echo "
<table width="100%">
<tr class="bgcol2">
<td>
".DEW_Message('notice',"List is empty!")."
</td>
</tr>
</table>
";
}
echo   '<div id="accordion">';
for($i=0;$i < $DB->NumRows($get_forum_);++$i) {
$forum = $DB->FetchArray($get_forum_);
$total_answers = $DB->Query("SELECT count(*) FROM [DEW_forum_posts] where topic_id = '".$forum['id']."'");
$total_answers = $DB->Result($total_answers, 0, 0);
$forum['start_date']=date("d.m.Y", $forum['start_date']);
if($i >= $i_value_s AND $i <= $i_value_e) {

?>

<table width="98%" align="center" style="padding-bottom:30px;">
<tr>
<td align="right"><b>&laquo; <?php echo substr($forum['topic_name'], 0, 50); ?> &raquo;</b></td>
<td align="right"><font color="#4a4848"><i><?php echo $forum['start_date'];?></i></font></td>
</tr>
<tr>
<td colspan="2" ><hr noshade align="center" color="#101519" size="1" width="98%"></td>
</tr>
<tr>
<td colspan="2" class="text_default"><?php echo forum_replace("show",$forum['first_post']);?></td>
</tr>
<tr>
<td colspan="2" ><hr noshade align="center" color="#101519" size="1" width="98%"></td>

</tr>
</table>

<?

}
else{ }
}
echo   '</div>';

if($DB->NumRows($get_forum_) > 0) {
echo "<br><div align="center">";
echo $prev_page.$page_list.$next_page;
echo "</div><br>";
}

$new_page_content   = ob_get_contents();
ob_clean();
WriteCache($new_page_content, "News-".$lang.$Web_URL[1]);
}
ob_end_clean();
echo $old_page_content.$new_page_content;

/*   Deathless Engine Web © 2010   */

?>
[свернуть]

HaPKoTuK

Цитата: f1x от 2014 Фев. 26, 18:07  Рабочий он все.
Вот не много переделанный.

Спойлер
<?
################################################
#                                              #
#          Deathless Engine Web                #
#                                              #
#          Copyright: Deathless                #
#          Skype: MuAntrum                     #
#          E-Mail: [email protected]          #
#                                              #
################################################
?>
<?php

if(!defined('DEW_Engine')) {
Exit;
}

ob_start();
if (!$old_page_content = ReadCache("News-".$lang.$Web_URL[1], $Web['cache_time']*60)) {

$get_forum_ = $DB->Query("SELECT TOP 100 * FROM [DEW_forum_topics] where forum_id = '".$Forum['news_id']."' order by start_date desc");

$m_page         = $Web_URL[1];
if(!$m_page)   {   $m_page   = '1';   }
$total_news      = $DB->NumRows($get_forum_);
$total_pages   = $total_news / $Web['news_per_page'];
$r_pages      = round($total_pages);
if($r_pages > $total_pages) {
$total_pages   = $r_pages;
}
$i_value_s   = $Web['news_per_page'] * $m_page - $Web['news_per_page'];
$i_value_e   = $Web['news_per_page'] * $m_page - 1;
$last_minus_five   = $total_pages - 4;
if($m_page == 1) {
$start_list = 1;
$end_list    = 5;
$pre_last    = $total_pages - 1;
$last_show    = $total_pages;
}
elseif($m_page == $total_pages) {
$start_list      = $total_pages;
$end_list       = $total_pages - 4;
$first_show      = 1;
$after_first   = $first_show + 1;
}
elseif($m_page >= 5 AND $m_page <= $last_minus_five) {
$middle_show   = 1;
$start_list      = $m_page - 2;
$end_list       = $m_page + 2;
$show_first_page= 1;
$show_last_page   = $total_pages;
$show_after_first_page    = 2;
$show_before_last_page   = $total_pages - 1;
}
elseif($m_page >= 1 AND $m_page < 5) {
$start_list   = 1;
$end_list    = 5;
$pre_last    = $total_pages - 1;
$last_show    = $total_pages;
}
elseif($m_page >= $last_minus_five AND $m_page < $total_pages) {
$start_list   = $total_pages;
$end_list    = $total_pages - 4;
$first_show   = 1;
$after_first= $first_show + 1;
}
for($i = 0; $i < $total_pages; ++$i) {
$page_n   = $i + 1;
if($page_n == $m_page) {
$page_list   .= "<a class="pagestyle"><b>$page_n</b></a>&nbsp;";
}
else {
if($last_show) {
if(($page_n >= $start_list AND $page_n <= $end_list) OR $page_n == $last_show) {
$page_list   .= "<a class="pagestyle" href="".$URL_class->DEW_Crypt('News/'.$page_n)."">$page_n</a>&nbsp;";
}
elseif($page_n == $pre_last) {
$page_list   .= "...&nbsp;";
}
}
elseif($first_show) {
if(($page_n <= $start_list AND $page_n >= $end_list) OR $page_n == $first_show) {
$page_list   .= "<a class="pagestyle" href="".$URL_class->DEW_Crypt('News/'.$page_n)."">$page_n</a>&nbsp;";
}
elseif($page_n == $after_first) {
$page_list   .= "...&nbsp;";
}
}
elseif($middle_show) {
if(($page_n >= $start_list AND $page_n <= $end_list) OR $page_n == $show_first_page OR $page_n == $show_last_page) {
$page_list   .= "<a class="pagestyle" href="".$URL_class->DEW_Crypt('News/'.$page_n)."">$page_n</a>&nbsp;";
}
elseif($page_n == $show_after_first_page OR $page_n == $show_before_last_page) {
$page_list   .= "...&nbsp;";
}
}
}
}
$prev_p   = $m_page - 1;
if($prev_p < 1) {
$prev_page   = "<a class="pagestyle">&laquo;</a>&nbsp;";
}
else {
$prev_page   = "<a class="pagestyle" href="".$URL_class->DEW_Crypt('News/'.$prev_p)."">&laquo;</a>&nbsp;";
}
$next_p   = $m_page + 1;
if($m_page >= $total_pages) {
$next_page   = "<a class="pagestyle">&raquo;</a>&nbsp;";
}
else {
$next_page    = "<a class="pagestyle" href="".$URL_class->DEW_Crypt('News/'.$next_p)."">&raquo;</a>&nbsp;";
}

if ($DB->NumRows($get_forum_) == 0) {
echo "
<table width="100%">
<tr class="bgcol2">
<td>
".DEW_Message('notice',"List is empty!")."
</td>
</tr>
</table>
";
}
echo   '<div id="accordion">';
for($i=0;$i < $DB->NumRows($get_forum_);++$i) {
$forum = $DB->FetchArray($get_forum_);
$total_answers = $DB->Query("SELECT count(*) FROM [DEW_forum_posts] where topic_id = '".$forum['id']."'");
$total_answers = $DB->Result($total_answers, 0, 0);
$forum['start_date']=date("d.m.Y", $forum['start_date']);
if($i >= $i_value_s AND $i <= $i_value_e) {

?>

<table width="98%" align="center" style="padding-bottom:30px;">
<tr>
<td align="right"><b>&laquo; <?php echo substr($forum['topic_name'], 0, 50); ?> &raquo;</b></td>
<td align="right"><font color="#4a4848"><i><?php echo $forum['start_date'];?></i></font></td>
</tr>
<tr>
<td colspan="2" ><hr noshade align="center" color="#101519" size="1" width="98%"></td>
</tr>
<tr>
<td colspan="2" class="text_default"><?php echo forum_replace("show",$forum['first_post']);?></td>
</tr>
<tr>
<td colspan="2" ><hr noshade align="center" color="#101519" size="1" width="98%"></td>

</tr>
</table>

<?

}
else{ }
}
echo   '</div>';

if($DB->NumRows($get_forum_) > 0) {
echo "<br><div align="center">";
echo $prev_page.$page_list.$next_page;
echo "</div><br>";
}

$new_page_content   = ob_get_contents();
ob_clean();
WriteCache($new_page_content, "News-".$lang.$Web_URL[1]);
}
ob_end_clean();
echo $old_page_content.$new_page_content;

/*   Deathless Engine Web © 2010   */

?>
[свернуть]

что переделал  ?

westfire

Благодарим. Проверим. Если,  всё, норм от нас +. А, что переделано?

f1x

#5
Цитата: westfire от 2014 Фев. 26, 19:12  Благодарим. Проверим. Если,  всё, норм от нас +. А, что переделано?
Честно говоря даже не помню... Это было пол года назад..
Что то лишнее убрал, а что уже и не помню.

Еще нашел что-то
В принципе можно еще и так их вывести.
Спойлер
<?php

// Новости

if(!defined('DEW_Engine')) {
Exit;
}

ob_start();

if (!$OldContent = ReadCache("news", $f1x['cache_news']*60)) {
$RSS = simplexml_load_file($f1x['news']);
$Items = $RSS->channel->item;

function PrewText($Text,$Max = 500) {
$Words = explode(' ',$Text);
$Text='';

foreach ($Words as $Word) {
if (mb_strlen($Text.' '.$Word) < $Max) {
$Text.=' '.$Word;
}
else {
$Text.='...</span></strong>';
break;
}
}
return $Text;
}

if(count($Items) > 0) {
foreach ($RSS->channel->item as $Item) {
$Link = $Item->link;
$Title = $Item->title;
$Date = date($Time['format'],strtotime($Item->pubDate));
$Description = $Item->description;

echo '<table class="news_block">
<tr>
<td colspan="2" class="title"><a href="'.$Link.'">'.$Title.'</a><span class="date">'.$Date.'</span></td>
</tr>
<tr>
<td rowspan="2"></td>
<td class="text">'.PrewText($Description,1700).'<br/></td>
</tr>
<tr>
<td class="info"><a href="'.$Link.'" class="a_button">Подробнее</a></td>
</tr>
<tr>
<td colspan="2" class="news_footer"></td>
</tr>
</table>';
}
}
else {
echo Message('warning','Новости временно недоступны!');
}

$NewContent = ob_get_contents();
ob_clean();
WriteCache($NewContent, "news");
}

ob_end_clean();
echo $OldContent.$NewContent;

?>
[свернуть]
А в конфиг вбить
Спойлер
   $f1x['news']                  = 'ссылка на rss новостей';
$f1x['cache_news']               = 120;
[свернуть]

Как вариант еще
Спойлер
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>NAME OF SERVER</title>
<style type="text/css">
html, body, form, ul, li, h4 { margin:0; padding:0; border:0; overflow:hidden; background: url('images/main/launcher.png');  font: 8pt sans-serif; color:#5c3f2d; }
a, a:link, a:visited, td { color:#5c3f2d; text-decoration:none; font: 8pt sans-serif; }
</style>
</head>
<body oncontextmenu="return false" ondragstart="return false" onselectstart="return false" scroll="no">
<?php

header("Content-type:text/html; Charset=UTF-8");
error_reporting(E_ALL ^E_WARNING ^E_NOTICE);

require_once 'config.php';
require_once 'Includes/DEW_Engine.php';

ob_start();

if (!$OldContent = ReadCache("launcher", $Web['cache_rss']*60)) {
$RSS = simplexml_load_file($Web['rss']);
$Items = $RSS->channel->item;

function RemoveSpace($String) {
$String = preg_replace ('/s+/', ' ', $String) ;
$String = trim($String) ;
return $String;
}

function PrewText($Text,$Max = 500) {
$Words = explode(' ',$Text);
$Text='';

foreach ($Words as $Word) {
if (mb_strlen($Text.' '.$Word) < $Max) {
$Text.=' '.$Word;
}
else {
$Text.='...</span></strong>';
break;
}
}
return $Text;
}

if(count($Items) > 0) {
foreach ($RSS->channel->item as $Item) {
$Link = $Item->link;
$Title = PrewText($Item->title,'50');
$Date = date($Web['format'],strtotime($Item->pubDate));

echo '<table>
<tr>
<td><a href="'.$Link.'" target="_blank">'.PrewText($Title,100).'</a></td>
</tr>
<tr>
<td>'.$Date.'</td>
</tr>
</table><br>';
}
}
else {
echo '<font color="red">Временно недоступно</font>';
}

$NewContent = ob_get_contents();
ob_clean();
WriteCache($NewContent, "launcher");
}

ob_end_clean();
echo $OldContent.$NewContent;

?>
</body>
</html>
[свернуть]
В конфиг
Спойлер
   $Web['format']                  = 'd.m.Y H:i';
$Web['news']                  = 'ссылка на rss новостей';
$Web['rss']                     = 'ссылка на rss последних тем';
$Web['module']                  = 'news.php';
[свернуть]

Похожие темы (5)