News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Question regarding the News Fader

Started by firestorm, July 05, 2005, 02:06:23 PM

Previous topic - Next topic

firestorm

I absolutely like the news fader.  However, I am wanting it to display on ALL my pages, instead of just my main page.  By all, I mean all my topics and threads, wherever the normal news would be displayed.

hxxp:www.tjbarnettonline.com/smf/ [nonactive]

That is the link to the forum.  It is kinda just getting started, and I am absolutely loving the SMF software. ;D

Thanks in advance,
Firestorm

firestorm

Does no one know how to do this?

Firestorm

firestorm

...but getting this news fader on EVERY page is something I would like to do, but I am not sure how to do it.  Can someone please help me with this?

codenaught

In every template file you want to add the news fader box to:

Find the very first </table>';

and add after that: // Show the news fader?  (assuming there are things to show...)
if ($settings['show_newsfader'] && !empty($context['fader_news_lines']))
{
echo '
<div class="tborder" style="margin-bottom: 2ex;">
<table border="0" width="100%" cellspacing="1" cellpadding="4">
<tr class="titlebg" align="center">
<td>', $txt[102], '</td>
</tr>
<tr>
<td valign="middle" align="center" height="60">';

// Prepare all the javascript settings.
echo '
<div id="smfFadeScroller" style="width: 90%; padding: 2px;"><b>', $context['news_lines'][0], '</b></div>
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
// The fading delay (in ms.)
var smfFadeDelay = ', empty($settings['newsfader_time']) ? 5000 : $settings['newsfader_time'], ';
// Fade from... what text color?  To which background color?
var smfFadeFrom = {"r": 0, "g": 0, "b": 0}, smfFadeTo = {"r": 255, "g": 255, "b": 255};
// Surround each item with... anything special?
var smfFadeBefore = "<b>", smfFadeAfter = "</b>";

var foreColor, backEl, backColor;

if (typeof(document.getElementById(\'smfFadeScroller\').currentStyle) != "undefined")
{
foreColor = document.getElementById(\'smfFadeScroller\').currentStyle.color.match(/#([\da-f][\da-f])([\da-f][\da-f])([\da-f][\da-f])/);
smfFadeFrom = {"r": parseInt(foreColor[1]), "g": parseInt(foreColor[2]), "b": parseInt(foreColor[3])};

backEl = document.getElementById(\'smfFadeScroller\');
while (backEl.currentStyle.backgroundColor == "transparent" && typeof(backEl.parentNode) != "undefined")
backEl = backEl.parentNode;

backColor = backEl.currentStyle.backgroundColor.match(/#([\da-f][\da-f])([\da-f][\da-f])([\da-f][\da-f])/);
smfFadeTo = {"r": eval("0x" + backColor[1]), "g": eval("0x" + backColor[2]), "b": eval("0x" + backColor[3])};
}
else if (typeof(window.opera) == "undefined" && typeof(document.defaultView) != "undefined")
{
foreColor = document.defaultView.getComputedStyle(document.getElementById(\'smfFadeScroller\'), null).color.match(/rgb\((\d+), (\d+), (\d+)\)/);
smfFadeFrom = {"r": parseInt(foreColor[1]), "g": parseInt(foreColor[2]), "b": parseInt(foreColor[3])};

backEl = document.getElementById(\'smfFadeScroller\');
while (document.defaultView.getComputedStyle(backEl, null).backgroundColor == "transparent" && typeof(backEl.parentNode) != "undefined" && typeof(backEl.parentNode.tagName) != "undefined")
backEl = backEl.parentNode;

backColor = document.defaultView.getComputedStyle(backEl, null).backgroundColor.match(/rgb\((\d+), (\d+), (\d+)\)/);
smfFadeTo = {"r": parseInt(backColor[1]), "g": parseInt(backColor[2]), "b": parseInt(backColor[3])};
}

// List all the lines of the news for display.
var smfFadeContent = new Array(
"', implode('",
"', $context['fader_news_lines']), '"
);
// ]]></script>
<script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/fader.js"></script>
</td>
</tr>
</table>
</div>';
}


Important template files I can think of that you would probably want to add it to: MessageIndex.template.php, Display.template.php

Most of the rest, you would probably be better off not putting it in, for example, would you really want it on the posting screen? But it all comes down to personal preference. So add it to whatever pages you would like.
Dev Consultant
Former SMF Doc Coordinator

firestorm

Thank you very much for your help.  I will try it as soon as I can, and post if it works.

Firestorm

Advertisement: