SimplePortal

Customization => Blocks and Modifications => Mod Requests => Topic started by: mack on October 06, 2010, 05:08:52 PM

Title: Scrolling 'recent posts' block
Post by: mack on October 06, 2010, 05:08:52 PM
Apologies if this has been covered elsewhere (I couldn't find quite the right thing) ..

I'm looking for a block that is just like the default 'recent posts' block BUT scrolls one recent post after another .. to a limit of say 5 posts. I want to use this block at the top of my home page, sitting above the main articles. The default one is just too big for what I want.

Has anyone tackled this or can point me in the right direction?

Thanks in advance of any help  :nervous-happy:
Title: Re: Scrolling 'recent posts' block
Post by: mack on October 07, 2010, 01:39:17 PM
Hmm .. a LOT of views but no responses .. I take it no-one knows of a similar mod available or once that's w.i.p.

Should this be moved to custom coding?
Title: Re: Scrolling 'recent posts' block
Post by: mack on October 07, 2010, 06:01:36 PM
Cheers for the reply.

I wondered whether that might be the answer .. although I think some javascript and block editing might sort it. I'll try and ask for this thread to be moved.
Title: Re: Scrolling 'recent posts' block
Post by: Nathaniel on October 07, 2010, 06:45:10 PM
This question has been raised previously, there are several solutions to it in the topic below (some of which may not work perfectly):
http://simpleportal.net/index.php?topic=3154
Title: Re: Scrolling 'recent posts' block
Post by: mack on October 07, 2010, 07:21:18 PM
oops .. sry nathaniel .. I did look before posting and must've missed it

apologies  :-[

*edit* oh wait I did already see that .. and it was for smf 2  :'(
Title: Re: Scrolling 'recent posts' block
Post by: Old Fossil on October 10, 2010, 12:21:12 PM
Have you tried it on your portal?
Title: Re: Scrolling 'recent posts' block
Post by: AngelinaBelle on October 13, 2010, 02:33:51 PM
That same trick will work in your code
Code: [Select]
echo '<marquee behavior="scroll" direction="up" height="170px" scrolldelay=" 10" scrollamount=" 1" onmouseover="this.stop()" onmouseout="this.start()">'; // before all the stuff you want to be scrolling

Code: [Select]
echo '</marquee>'; // after all the stuff you want to be scrolling
Title: Re: Scrolling 'recent posts' block
Post by: mack on October 13, 2010, 08:51:02 PM
Oops sorry .. had kinda missed these responses here (been busy gaming hehe).

@Brack1 - I haven't tried the code in the link Nathaniel suggested simply because it says it was only for smf 2 iirc.

@AngelinaBelle - I kinda want one latest post item to scroll upwards one at a time, not sideways like a <marquee> would do.
Title: Re: Scrolling 'recent posts' block
Post by: AngelinaBelle on October 14, 2010, 07:01:19 AM
http://en.wikipedia.org/wiki/Marquee_element (http://en.wikipedia.org/wiki/Marquee_element)
Title: Re: Scrolling 'recent posts' block
Post by: mack on October 14, 2010, 07:45:17 AM
Oops (again) .. apologies AngelinaBelle, that's a new one on me.

Where should I look to add the marquee code (file/line)? Seems like this would probably work just fine, assuming the 'latest post' box would shrink to one line with the 3 latest posts scrolling upwards through it.
Title: Re: Scrolling 'recent posts' block
Post by: AngelinaBelle on October 14, 2010, 08:31:05 AM
Code: [Select]
$marquee_height='170px';
 
$parms= array(
'type' => 'Posts',
'display' => 'full'
)
 

echo '<marquee behavior="scroll" direction="up" height="', $marquee_height, '" scrolldelay=" 10" scrollamount=" 1" onmouseover="this.stop()" onmouseout="this.start()">';
sp_recent($parms, 0, false)
echo '</marquee>';
Title: Re: Scrolling 'recent posts' block
Post by: mack on October 14, 2010, 09:10:40 AM
Thanks AngelinaBelle ..

Last question (I promise) .. where does that go? Which file/line?
Title: Re: Scrolling 'recent posts' block
Post by: AngelinaBelle on October 14, 2010, 09:40:15 AM
Anywhere you like.
Maybe a custom php block would be the easiest place to start.
Title: Re: Scrolling 'recent posts' block
Post by: mack on October 14, 2010, 09:47:57 AM
Ahhh I see .. thought this was for a specific file rather than an SP block .. I got ya!

I get a syntax problem when applying the code you mentioned above :(

..

Code: [Select]
$marquee_height='170px';
 
$parms= array(
'type' => 'Posts',
'display' => 'full'
);
 

echo '<marquee behavior="scroll" direction="up" height="', $marquee_height, '" scrolldelay=" 10" scrollamount=" 1" onmouseover="this.stop()" onmouseout="this.start()">';
sp_recent($parms, 0, false)
echo '</marquee>';

Error ..

Quote
Parse error: syntax error, unexpected T_ECHO in /Sources/PortalBlocks.php(3444) : eval()'d code on line 9

----------
Edit: corrected code -- inserted missing ";"
Title: Re: Scrolling 'recent posts' block
Post by: AngelinaBelle on October 14, 2010, 09:56:41 AM
Ah.  finding the missing ";" was an exercise left for the reader ;)
Code: [Select]
$marquee_height='170px';
 
$parms= array(
'type' => 'Posts',
'display' => 'full'
);
 
echo '<marquee behavior="scroll" direction="up" height="', $marquee_height, '" scrolldelay=" 10" scrollamount=" 1" onmouseover="this.stop()" onmouseout="this.start()">';
sp_recent($parms, 0, false);
echo '</marquee>';
Title: Re: Scrolling 'recent posts' block
Post by: mack on October 14, 2010, 10:14:28 AM
haha ok, np  :P

This is exactly what I was after .. THANK YOU AngelinaBelle !!!  8)

You can admire the scrolling glory here (http://www.macksites.co.uk/GameBank/index.php) (if you really want to  :P )

Here's the code I ended up using (almost exactly the same as above but with some minor aesthetic changes) ..

Code: [Select]
$marquee_height='30px';
 
$parms= array(
'type' => 'Posts',
'display' => '5'
);
 
echo '<marquee behavior="scroll" direction="up" height="', $marquee_height, '" scrolldelay=" 10" scrollamount=" 0.5" onmouseover="this.stop()" onmouseout="this.start()">';
sp_recent($parms, 0, false);
echo '</marquee>';
Title: Re: Scrolling 'recent posts' block
Post by: mikebcnu on November 04, 2010, 09:28:47 PM
Code: [Select]
$marquee_height='170px';
 
$parms= array(
'type' => 'Posts',
'display' => 'full'
)
 

echo '<marquee behavior="scroll" direction="up" height="', $marquee_height, '" scrolldelay=" 10" scrollamount=" 1" onmouseover="this.stop()" onmouseout="this.start()">';
sp_recent($parms, 0, false)
echo '</marquee>';


I get     ----- Syntax error in block code. Please check the code. ----
Title: Re: Scrolling 'recent posts' block
Post by: AngelinaBelle on November 05, 2010, 11:53:19 AM
That is not an exact copy.
The easiest way to get an exact copy is to hit the "quote" link, and copy the text between the [code] tags.
 
Title: Re: Scrolling 'recent posts' block
Post by: mikebcnu on November 05, 2010, 10:26:05 PM
I copied the code from the quote box and it works only in preview - when i hit "add block" it gives the same error
Title: Re: Scrolling 'recent posts' block
Post by: AngelinaBelle on November 07, 2010, 06:37:54 PM
Please copy the code from this post:
http://simpleportal.net/index.php?topic=6593.msg38275#msg38275 (http://simpleportal.net/index.php?topic=6593.msg38275#msg38275)
Title: Re: Scrolling 'recent posts' block
Post by: Raji on December 06, 2010, 12:38:43 AM
how can I add  MORE RECENT POSTS at the top of quoted code?

http://baask.com/diwwan/index.php?action=recent

Quote
$marquee_height='170px';
 
$parms= array(
'type' => 'Posts',
'display' => 'full'
);
 
echo '<marquee behavior="scroll" direction="up" height="', $marquee_height, '" scrolldelay=" 10" scrollamount=" 1" onmouseover="this.stop()" onmouseout="this.start()">';
sp_recent($parms, 0, false);
echo '</marquee>';

Is it not possible to be available of scrolling option by default within RECENT POSTS/TOPICS, AVEA GALLERY and SHOUT BOX blocks?


Looking forward for your prompt response

Raji
Title: Re: Scrolling 'recent posts' block
Post by: rocknroller on June 29, 2011, 03:32:08 PM
Code: [Select]
<?php
$array 
ssi_recentTopics(16nullnull'array');
global 
$contex$txt$settings;
echo 
'<marquee scrollamount="2" class="moving" onmouseover="this.stop()" onmouseout="this.start()">';
foreach (
$array as $post)
{              if (!empty(
$post['new']) )
                    echo
'';
                else
                    echo
'<img src="' $settings['lang_images_url'] . '/new.gif" class="new_posts" alt="" />';echo'<div class="triangle-isosceles" id="'$post['topic'], '" style="display: none">'$post['preview'], '</div><a href="'$post['href']. '" target="_self" onmouseover="document.getElementById(\''$post['topic'], '\').style.display = \'block\'" onmouseout="document.getElementById(\''$post['topic'], '\').style.display = \'none\'">'$post['short_subject'], '</a>';
}
echo 
'</marquee>
<style> 
marquee.moving a
{
     font-size:12px;
     font-weight:bold;
     margin-right:50px;
}


.triangle-isosceles {
    position: fixed;
    top: 300px;
    left: 400px;
    padding:15px;
    margin:1em 0 3em;
    color:#fff;
    max-width: 400px;
    border: 1px solid #222222;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    border-radius:10px;
    -moz-box-shadow: 3px 3px 39px 2px #222222;
    -webkit-box-shadow: 3px 3px 39px 2px #222222;
    box-shadow: 3px 3px 39px 2px #222222;
    background: -moz-linear-gradient(top, rgba(41,137,216,0.9) 0%, rgba(30,87,153,0.9) 94%, rgba(30,87,153,0.9) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(41,137,216,0.9)), color-stop(94%,rgba(30,87,153,0.9)), color-stop(100%,rgba(30,87,153,0.9)));
    background: -webkit-linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    background: -o-linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    background: -ms-linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    background: linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    }
</style>'
;

?>
Title: Re: Scrolling 'recent posts' block
Post by: ikranet on November 14, 2011, 03:21:01 PM
http://simpleportal.net/index.php?topic=6593.msg48107#msg48107

I use this code but text boil over the frame.

I want mouse over, text in the frame. Not out frame.

sorry, I don't know enough English.
Title: Re: Scrolling 'recent posts' block
Post by: AngelinaBelle on November 15, 2011, 11:19:26 AM
Sounds like a CSS problem. Please provide a link.
Title: Re: Scrolling 'recent posts' block
Post by: ikranet on November 15, 2011, 01:29:45 PM
I don't know, I was only used this code (http://simpleportal.net/index.php?topic=6593.msg48107#msg48107) in the php block.
Title: Re: Scrolling 'recent posts' block
Post by: AngelinaBelle on November 17, 2011, 09:26:55 AM
This block is designed, when you click on the subject, to pop up some text from the message in a "floating" block at a fixed location.

This seems to work perfectly.

The only thing that is not so good is that the box is transparent.  It is very difficult to see the letters in the box.

So, to the CSS section for triangle-isoceles (inside the curly brackets {}), perhaps you will like to add:
Code: [Select]
background-color: gray;
Title: Re: Scrolling 'recent posts' block
Post by: nazamarya on March 17, 2012, 07:38:51 AM
Code: [Select]
<?php
$array 
ssi_recentTopics(16nullnull'array');
global 
$contex$txt$settings;
echo 
'<marquee scrollamount="2" class="moving" onmouseover="this.stop()" onmouseout="this.start()">';
foreach (
$array as $post)
{              if (!empty(
$post['new']) )
                    echo
'';
                else
                    echo
'<img src="' $settings['lang_images_url'] . '/new.gif" class="new_posts" alt="" />';echo'<div class="triangle-isosceles" id="'$post['topic'], '" style="display: none">'$post['preview'], '</div><a href="'$post['href']. '" target="_self" onmouseover="document.getElementById(\''$post['topic'], '\').style.display = \'block\'" onmouseout="document.getElementById(\''$post['topic'], '\').style.display = \'none\'">'$post['short_subject'], '</a>';
}
echo 
'</marquee>
<style> 
marquee.moving a
{
     font-size:12px;
     font-weight:bold;
     margin-right:50px;
}


.triangle-isosceles {
    position: fixed;
    top: 300px;
    left: 400px;
    padding:15px;
    margin:1em 0 3em;
    color:#fff;
    max-width: 400px;
    border: 1px solid #222222;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    border-radius:10px;
    -moz-box-shadow: 3px 3px 39px 2px #222222;
    -webkit-box-shadow: 3px 3px 39px 2px #222222;
    box-shadow: 3px 3px 39px 2px #222222;
    background: -moz-linear-gradient(top, rgba(41,137,216,0.9) 0%, rgba(30,87,153,0.9) 94%, rgba(30,87,153,0.9) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(41,137,216,0.9)), color-stop(94%,rgba(30,87,153,0.9)), color-stop(100%,rgba(30,87,153,0.9)));
    background: -webkit-linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    background: -o-linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    background: -ms-linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    background: linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    }
</style>'
;

?>

I want to show images. ı dont want to show links. how to edit code. thanks.
Title: Re: Scrolling 'recent posts' block
Post by: FireDitto on September 15, 2012, 08:52:06 AM
Pretty sure I'm using hte code in this thread; but I've included it below just in case.

What I was hoping would be the ability to restrict which boards it comes from. I don't want the threads from the "Advertisement" section flashing through.

Thanks for any help =)

Code: [Select]
global $settings, $txt, $scripturl, $post;
$array = ssi_recentTopics(20, null, null, 'array');
echo '<marquee scrollamount="4" class="moving" onmouseover="this.stop()" onmouseout="this.start()">';
foreach ($array as $post)
{              if (!empty($post['new']) )
                    echo'';
                else
                    echo'<img src="' . $settings['lang_images_url'] . '/new.gif" class="new_posts" alt="" />';echo'<div class="triangle-isosceles" id="a', $post['topic'], '" style="display: none">', $post['preview'], '</div><a href="'. $post['href']. '" target="_self" onmouseover="document.getElementById(\'a', $post['topic'], '\').style.display = \'block\'" onmouseout="document.getElementById(\'a', $post['topic'], '\').style.display = \'none\'">', $post['short_subject'], '</a>';
}
echo '</marquee>
<style type="text/css">
marquee.moving a
{
     font-size:12px;
     font-weight:bold;
     margin-right:50px;
}
.triangle-isosceles {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index:1000;
    padding:15px;
    margin:1em 0 3em;
    color:#fff;
    max-width: 400px;
    border: 1px solid #ccc;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    border-radius:10px;
    -moz-box-shadow: 1px 1px 0px 0px #777;
    -webkit-box-shadow: 1px 1px 0px 0px #777;
    box-shadow: 1px 1px 0px 0px #777;
    background: -moz-linear-gradient(top, rgba(41,137,216,0.9) 0%, rgba(30,87,153,0.9) 94%, rgba(30,87,153,0.9) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(41,137,216,0.9)), color-stop(94%,rgba(30,87,153,0.9)), color-stop(100%,rgba(30,87,153,0.9)));
    background: -webkit-linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    background: -o-linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    background: -ms-linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
    background: linear-gradient(top, rgba(41,137,216,0.9) 0%,rgba(30,87,153,0.9) 94%,rgba(30,87,153,0.9) 100%);
}
</style>';
Title: Re: Scrolling 'recent posts' block
Post by: phantomm on September 15, 2012, 09:17:28 AM
Code: (Find) [Select]
ssi_recentTopics(20, null, null, 'array');
Code: (Replace with) [Select]
ssi_recentTopics(20, array(11,23), null, 'array');
11 and 23 are ID's of boards that we don't want to see in this block, it's example from my forum, so don't forget to replace it with ID's from your board  :)
Title: Re: Scrolling 'recent posts' block
Post by: EvilE69 on January 25, 2015, 01:04:16 PM
Is there a setting i am missing here that allows for more than the 5 most recent posts?

Thanks
Title: Re: Scrolling 'recent posts' block
Post by: ♦ Ninja ZX-10RR ♦ on January 25, 2015, 03:45:07 PM
As far as I know that is ruled by the theme settings (Forum » Administration Center » Themes and Layout » Manage and Install {your theme, ofc}) you will find "Number of recent posts to display on board index:
To disable the recent posts bar set this value to zero." there you should be able to tweak it :) and welcome to the forum!

EDIT: scratch the above, that is only for the board index.
You will find "Recent Posts or Topics to Display:" in the block settings instead :)
SimplePortal 2.3.8 © 2008-2024, SimplePortal