SimplePortal

Customization => Custom Coding => Topic started by: Divecall on August 17, 2011, 05:44:06 PM

Title: Custom HTML in blocks-in-blocks
Post by: Divecall on August 17, 2011, 05:44:06 PM
@sinan:
It is possible to add a custom-html-code in this block (What you gave us here: http://simpleportal.net/index.php?topic=5332.msg37841#msg37841)? If yes, how?

AND It is possible to call a url inside the tabs? If yes, how?

Thank you in Advance
Title: Re: Custom HTML in blocks-in-blocks
Post by: AngelinaBelle on August 18, 2011, 07:26:10 AM
Sure! Give it a try! do anything you like.  I recommend doing some experimenting on a test version of your site, because it is easy to break stuff when you start working with the php
Title: Re: Custom HTML in blocks-in-blocks
Post by: Divecall on August 18, 2011, 07:07:15 PM
Great help !!!

Thank you so much...

 :dead:
Title: Re: Custom HTML in blocks-in-blocks
Post by: Divecall on August 20, 2011, 06:41:05 PM
Nobody an idea how to put html-code inside the sinan-block-code?
Title: Re: Custom HTML in blocks-in-blocks
Post by: AngelinaBelle on August 22, 2011, 08:44:21 AM
1) Create an HTML block
2) Call the HTML block
 
Is this what you mean?
Title: Re: Custom HTML in blocks-in-blocks
Post by: Divecall on August 22, 2011, 11:38:28 AM
yes, if we mean the same.  :D

In this followoing Block-code (Thanks, SINAN!) sinan call the tabs with "sp_recent" or "sp_topPoster".
This elements are in the PortalBlocks.php

How can i add the ID from a custom HTML-Block?

Or can i enter the HTML-code in the PortalBlock.php? And call this with a custom-name?
(LightBulb above my head...!  :0)

Title: Re: Custom HTML in blocks-in-blocks
Post by: AngelinaBelle on August 23, 2011, 07:47:56 AM
You do not need to add any code to PortalBlocks.php.
The custom HTML block is already there.
So if you wish to follow the example in http://simpleportal.net/index.php?topic=5332.msg37841#msg37841 (http://simpleportal.net/index.php?topic=5332.msg37841#msg37841)
All you need to do is change the elements of the array. In order to know what to put in the array, you may look in PortalBlocks.php.
* Find out what "type" to use. PortalBlocks.php does not give you this. So I am going to guess "sp_html" is the type, because that is also what the function for the html block is called.
* Find out what the parameters for the call should be. There is only one parameter.
* Fill up the parameter array for that block. You will be putting in your HTML for the block.  Test the HTML somewhere else first -- use "add blocks".  But you don't have to save the block.  You are only using it to test and preview.
 
Title: Re: Custom HTML in blocks-in-blocks
Post by: Divecall on August 23, 2011, 03:08:58 PM
so, i need to edit like this:

'label' => 'MyName',
      'type' => 'sp_html',
      'parameters' => array(<html>< MY CODE HERE ></html>)

sorry, i dont understand very well....How to find the "parameters" ???
Title: Re: Custom HTML in blocks-in-blocks
Post by: [SiNaN] on August 25, 2011, 08:07:49 AM
You're pretty close. It should be:

Code: [Select]
array(
'label' => 'Some HTML',
'type' => 'sp_html',
'parameters' => array('content' => 'html code goes here'),
),
Title: Re: Custom HTML in blocks-in-blocks
Post by: Divecall on September 29, 2011, 05:27:04 PM
Thanks.

It is possible, that some HTML-Code (special with javascript or a swf-movie) not working in this code?

(But they are working in a stand-alone-html-block !!!)
Title: Re: Custom HTML in blocks-in-blocks
Post by: AngelinaBelle on September 29, 2011, 05:42:11 PM
It really depends on the javascript.  If the javascript is after an element with a certain id, but there is more than one element on the page with that id (I have seen this happen!), then the javascript can get the wrong one and fail.
Or there can be two javascript functions with the same name (there would be an error on the second attempt to define the same function).
 
Look for javascript functions, first.
Title: Re: Custom HTML in blocks-in-blocks
Post by: Divecall on September 30, 2011, 04:15:47 PM
I checked both, but looks like i can't fix my problem...

Is there a way to make a Blocks-in-Block code with the block ID?
Title: Re: Custom HTML in blocks-in-blocks
Post by: cnashx on December 27, 2011, 09:15:35 PM
I posted this in the original Blog topic, but I figured I'd post it here since it seems like this might be the appropriate place.

Hello.
I have been using the block with the recent topics and recent posts.
And I was wondering what code I could use to exclude forums or subforums from the recent threads or just specify certain forums or subforums.
I'm thinking about having "Recent Tropics/Threads" and another "recent" block for a specific subforum.
Basically I want to have a "Recent Threads" tab which displays all forums but one parent forum and it's child boards/sub-forums, and another that is basically the same type of tab but just for that one parent forum and it's child boards/sub-forums.
If someone could assist me this would be greatly appreciated. I tried to mess with it myself but I can't seen to get it to work correctly.

Thank you for your help in advance.
Title: Re: Custom HTML in blocks-in-blocks
Post by: cnashx on December 28, 2011, 08:14:18 PM
This is what I have, but it doesn't seem to be working to well...

Code: [Select]
$block = current(getBlockInfo(false, 49, false, false));  // Load block info
$block['style'] = sportal_parse_style('explode', $block['style'], true);  //Parse block style parameters.
template_block($block); // Output the block.
global $txt;

$txt['recent_topics'] = 'Topics';
$txt['recent_reviews'] = 'Reviews';



$buttons = array(
   'recent_topics' => array(
      'text' => 'recent_topics',
      'image' => '',
      'lang' => true,
      'url' => '#recent_topics" id="b_rt" onclick="change_display(\'rp\'); return false;',
      'active' => true,
   ),
   'recent_reviews' => array(
      'text' => 'recent_reviews',
      'image' => '',
      'lang' => true,
      'url' => '#recent_reviews" id="b_rt" onclick="change_display(\'rp\'); return false;',
'active' => true,
   ),
);

echo '
<div style="overflow: auto;">
   ', template_button_strip($buttons), '
</div>
<div id="recent_topics">
   ', sp_recent(array('type' => 1, 'display' => 1, 'boards' => '1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48',), 0), '
</div>
<div id="recent_reviews">
   ', sp_recent(array('type' => 1, 'display' => 1, 'boards' => '49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65'), 0), '
</div>
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
   function change_display(block)
   {
      var current = block == \'rt\' ? 1 : 0;

      document.getElementById(\'recent_topics\').style.display = current ? \'none\' : \'\';
     document.getElementById(\'recent_reviews\').style.display = current ? \'none\' : \'\';
      document.getElementById(\'b_rt\').className = current ? \'button_strip_recent_topics\' : \'button_strip_recent_topics active\';
     document.getElementById(\'b_rt\').className = current ? \'button_strip_recent_reviews\' : \'button_strip_recent_reviews active\';
   }
// ]]></script>';
SimplePortal 2.3.8 © 2008-2024, SimplePortal