SimplePortal

Customization => Custom Coding => Topic started by: Zirc on August 27, 2010, 06:40:11 PM

Title: Center blocks with no title or background help
Post by: Zirc on August 27, 2010, 06:40:11 PM
SMF: 2.0RC3
Simpleportal: 2.3.2, custom theme based off of Core

On my site I have two blocks in the center/top that are images and I have set these blocks to have no title or background so just the image shows up and nothing else.  You can see here.. http://www.tholeweb.com/test  (http://www.tholeweb.com/test). 
I have gone into the .tborder style and added overflow-x: auto; to it so the blocks that have normal css will scroll instead of flow behind the right blocks.  I wanted to do this for the two top blocks but because I have selected not to have title or background on these they don't get a div style attached to them.  I can understand this because I don't want them to have a border either but is there someplace I can edit that will allow me to assign a different div class to blocks that don't have titles or backgrounds?  I tried several things in the portal.template.php but nothing has worked.  Any help would be great.

Thanks

Title: Re: Center blocks with no title or background help
Post by: Zirc on August 30, 2010, 11:02:44 PM
So I've been thinking about this and thought maybe if in my portal.template.php I added an IF statement that if there was no body or title it would assign a certain div class to it but my very very limited php isn't allowing my change to parse.

This is what is there:
Code: [Select]
function template_block_core($block)
{
global $settings;



echo '
<div class="', !empty($block['style']['no_body']) ? '' : ' tborder', '">
<table class="sp_block">';

if (empty($block['style']['no_title']))
{
echo '
<tr>
<td class="sp_block_padding ', $block['style']['title']['class'], '"', !empty($block['style']['title']['style']) ? ' style="' . $block['style']['title']['style'] . '"' : '', '>';

if (empty($block['force_view']))
echo '
<a class="sp_float_right" href="javascript:void(0);" onclick="sp_collapseBlock(\'', $block['id'], '\')"><img id="sp_collapse_', $block['id'], '" src="', $settings['images_url'], $block['collapsed'] ? '/expand.gif' : '/collapse.gif', '" alt="*" /></a>';

echo '
', parse_bbc($block['label']), '
</td>
</tr>';
}

echo '
<tr', (empty($block['force_view']) ? ' id="sp_block_' . $block['id'] . '"' : '') , $block['collapsed'] && empty($block['force_view']) ? ' style="display: none;"' : '', '>
<td class="sp_block_padding', ($block['type'] == 'sp_menu') ? '' : ' sp_block', empty($block['style']['body']['class']) ? '' : ' ' . $block['style']['body']['class'], '"', !empty($block['style']['body']['style']) ? ' style="' . $block['style']['body']['style'] . '"' : '', '>';

$block['type']($block['parameters'], $block['id']);

echo '
</td>
</tr>
</table>
</div>
<br />';

}

And this is what I was thinking would work
Code: [Select]
function template_block_core($block)
{
global $settings;

if (empty($block['style']['no_title'])) && (empty($block['style']['no_body']))
{
echo '
<div class="plain_block">
<table class="sp_block">';
}
else
{


echo '
<div class="', !empty($block['style']['no_body']) ? '' : ' tborder', '">
<table class="sp_block">';
}
if (empty($block['style']['no_title']))
{
echo '
<tr>
<td class="sp_block_padding ', $block['style']['title']['class'], '"', !empty($block['style']['title']['style']) ? ' style="' . $block['style']['title']['style'] . '"' : '', '>';

if (empty($block['force_view']))
echo '
<a class="sp_float_right" href="javascript:void(0);" onclick="sp_collapseBlock(\'', $block['id'], '\')"><img id="sp_collapse_', $block['id'], '" src="', $settings['images_url'], $block['collapsed'] ? '/expand.gif' : '/collapse.gif', '" alt="*" /></a>';

echo '
', parse_bbc($block['label']), '
</td>
</tr>';
}

echo '
<tr', (empty($block['force_view']) ? ' id="sp_block_' . $block['id'] . '"' : '') , $block['collapsed'] && empty($block['force_view']) ? ' style="display: none;"' : '', '>
<td class="sp_block_padding', ($block['type'] == 'sp_menu') ? '' : ' sp_block', empty($block['style']['body']['class']) ? '' : ' ' . $block['style']['body']['class'], '"', !empty($block['style']['body']['style']) ? ' style="' . $block['style']['body']['style'] . '"' : '', '>';

$block['type']($block['parameters'], $block['id']);

echo '
</td>
</tr>
</table>
</div>
<br />';

}

I've tried my if/else statement both with the curly brackets and without and still get parse errors.  Any help would be great.
Title: Re: Center blocks with no title or background help
Post by: Zirc on September 07, 2010, 08:06:35 PM
Yeah I have tried setting custom body classes and custom body styles but thats not the problem.  I've attached a screen shot to show what I'm dealing with.  I am using a modified Core theme on my site and normal blocks that have a title and/or body are assigned a div class of .tborder which is fine I want all the normal blocks to have that because it sets an overall border and background colors for all the blocks. 

The blocks that I do not want to have a title or background, like the one shown with the top arrow in the image, are not assigned a div class at all.  Normally this would be fine but I would like to put a div class in there so that I can set the overflow-x to auto so that the images and videos that I post don't spill over into the right side blocks if the window is not wide enough, I prefer to give it horizontal scroll bars if that happens. 

The way the blocks are set up is that any custom html block I do will be contained within the top level div container so no matter what custom body class or style I use there will always be the overall .tborder class that I can't change without it affecting all the other blocks on the site.
I have set the .tborder class to have overflow-x: auto so all normal blocks get scroll bars but I cannot get the ones without a body and title to do this with no css class to change.  This is why I want to hard code a specific class to blocks that do not have titles or bodies.  Thats where I was going with my idea earlier in the thread that says if there is no body or title class then it gets something like <div class="blank"> else <div class="tborder">

Thanks for responding btw I really appreciate any ideas
Title: Re: Center blocks with no title or background help
Post by: Zirc on September 10, 2010, 09:13:22 AM
Still looking for a solution to this, it's the only thing holding me back from using Simpleportal with 2.0RC3 I really like everything that Simpleportal has to offer and don't want to use something else.
SimplePortal 2.3.8 © 2008-2024, SimplePortal