Home
Download
Add-ons
Help
Forum
Organisation
Project
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email?
February 12, 2012, 11:19:15 AM
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Search:
Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter
hier
und auf unserer
neuen Webseite
.
149635
Posts in
21099
Topics by
7537
Members
Latest Member:
lotte2
WebsiteBaker Community Forum
English
Droplets (PHP code for use with Droplet module) & Snippets (raw PHP code)
(Moderator:
Argos
)
Help with implementing latest news scroller
Pages: [
1
]
Go Down
Author
Topic: Help with implementing latest news scroller (Read 5429 times)
vidi
Offline
Posts: 26
Help with implementing latest news scroller
«
on:
August 25, 2006, 10:03:44 PM »
Hi!
I'm trying to modify the existing vertical news scroller (
http://forum.websitebaker.org/index.php/topic,3132.0.html
) to fit into this script
http://www.dynamicdrive.com/dynamicindex2/crosstick.htm
, because this script stops between every news, not just scrolling forever.
The problem I can't seem to solve, is to modify the code written by movitz to fit the mentioned code, because in this script, you must run the php code inside the script (get it?
)
Could anybody help me out? (This would be a very nice snippet or add-on by the way, if somebody would take the time.)
Regards Vidar
«
Last Edit: September 06, 2006, 09:40:05 PM by vidi
»
Logged
pcwacht
Guest
Re: Help with implementing latest news scroller
«
Reply #1 on:
August 25, 2006, 11:03:11 PM »
Change the echo:
Code:
echo '<p><a href="'.WB_URL.'/pages/'.$link.PAGE_EXTENSION.'">'.$title.'</a><br />'.$short.'<span class="hide"></span></p>';
to something like this: (NOT TESTED!!)
Code:
echo "pausecontent[]='<a href="'".WB_URL."/pages/".$link.PAGE_EXTENSION.'">".$title."</a><br />".$short."'";
John
Logged
vidi
Offline
Posts: 26
Re: Help with implementing latest news scroller
«
Reply #2 on:
August 26, 2006, 10:18:14 AM »
Hello John!
I have tried that, the problem seems that I am adding PHP content in a Javascript "container", and therefore the php commands does not parse.
Looking at the output from the page (View Source"), gives me this:
Code:
<script type="text/javascript">
/*Example message arrays for the two demo scrollers*/
var pausecontent=new Array()
<?php ob_start
();
// start output buffer
global
$database
;
$query
=
"SELECT post_id,title,content_short,group_id,link FROM "
.
TABLE_PREFIX
.
"mod_news_posts ORDER BY position DESC LIMIT 0, 5;"
;
$error
=
mysql_error
();
if (!
$result
=
mysql_query
(
$query
)) {
print
"
$error
"
;
exit;
}
while(
$data
=
mysql_fetch_object
(
$result
)){
$title
=
$data
->
title
;
$id
=
$data
->
post_id
;
$link
=
$data
->
link
;
$short
=
$data
->
content_short
;
echo
"pausecontent[]='<a href="'".WB_URL."/pages/".$link.PAGE_EXTENSION.'">"
.
$title
.
"</a><br />"
.
$short
.
"'"
;
}
$foo
=
ob_get_contents
();
// put outputbuffer in $foo
ob_end_clean
();
// clear outputbuffer
if (
$foo
<>
""
) {
// some code to execute cause there is some block
echo
$foo
;
} else {
// some code for no info
}
?>
</script>
As you can see, the php code are not executed.
regards Vidar
Logged
pcwacht
Guest
Re: Help with implementing latest news scroller
«
Reply #3 on:
August 27, 2006, 11:40:25 AM »
Then echo the container from php as well
try:
Code:
<?php
ob_start
();
// start output buffer
global
$database
;
$query
=
"SELECT post_id,title,content_short,group_id,link FROM "
.
TABLE_PREFIX
.
"mod_news_posts ORDER BY position DESC LIMIT 0, 5;"
;
$error
=
mysql_error
();
if (!
$result
=
mysql_query
(
$query
)) {
print
"
$error
"
;
exit;
}
while(
$data
=
mysql_fetch_object
(
$result
)){
$title
=
$data
->
title
;
$id
=
$data
->
post_id
;
$link
=
$data
->
link
;
$short
=
$data
->
content_short
;
echo
"pausecontent[]='<a href="'".WB_URL."/pages/".$link.PAGE_EXTENSION.'">"
.
$title
.
"</a><br />"
.
$short
.
"'"
;
}
$foo
=
ob_get_contents
();
// put outputbuffer in $foo
ob_end_clean
();
// clear outputbuffer
if (
$foo
<>
""
) {
// some code to execute cause there is some block
echo
'<script type="text/javascript">'
;
echo
'var pausecontent=new Array()'
;
echo
$foo
;
echo
'</script>'
;
} else {
// some code for no info
}
?>
Logged
vidi
Offline
Posts: 26
Re: Help with implementing latest news scroller
«
Reply #4 on:
August 28, 2006, 11:51:42 AM »
Hi again!
I tried the code above, resulting in a completely blank page, nothing displayed.
View Source:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
<BODY></BODY></HTML>
Logged
kweitzel
Forum administrator
Offline
Posts: 6819
Re: Help with implementing latest news scroller
«
Reply #5 on:
August 28, 2006, 11:56:54 AM »
how did you try the code? Did you paste it into your template, did you try it on a WYSIWYG or code page? I think this info will help debugging the whole issue.
I would put it directly into the template (that's what the code is designed for). Putting it into a WYSIWYG page I think won't work and for a code page you need to get rid of the PHP start/end tag.
cheers
klaus
Logged
WebsiteBaker Org e.V. - for WebsiteBaker
kweitzel
Forum administrator
Offline
Posts: 6819
Re: Help with implementing latest news scroller
«
Reply #6 on:
August 28, 2006, 01:17:22 PM »
Ok ... I also experimented a bit with the code. I copied it into my template (within the Javacode, the area where it defines the "news").
I get parsing errors related to this line here:
Code:
echo "pausecontent[]='<a href="'".WB_URL."/pages/".$link.PAGE_EXTENSION.'">".$title."</a><br />".$short."'"
the Error is:
Quote
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED
_STRING, expecting ',' or ';' in C:\xampp\xampp\htdocs\wb\templates\simplex_wb_hobbystrategen\index.php on line 67
Obviously, the Line 67 is in my template. It is the line of above code.
Could you check if this line works:
Code:
echo 'pausecontent[]=<a href="'.WB_URL.'/pages/'.$link.PAGE_EXTENSION.'">'.$title.'</a><br />'.$short.''
At the end, i am not a coder, please bear this in mind.
cheers
Klaus
Logged
WebsiteBaker Org e.V. - for WebsiteBaker
pcwacht
Guest
Re: Help with implementing latest news scroller
«
Reply #7 on:
August 28, 2006, 02:22:59 PM »
I think there are some quotes mixed up ( ' ) and ( " )
Try this:
Code:
echo "pausecontent[]='<a href='";
echo WB_URL.'/pages/'.$link.PAGE_EXTENSION.'">'.$title.'</a><br />'.$short;
echo "'";
instead of one line, this way debugging goes faster.
Good luck,
John
Logged
vidi
Offline
Posts: 26
Re: Help with implementing latest news scroller
«
Reply #8 on:
August 28, 2006, 03:07:29 PM »
Hi John and Claus!
Thank you very much for your effort helping me solve this problem!
I've used Johns Code in my temlate (I do not use a WYSIWYG or CODE page to implement this, the code is written directly in the index.php file).
And Johns code seems to work, almost. The problem is that it is echoing pausecontent[] without any number in the braces. I tried to add $counter=0; and counter++; like this
Code:
<?php
ob_start
();
// start output buffer
global
$database
;
$query
=
"SELECT post_id,title,content_short,group_id,link FROM "
.
TABLE_PREFIX
.
"mod_news_posts ORDER BY position DESC LIMIT 0, 5;"
;
$error
=
mysql_error
();
if (!
$result
=
mysql_query
(
$query
)) {
print
"
$error
"
;
exit;
}
while(
$data
=
mysql_fetch_object
(
$result
)){
$counter
=
0
;
$title
=
$data
->
title
;
$id
=
$data
->
post_id
;
$link
=
$data
->
link
;
$short
=
$data
->
content_short
;
echo
"pausecontent["
counter
"]='<a href='"
;
echo
WB_URL
.
'/pages/'
.
$link
.
PAGE_EXTENSION
.
'">'
.
$title
.
'</a><br />'
.
$short
;
echo
"'"
;
counter
++;
}
$foo
=
ob_get_contents
();
// put outputbuffer in $foo
ob_end_clean
();
// clear outputbuffer
if (
$foo
<>
""
) {
// some code to execute cause there is some block
echo
'<script type="text/javascript">'
;
echo
'var pausecontent=new Array()'
;
echo
$foo
;
echo
'</script>'
;
} else {
// some code for no info
}
?>
but then again the website goes blank (I guess im doing someting wrong when I'm adding the $counter).
I've set up a demo site at
http://test.hallais.no
, if that would help.
Regards Vidar
Logged
kweitzel
Forum administrator
Offline
Posts: 6819
Re: Help with implementing latest news scroller
«
Reply #9 on:
August 28, 2006, 04:35:28 PM »
try to change this line:
Code:
echo "pausecontent['$counter']='<a href='";
the doublequuotes are changed to single quotes and it outputs the variable.
cheers
Klaus
Logged
WebsiteBaker Org e.V. - for WebsiteBaker
vidi
Offline
Posts: 26
Re: Help with implementing latest news scroller
«
Reply #10 on:
August 28, 2006, 09:17:12 PM »
Okay folks!
I have a working script, thaks to you and some very helpful people on
http://www.dynamicdrive.com
!
The code goes like this:
Put this in your header section:
Code:
<style type="text/css">
/*Example CSS for the two demo scrollers*/
#pscroller1{
width: 200px;
height: 100px;
border: 1px solid black;
padding: 5px;
background-color: lightyellow;
}
#pscroller2{
width: 350px;
height: 20px;
border: 1px solid black;
padding: 3px;
}
#pscroller2 a{
text-decoration: none;
}
.someclass{ //class to apply to your scroller(s) if desired
}
</style>
<?php
ob_start
();
// start output buffer
global
$database
;
$query
=
"SELECT post_id,title,content_short,group_id,link FROM "
.
TABLE_PREFIX
.
"mod_news_posts ORDER BY position DESC LIMIT 0, 5;"
;
$error
=
mysql_error
();
if (!
$result
=
mysql_query
(
$query
)) {
print
"
$error
"
;
exit;
}
$i
=
0
;
while(
$data
=
mysql_fetch_object
(
$result
)){
$title
=
$data
->
title
;
$id
=
$data
->
post_id
;
$link
=
$data
->
link
;
$short
=
$data
->
content_short
;
$short
=
str_replace
(
"\n"
,
""
,
$short
);
$short
=
str_replace
(
"\r"
,
""
,
$short
);
$short
=
str_replace
(
"'"
,
"\'"
,
$short
);
$title
=
str_replace
(
"\n"
,
""
,
$title
);
$title
=
str_replace
(
"\r"
,
""
,
$title
);
$title
=
str_replace
(
"'"
,
"\'"
,
$title
);
echo
"pausecontent["
.
$i
.
"]='<a href=\""
.
WB_URL
.
'/pages/'
.
$link
.
PAGE_EXTENSION
.
'">'
.
$title
.
'</a><br />'
.
$short
.
"'"
.
"\n"
;
$i
++;
}
$foo
=
ob_get_contents
();
// put outputbuffer in $foo
ob_end_clean
();
// clear outputbuffer
if (
$foo
<>
""
) {
// some code to execute cause there is some block
echo
'<script type="text/javascript">'
.
"\n"
;
echo
'var pausecontent=new Array()'
.
"\n"
;
echo
$foo
;
echo
'</script>'
;
} else {
// some code for no info
}
?>
<script type="text/javascript">
/***********************************************
* Pausing up-down scroller- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
function pausescroller(content, divId, divClass, delay){
this.content=content //message array content
this.tickerid=divId //ID of ticker div to display information
this.delay=delay //Delay between msg change, in miliseconds.
this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
this.hiddendivpointer=1 //index of message array for hidden div
document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>')
var scrollerinstance=this
if (window.addEventListener) //run onload in DOM2 browsers
window.addEventListener("load", function(){scrollerinstance.initialize()}, false)
else if (window.attachEvent) //run onload in IE5.5+
window.attachEvent("onload", function(){scrollerinstance.initialize()})
else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
setTimeout(function(){scrollerinstance.initialize()}, 500)
}
// -------------------------------------------------------------------
// initialize()- Initialize scroller method.
// -Get div objects, set initial positions, start up down animation
// -------------------------------------------------------------------
pausescroller.prototype.initialize=function(){
this.tickerdiv=document.getElementById(this.tickerid)
this.visiblediv=document.getElementById(this.tickerid+"1")
this.hiddendiv=document.getElementById(this.tickerid+"2")
this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv))
//set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*2)+"px"
this.getinline(this.visiblediv, this.hiddendiv)
this.hiddendiv.style.visibility="visible"
var scrollerinstance=this
document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1}
document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0}
if (window.attachEvent) //Clean up loose references in IE
window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null})
setTimeout(function(){scrollerinstance.animateup()}, this.delay)
}
// -------------------------------------------------------------------
// animateup()- Move the two inner divs of the scroller up and in sync
// -------------------------------------------------------------------
pausescroller.prototype.animateup=function(){
var scrollerinstance=this
if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+5)){
this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px"
this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px"
setTimeout(function(){scrollerinstance.animateup()}, 50)
}
else{
this.getinline(this.hiddendiv, this.visiblediv)
this.swapdivs()
setTimeout(function(){scrollerinstance.setmessage()}, this.delay)
}
}
// -------------------------------------------------------------------
// swapdivs()- Swap between which is the visible and which is the hidden div
// -------------------------------------------------------------------
pausescroller.prototype.swapdivs=function(){
var tempcontainer=this.visiblediv
this.visiblediv=this.hiddendiv
this.hiddendiv=tempcontainer
}
pausescroller.prototype.getinline=function(div1, div2){
div1.style.top=this.visibledivtop+"px"
div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"px"
}
// -------------------------------------------------------------------
// setmessage()- Populate the hidden div with the next message before it's visible
// -------------------------------------------------------------------
pausescroller.prototype.setmessage=function(){
var scrollerinstance=this
if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
setTimeout(function(){scrollerinstance.setmessage()}, 100)
else{
var i=this.hiddendivpointer
var ceiling=this.content.length
this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1
this.hiddendiv.innerHTML=this.content[this.hiddendivpointer]
this.animateup()
}
}
pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
if (tickerobj.currentStyle)
return tickerobj.currentStyle["paddingTop"]
else if (window.getComputedStyle) //if DOM2
return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
else
return 0
}
</script>
And this where you want the news scroller to appear (i.e in your body section):
Code:
<script type="text/javascript">
//new pausescroller(name_of_message_array, CSS_ID, CSS_classname, pause_in_miliseconds)
new pausescroller(pausecontent, "pscroller1", "someclass", 3000)
</script>
Regards Vidar
Logged
bgg
Offline
Posts: 101
Re: Help with implementing latest news scroller
«
Reply #11 on:
September 05, 2008, 11:58:54 AM »
Thanks. This works well.
How do display just the TITLE .. (in case of no short description required)?
«
Last Edit: September 06, 2008, 06:36:43 AM by bgg
»
Logged
crnogorac081
AddOn Development
Offline
Posts: 1680
Re: Help with implementing latest news scroller
«
Reply #12 on:
April 06, 2009, 06:14:08 PM »
can you make a module/snipet of this ?
Logged
Wow, I coded something myself: PM Messanger Modul ,Searchbox with suggestions
ghost06
Offline
Posts: 53
Re: Help with implementing latest news scroller
«
Reply #13 on:
February 02, 2010, 08:12:28 PM »
Hello everyone,
You can choose only one group of news?
Logged
webslaav
Offline
Posts: 2
Re: Help with implementing latest news scroller
«
Reply #14 on:
January 12, 2011, 05:19:08 PM »
Thanx Vidar, you're info was very helpful! One question remains for me though.. how can ik show for instance 3 newsitems at the same time, scrolling through the next 3 items?
Regards,
Alex
Logged
For a moment, nothing happened. Then, after a second or so, nothing continued to happen.
iradj
Offline
Posts: 246
Re: Help with implementing latest news scroller
«
Reply #15 on:
January 13, 2011, 12:43:20 PM »
Hi Vidar,
How can I post that only the last 5 or 10 news will be shown?
Iradj
Logged
PurpleEdge
Offline
Posts: 232
Re: Help with implementing latest news scroller
«
Reply #16 on:
January 14, 2011, 12:26:44 AM »
There is also a jquery vertical scroller with similar functionality...
http://www.jugbit.com/jquery-vticker-vertical-news-ticker/
I only mention it because I believe in having as few sets of technology as possible to maintain and wb seems to be a predominately jquery user?
Logged
Pages: [
1
]
Go Up
Jump to:
Please select a destination:
-----------------------------
General
-----------------------------
=> General Announcements
-----------------------------
English
-----------------------------
=> Help & Support
-----------------------------
General
-----------------------------
=> WebsiteBaker Website Showcase
-----------------------------
English
-----------------------------
=> Modules
=> Templates, Menus & Design
=> WebsiteBaker Language Files
=> Droplets (PHP code for use with Droplet module) & Snippets (raw PHP code)
-----------------------------
General
-----------------------------
=> Guest Area & Off-Topic
-----------------------------
English
-----------------------------
=> WebsiteBaker 2.x discussion
=> WebsiteBaker 3
-----------------------------
General
-----------------------------
=> Security Announcements
-----------------------------
Deutsch (German)
-----------------------------
=> Hilfe/Support
-----------------------------
General
-----------------------------
=> Documentation
-----------------------------
Francais (French)
-----------------------------
=> Help/Support
-----------------------------
Italiano (Italian)
-----------------------------
=> Help/Support
-----------------------------
Deutsch (German)
-----------------------------
=> Ankündigungen
=> Diskussion über WB
=> Off-Topic
=> Archiv für Themen bis 2007
=> Module & Snippets
-----------------------------
English
-----------------------------
=> Archive (posts up to 2007)
-----------------------------
Nederlands (Dutch)
-----------------------------
=> Aankondigingen
=> Hulp & Ondersteuning
=> Niet-Terzake (Off Topic)
-----------------------------
Deutsch (German)
-----------------------------
=> jQuery
=> Tutorials
=> Templates & Design
-----------------------------
English
-----------------------------
=> jQuery
-----------------------------
Bakery (WB shop module)
-----------------------------
=> Bakery English
=> Bakery Deutsch
-----------------------------
English
-----------------------------
=> WebsiteBaker 2.9
===> Announcements
===> Help/Support
===> Suggestions
-----------------------------
Deutsch (German)
-----------------------------
=> WebsiteBaker 2.9
===> Ankündigungen
===> Hilfe/Support
===> Vorschläge
-----------------------------
English
-----------------------------
===> Software bugs
-----------------------------
Deutsch (German)
-----------------------------
===> Softwarefehler
=====> Module / Extensions
-----------------------------
English
-----------------------------
=====> Modules / Extensions
-----------------------------
Deutsch (German)
-----------------------------
===> Erfahrungs und Testberichte
-----------------------------
KeepInTouch (Multi Contact Module)
-----------------------------
=> KeepInTouch English
=> KeepInTouch Deutsch
Loading...