Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
Sphorax

Newsticker

Recommended Posts

also ich möchte aus einem bestimmten board (es wird ein news board) die news "grabben" und sie in einen ticker, also so ein marquee ding anzeigen.

es sollen die überschriften des threads sowie gleichzeitig der link "ticken"...

nur wie schaff ich das? das der aus der datenbank die threadnamen holt und diese dann auf der boardübersichtsseite anzeigt???

Share this post


Link to post

Die Sache ist eben nicht immer so einfach, wie sich's anhört ...

Ganz nebenbei möchte ich dir von marque abraten, denn das ist so ein pseudo-standard den eigentlich nur der IE unterstütz ...

Naja, mittlerweile andere Browser auch. Aber ich will dich ja nicht zu sehr aufhalten, dass musst du wissen, ich geb dir jetzt mal hier ein bisschen ansätze, und mach hier mal nicht die Anleitung für absolute Idioten, hoffe das ist okay ?

Möchtest du die News denn gerne IMMER sehen, oder nur auf der Hauptseite, das ist schonmal wichtig zu wissen ...

Für immer, wäre die functions.php zuständig, für die Hauptseite die Boards.php .

Der Code sollte ca. so aussehen, ich kann dir noch genauer sagen wo du ihn einbauen sollst, wenn ich wüsste wo er stehen soll !

// MOD NEWS BEGIN $news = "<marquee scrollamount="10" scrolldelay="100">";
$news .= "<b>";

// Einlesen der News
$DB->query("SELECT tid, title, state, posts FROM `ibf_topics` WHERE forum_id = X ORDER BY date DESC LIMIT X");

while ($t = $DB->fetch_row() )
{
$news .= "<a href='{$ibforums->base_url}showtopic=".$t['tid']."'>";
$news .= $t['title']." (".$t['posts'].")";
$news .= "</a>";
}

$news .= "</b>";
$news .= "</marquee>";

$ibforums->skin['template'] = str_replace( "<!-- NEWS -->" , "$news" , $ibforums->skin['template'] );
// MOD NEWS END

Jetzt musst du nur noch in der richtigen Skindatei ein <!-- NEWS --> einfügen, dort wo sie dann später stehen sollen ...

Aber so als Warnung: Ich hab den Code nicht geprüft, und nicht getestet, das würd ich machen wenn du mir genauer sagst, wo es denn nu hin soll...

BLACK

Edited by Blackman

Share this post


Link to post

also ich hab das hier:

// MOD NEWS BEGIN $news = "<marquee scrollamount="10" scrolldelay="100">";

$news .= "<b>";


// Einlesen der News

$DB->query("SELECT tid, title, state, posts FROM `ibf_topics` WHERE forum_id = 13 ORDER BY date DESC LIMIT 10");


while ($t = $DB->fetch_row() )

{

$news .= "<a href='{$ibforums->base_url}showtopic=".$t['tid']."'>";

$news .= $t['title']." (".$t['posts'].")";

$news .= "</a>";

}


$news .= "</b>";

$news .= "</marquee>";


$ibforums->skin['template'] = str_replace( "<!-- NEWS -->" , "$news" , $ibforums->skin['template'] );

// MOD NEWS END
in die functions.php direkt unter:
   	 //------------------------------------------------

   	 // Load the info from the database.

   	 //------------------------------------------------

eingesetzt.

daraufhin kam dieser fehler:

mySQL query error: SELECT tid, title, state, posts FROM `ibf_topics` WHERE forum_id = 13 ORDER BY date DESC LIMIT 10

mySQL error: Unknown column 'date' in 'order clause'

mySQL error code:

Date: Wednesday 29th of September

zu deinen fragen:

also ja es soll boardübergreifend die news ganz oeben stehen.

ich möchte sie sogar noch über den boardwrapper einfügen (anders gehts leider nicht).

um es dir mal zu veranschaulichen:

http://www.xtcforum.de/board/index.php?&skinid=9

es soll direkt über dem logo stehen, dort ist eine tabelle mit aneinander gereihten hintergungbildern(also noch in der tabelle mit den bildern), dort drüber soll der ticker gehen.

Nunja, das mit dem marquee ist auch nur vorläufig. ich möchte ja schliesslich später auch, das der ticker anhält, wenn jemand mit der maus hinüber fährt. also wird da sicherlich ein javascriptticker hinkommen. is halt nur provisorisch.

Achso, danke schonmal für die hilfe die du mir bis jetzt gegeben hast.

Share this post


Link to post

Das der Fehler kommt ist klar, irgendein Idiot hat auch nen Fehler in der SQL Abfrage gemacht ...

Wer das wohl war ? *G*

Ändern wir den Code ein kleines bisschen *g*

// MOD NEWS SCROLL BEGIN

$news = "<marquee scrollamount=\"10\" scrolldelay=\"100\">";

$news .= "<b>";

// Einlesen der News

$DB->query("SELECT tid, title, state, posts FROM `ibf_topics` WHERE forum_id=13 ORDER BY last_post DESC LIMIT 15");

while ($t = $DB->fetch_row() )

{

$news .= "<a href='{$ibforums->base_url}showtopic=".$t['tid']."'>";

$news .= $t['title']." (".$t['posts'].")";

$news .= "</a>";

$news .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

}

$news .= "</b>";

$news .= "</marquee>";

$ibforums->skin['template'] = str_replace( "<!-- NEWS -->" , "$news" , $ibforums->skin['template'] );

// MOD NEWS SCROLL END

Einfügen tust du's bitte über:

  //---------------------------------------

  // Close this DB connection

  //---------------------------------------

 

  $DB->close_db();

GAAAANZ easy *G*

Nun gehen wir noch in die Datei skin_global.php

Suchen das hier

function BoardHeader($time="") {

global $ibforums;

return <<<EOF

<script language='Javascript' type="text/javascript">

<!--

function shout_pop() { window.open('{$ibforums->vars['home_url']}/sources/mods/minichat/onlyshout.php?name={$ibforums->member['name']}&id={$ibforums->member['id']}','MiniChat','width=250,height=550,resizable=yes,scrollbars=yes'); }

function buddy_pop() { window.open('index.{$ibforums->vars['php_ext']}?act=buddy&s={$ibforums->session_id}','BrowserBuddy','width=250,height=500,resizable=yes,scrollbars=yes'); }

function chat_pop(cw,ch)  { window.open('index.{$ibforums->vars['php_ext']}?s={$ibforums->session_id}&act=chat&pop=1','Chat','width='+cw+',height='+ch+',resizable=yes,scrollbars=yes'); }

function multi_page_jump( url_bit, total_posts, per_page )

{

pages = 1; cur_st = parseInt("{$ibforums->input['st']}"); cur_page  = 1;

if ( total_posts % per_page == 0 ) { pages = total_posts / per_page; }

else { pages = Math.ceil( total_posts / per_page ); }

msg = "{$ibforums->lang['tpl_q1']}" + " " + pages;

if ( cur_st > 0 ) { cur_page = cur_st / per_page; cur_page = cur_page -1; }

show_page = 1;

if ( cur_page < pages )  { show_page = cur_page + 1; }

if ( cur_page >= pages ) { show_page = cur_page - 1; }

else { show_page = cur_page + 1; }

userPage = prompt( msg, show_page );

if ( userPage > 0  ) {

if ( userPage < 1 )    {    userPage = 1;  }

if ( userPage > pages ) { userPage = pages; }

if ( userPage == 1 )    {    start = 0;    }

else { start = (userPage - 1) * per_page; }

window.location = url_bit + "&st=" + start;

}

}

//-->

</script>

und schreiben drunter:

<!-- NEWS -->

Hab jetzt leider die SKIN Datei nich im Original da, aber das sollte von der Position so in etwa richtig sein ...

Edited by Blackman

Share this post


Link to post

Parse error: parse error, unexpected T_LNUMBER in /var/www/web209/html/board/sources/functions.php on line 2181

edit: wenn ich es an der stelle einfüge wo ich es hatte giobt es keinen fehler...ich probier mal eben noch ob es auch klappt....

Edited by Sphorax

Share this post


Link to post

ähm ich seh da keinen unterschied zur vorherigen zeile.. :/

ich kann doch das <!-- news--> auch direkt in den boardwrapper setzen oder? macht doch keinen unterschied?!

Edited by Sphorax

Share this post


Link to post

Die hab ich gleichzeitig mit abgeändert ...

Naja, bei mir läufts jedenfalls so, hatte den gleichen Fehler, und hab dann die Zeile noch geändert, unterscheid sollte sein: die beiden \ vor den "

Naja wenns das nicht war, dann poste mir mal bitte Zeile 2180 und 2181 und 2182 von deiner functions.php

Share this post


Link to post

hey jetzt hat es geklappt... :D

war mein fehler, ich hatte es nochmals an die falsche stelle gesetzt.

aber nochmal danke, genauso hatte ich mir das vorgestellt.. ;)

wenn ich dafür irgendwas für dich tun kann, dann lass es mich wissen.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×