Walk 6 Опубликовано: 15 октября 2010 Рассказать Опубликовано: 15 октября 2010 Раньше все было нормально, в блоке "самое популярное" показывались 5 тем, но сейчас, почему-то показывается только одна, и далеко не самая популярная (а только последняя). В чем может быть причина? сайт Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 15 октября 2010 Рассказать Опубликовано: 15 октября 2010 Редко обновляете на сайте новости, вот оно и показывает одну последнюю новость за этот месяц Цитата Ссылка на сообщение Поделиться на других сайтах
n0lik 75 Опубликовано: 15 октября 2010 Рассказать Опубликовано: 15 октября 2010 Walk, можно сделать, что бы популярность новостей была по просмотрам, а для этого: Откройте engine\modules\topnews.php и найдите:$this_month = date( 'Y-m-d H:i:s', $_TIME ); $db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" ); Замените на:$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" ); В конце строки цифра 10, это количество выводимых новостей. Цитата Ссылка на сообщение Поделиться на других сайтах
Walk 6 Опубликовано: 16 октября 2010 Рассказать Опубликовано: 16 октября 2010 Автор n0lik Сделал, кеш почистил, но пока все так же. Или надо подождать? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 16 октября 2010 Рассказать Опубликовано: 16 октября 2010 Walk, нет ждать смысла нет, что то неверно сделали Цитата Ссылка на сообщение Поделиться на других сайтах
Walk 6 Опубликовано: 16 октября 2010 Рассказать Опубликовано: 16 октября 2010 (изменено) Автор хм... вроде заменил, а скачал topnews еще раз - он старый, сейчас попробую изменить еще раз... мде, теперь сайт не открывается вообще Fatal error: Call to undefined function dle_strlen() in /home/vkontak1/public_html/engine/modules/topnews.php on line 60 Заработало... хм, что было непонятно. n0lik спасибо, работает.Что-то сайт стал тормозить жутко после изменений... Изменено 16 октября 2010 пользователем Walk Цитата Ссылка на сообщение Поделиться на других сайтах
n0lik 75 Опубликовано: 16 октября 2010 Рассказать Опубликовано: 16 октября 2010 Дело явно не в этом файле, так как я всегда (после каждого обновления) на своём сайте делаю подобное исправление и никаких проблем.celsoft, а можно узнать, подобное исправление делает какую нибудь нагрузку на сайт? то есть больше чем по дефолту. Цитата Ссылка на сообщение Поделиться на других сайтах
Walk 6 Опубликовано: 16 октября 2010 Рассказать Опубликовано: 16 октября 2010 Автор Сейчас все нормально, видимо у хостинга были какие-то проблемы. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 17 октября 2010 Рассказать Опубликовано: 17 октября 2010 celsoft, а можно узнать, подобное исправление делает какую нибудь нагрузку на сайт? то есть больше чем по дефолту. нет, не делает Цитата Ссылка на сообщение Поделиться на других сайтах
Goddanus 1 Опубликовано: 2 ноября 2010 Рассказать Опубликовано: 2 ноября 2010 (изменено) Walk, можно сделать, что бы популярность новостей была по просмотрам, а для этого: Откройте engine\modules\topnews.php и найдите:... Замените на:... Спасибо Walk! Только вот этот список в первую очередь(!) сортируется по кол-ву комментариев, а уже потом по кол-ву просмотров. А можно всё же чтобы новости сортировались только(!) по кол-ву просмотров за всё время сущ. сайта? Изменено 2 ноября 2010 пользователем Goddanus Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 2 ноября 2010 Рассказать Опубликовано: 2 ноября 2010 А можно всё же чтобы новости сортировались только(!) по кол-ву просмотров за всё время сущ. сайта? $db->query("SELECT id, title, date, alt_name, category, flag FROM ".PREFIX."_post WHERE approve='1' ORDER BY news_read DESC, date DESC LIMIT 0,10"); Цитата Ссылка на сообщение Поделиться на других сайтах
Goddanus 1 Опубликовано: 2 ноября 2010 Рассказать Опубликовано: 2 ноября 2010 Ага, понял. Спасибо, zgr! Цитата Ссылка на сообщение Поделиться на других сайтах
Seona 0 Опубликовано: 5 декабря 2010 Рассказать Опубликовано: 5 декабря 2010 а как можно докрутить, что бы показывалось количество комментариев? Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 5 декабря 2010 Рассказать Опубликовано: 5 декабря 2010 а как можно докрутить, что бы показывалось количество комментариев? Вставить как модуль, либо в профиль зеров: $sql = "SELECT SQL_NO_CACHE COUNT(*) AS count ".PREFIX."_post WHERE approve='1'"; $r = $db->super_query($sql); $cnt = $r['count']; echo "Комментариев на сайте: $cnt."; unset($sql,$r,$cnt); Если в конец запроса добавить что-то типа: WHERE autor='Администратор' то можно в профиле для зарегистрировнного юзера всю стату показать, т.е. личные комментарии пользователя и общее кол-во на сайте. Цитата Ссылка на сообщение Поделиться на других сайтах
Seona 0 Опубликовано: 5 декабря 2010 Рассказать Опубликовано: 5 декабря 2010 (изменено) нет, ты не понял - у меня рейтинг идет по количеству комментариев. Вот нужно рядом с новостью прикрутить сколько у нее комментов. нужно как-то добавить подсчет строк в базе. не получается у меня (( ошибка идет Изменено 5 декабря 2010 пользователем Seona Цитата Ссылка на сообщение Поделиться на других сайтах
Seona 0 Опубликовано: 6 декабря 2010 Рассказать Опубликовано: 6 декабря 2010 подскажите пжалста )) Есть запрос $this_month = date( 'Y-m-d H:i:s', $_TIME ); $db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' ORDER BY comm_num DESC LIMIT 0,15" ); Как сделать, что бы подсчитывалось количество этих комментариев? Что бы было Новость 1 - 15 Новость 2 - 10 Новость 3 - 1 Механизм обработки же количества идет. Как вытащить эту цифру? Цитата Ссылка на сообщение Поделиться на других сайтах
blaga 39 Опубликовано: 7 декабря 2010 Рассказать Опубликовано: 7 декабря 2010 скиньте все ваше содержимое topnews.php я вам попробую помочь. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Seona 0 Опубликовано: 7 декабря 2010 Рассказать Опубликовано: 7 декабря 2010 да он стандартный. Поменяла только в запросе на что выводить ) ----------------------------------------------------- Назначение: вывод рейтинговых статей ===================================================== */ if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" ); } $topnews = dle_cache( "topnews", $config['skin'] ); if( ! $topnews ) { $this_month = date( 'Y-m-d H:i:s', $_TIME ); $db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,15" ); while ( $row = $db->get_row() ) { $row['date'] = strtotime( $row['date'] ); $row['category'] = intval( $row['category'] ); 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'] . "index.php?newsid=" . $row['id']; } if( strlen( $row['title'] ) > 55 ) $title = substr( $row['title'], 0, 55 ) . " ..."; else $title = $row['title']; $go_page = ($config['ajax']) ? "onclick=\"DlePage('newsid=" . $row['id'] . "'); return false;\" " : ""; if( $config['allow_comments_wysiwyg'] == "yes" ) $go_page = ''; $link = "<a {$go_page}href=\"" . $full_link . "\">" . stripslashes( $title ) . "</a>"; $topnews .= "» " . $link . "<br />"; } $db->free(); create_cache( "topnews", $topnews, $config['skin'] ); } ?> спасибо, за реакцию )) Цитата Ссылка на сообщение Поделиться на других сайтах
blaga 39 Опубликовано: 7 декабря 2010 Рассказать Опубликовано: 7 декабря 2010 не проверял, но должно работать. if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" ); } $topnews = dle_cache( "topnews", $config['skin'] ); if( ! $topnews ) { $this_month = date( 'Y-m-d H:i:s', $_TIME ); $db->query( "SELECT id, title, date, alt_name, category, flag, comm_num FROM " . PREFIX . "_post WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,15" ); while ( $row = $db->get_row() ) { $row['date'] = strtotime( $row['date'] ); $row['category'] = intval( $row['category'] ); 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'] . "index.php?newsid=" . $row['id']; } if( strlen( $row['title'] ) > 55 ) $title = substr( $row['title'], 0, 55 ) . " ..."; else $title = $row['title']; $go_page = ($config['ajax']) ? "onclick=\"DlePage('newsid=" . $row['id'] . "'); return false;\" " : ""; if( $config['allow_comments_wysiwyg'] == "yes" ) $go_page = ''; $link = "<a {$go_page}href=\"" . $full_link . "\">" . stripslashes( $title ) . " - (".$row['comm_num'].")</a>"; $topnews .= "» " . $link . "<br />"; } $db->free(); create_cache( "topnews", $topnews, $config['skin'] ); } 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Seona 0 Опубликовано: 7 декабря 2010 Рассказать Опубликовано: 7 декабря 2010 Спасибо )) работает )) Цитата Ссылка на сообщение Поделиться на других сайтах
kolyma 2 Опубликовано: 9 декабря 2010 Рассказать Опубликовано: 9 декабря 2010 Народ ну как сделать чтоб topnews выводил топ за 7 или 10 дней!!! плиз помогите Цитата Ссылка на сообщение Поделиться на других сайтах
blaga 39 Опубликовано: 10 декабря 2010 Рассказать Опубликовано: 10 декабря 2010 в файле engine/modules/topnews.php найдите строку $db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" ); замените ее на $db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 7 DAY AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" ); Будет выводить за семь дней. Я правда не уверен, впервые такое делаю.... Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.