SimplePortal
Customization => Blocks and Modifications => Mod Requests => Topic started 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:
-
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?
-
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.
-
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
-
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 :'(
-
Have you tried it on your portal?
-
That same trick will work in your code
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
echo '</marquee>'; // after all the stuff you want to be scrolling
-
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.
-
http://en.wikipedia.org/wiki/Marquee_element (http://en.wikipedia.org/wiki/Marquee_element)
-
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.
-
$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>';
-
Thanks AngelinaBelle ..
Last question (I promise) .. where does that go? Which file/line?
-
Anywhere you like.
Maybe a custom php block would be the easiest place to start.
-
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 :(
..
$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 ..
Parse error: syntax error, unexpected T_ECHO in /Sources/PortalBlocks.php(3444) : eval()'d code on line 9
----------
Edit: corrected code -- inserted missing ";"
-
Ah. finding the missing ";" was an exercise left for the reader ;)
$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>';
-
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) ..
$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>';
-
$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. ----
-
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.
-
I copied the code from the quote box and it works only in preview - when i hit "add block" it gives the same error
-
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)
-
how can I add MORE RECENT POSTS at the top of quoted code?
http://baask.com/diwwan/index.php?action=recent
$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
-
<?php
$array = ssi_recentTopics(16, null, null, '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>';
?>
-
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.
-
Sounds like a CSS problem. Please provide a link.
-
I don't know, I was only used this code (http://simpleportal.net/index.php?topic=6593.msg48107#msg48107) in the php block.
-
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:
background-color: gray;
-
<?php
$array = ssi_recentTopics(16, null, null, '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.
-
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 =)
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>';
-
ssi_recentTopics(20, null, null, 'array');
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 :)
-
Is there a setting i am missing here that allows for more than the 5 most recent posts?
Thanks
-
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 :)