• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Хак Маленькая доработка topnews

Статус
В этой теме нельзя размещать новые ответы.

sergeus

Мастер
Регистрация
15 Апр 2006
Сообщения
185
Реакции
34
После доработки при подведении мыши к новости будет выводиться заголовок длинною в 200 символов.

Файл engine\modules\topnews.php

исходный код
PHP:
 $go_page = ($config['ajax']) ? "onclick=\"DlePage('newsid=".$row['id']."'); return false;\" " : "";
 if ($config['allow_alt_url'] == "yes")
        $link = "<a {$go_page}href=\"".$config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html\">".stripslashes($title)."</a>";
 else 
        $link = "<a {$go_page}href=\"$PHP_SELF?newsid=".$row['id']."\">".stripslashes($title)."</a>";

меняем на
PHP:
$mmm=substr ($row['title'], 0, 200);
 $mmm = str_replace("'","`",str_replace('"',"`",$mmm));
 $go_page = ($config['ajax']) ? "onclick=\"DlePage('newsid=".$row['id']."'); return false;\" " : "";
 if ($config['allow_alt_url'] == "yes")
        $link = "<a onMouseover=\"showhint('".$mmm."', this, event, '100px')\" {$go_page}href=\"".$config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html\">".stripslashes($title)."</a>";
 else 
        $link = "<a onMouseover=\"showhint('".$mmm."', this, event, '100px')\" {$go_page}href=\"$PHP_SELF?newsid=".$row['id']."  \">".stripslashes($title)."</a>";

Пример Для просмотра ссылки Войди или Зарегистрируйся - последние новости
 
О! Спасибо огромное! сделал! хорошая вещь... только как сделать что бы окно появлялось не с права от курсора а слева? Т.к у блок стоит в правой колонке (левой вообще нет :) ) и не видно нечего :(
 
О! Спасибо огромное! сделал! хорошая вещь... только как сделать что бы окно появлялось не с права от курсора а слева? Т.к у блок стоит в правой колонке (левой вообще нет :) ) и не видно нечего :(

Дай ссылку, я посмотрю...
 
Отправил в личку.
 
Новый, доработанный вариант

код всего файла (оригинал рекомендую сохранить) :)
PHP:
<?php
if(!defined('DATALIFEENGINE'))
{
  die("Hacking attempt!");
}
 
$topnews = dle_cache("topnews", $config['skin']);
if (!$topnews) {
 $this_month = date ('Y-m-d', time()-(3600*24*30));
 $sql_result = $db->query("SELECT id, title, date, alt_name FROM " . PREFIX . "_post WHERE approve='1' AND DATE_FORMAT(date,'%Y-%m-%d') > '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10");
$topnews = "<table width=100%>\r\n";
 while($row = $db->get_row($sql_result)){
 
 $row['date'] = strtotime($row['date']);
 
 if (strlen($row['title']) > 21)
 $title = substr ($row['title'], 0, 21)." ...";
 else
 $title = $row['title'];
  
 $mmm=substr ($row['title'], 0, 200);
 $mmm = str_replace("'","`",str_replace('"',"`",$mmm));
 $go_page = ($config['ajax']) ? "onclick=\"DlePage('newsid=".$row['id']."'); return false;\" " : "";
 $go_hint = "onMouseover=\"showhint('{$mmm}', this, event, '150px')\"";
 
 if ($config['allow_alt_url'] == "yes")
        $link = "<a {$go_hint} {$go_page}href=\"".$config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html\">".stripslashes($title)."</a>";
 else 
        $link = "<a {$go_hint} {$go_page} href=\"$PHP_SELF?newsid=".$row['id']."\"><font color=#3B84D0>".stripslashes($title)."</font></a>";
  
   
 $topnews .= "<tr><td style=\"height:20px;border-bottom: 1px solid #eaeaea; \"><li>$link</li></td></tr>";
 
  }
 $topnews .= "</table>";
 create_cache ("topnews", $topnews, $config['skin']);
 }
?>

У меня все работат, но кто знает.....
 
У меня всёравно... как было так и осталось... ну конечно (кашу удалил) добавились строки как в "последние новости" (отдельное спасибо :) ), но окно всёравно справа... Даже пробовал отключить вообще кеширование :) сёравно :(
 
У меня всёравно... как было так и осталось... ну конечно (кашу удалил) добавились строки как в "последние новости" (отдельное спасибо :) ), но окно всёравно справа... Даже пробовал отключить вообще кеширование :) сёравно :(

Тогда пробуем сделать следующее:
в файле engine\modules\online.php
находим код
PHP:
#Составление списка пользователей
   $online_utable=getscript()."<table cellpaddong=0 cellspacing=0 class={$onl_options['tableclass']}><tr>";

и меняем его на
PHP:
#Составление списка пользователей
   $online_utable="<table cellpaddong=0 cellspacing=0 class={$onl_options['tableclass']}><tr>";

Весь вопрос в выводе css. если изменить вывод, то и в админке подсказки будут вылазить полевому.

Отпишись.

Как рекомендация: уменьши количество новостей на главной до 7-8.... либо уменьши картинки при загрузке....
 
А блин... фиг вам.. нету у меня такого :(
и что то не понял.. причём тут engine\modules\online.php ?
тем более, что он у меня выключен ;)
 
Значисся, если кто сталкивался - вывод подсказки в строго отведенном месте

Ввывод подсказки в строго отведенном месте:

находим файл engine\skins\default.js

находим код
PHP:
function showhint(menucontents, obj, e, tipwidth){
if ((ie||ns6) && document.getElementById("hintbox")){
dropmenuobj=document.getElementById("hintbox")
dropmenuobj.innerHTML=menucontents
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (tipwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=tipwidth
}
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x//-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px"
dropmenuobj.style.visibility="visible"
obj.onmouseout=hidetip
}
}

Там вставляем 2 слеша после "dropmenuobj.style.left=dropmenuobj.x" (выделено красным)
Сохраняем файл :D
открываем templates\Default\css\style.css
и если отсутствует добавляем, а если присутствует изменяем на
PHP:
#hintbox {
 position:absolute;top: 0;
 background-color: #ffffff;
 width: 170px; padding: 5px;
 border:1px solid #778899;
 font:normal 11px Verdana;
 
 margin-left:-170px;
 
 opacity: 0.94;     
 FILTER: alpha(opacity="100");   
 line-height:15px;  z-index:100;
 visibility: hidden;
            border-collapse: separate;
}

Строчка выделенная красным - регулировка вывада по горизонтали от правого края.

Для просмотра ссылки Войди или Зарегистрируйся, пробуем, отписываемся.... :read:
 
О! всё ок :) спасибА!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху