SimplePortal
Customization => Custom Coding => Topic started 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
-
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:
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
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.
-
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
-
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.