Register Members List Search Today's Posts Mark Forums Read

Reply
 
Thread Tools
  #1  
Old 13 Sep 2012, 18:40
SOFDrew SOFDrew is offline
 
Join Date: Jan 2012
BBCode and variables

I am trying to create BBCode that will look up information from my DB. The forums already pull information that looks like this:

$forumInfo['AffiliateLink']

It is a table variable that is set by forum. Is there any way to use that type of link in BBCode? When I use it now it comes through as you see it above
Reply With Quote
  #2  
Old 13 Sep 2012, 18:46
kh99 kh99 is offline
 
Join Date: Aug 2009
Real name: Kevin
You can't do that just by defining a bbcode, you'd need to write a plugin of some kind.
Reply With Quote
  #3  
Old 13 Sep 2012, 18:50
SOFDrew SOFDrew is offline
 
Join Date: Jan 2012
A plugin is already written to bring the information INTO the forums. It's just the BBCode that I am trying to get working now.

In the templates I can use that just fine.

--------------- Added 13 Sep 2012 at 18:52 ---------------

I better explain more...

The BBCode is a set of HTML that I am using. I want to use it like this:

[Advert=284]Program Name[/Advert]

I have a bunch of HTML that takes the option and parameter and places it into the HTML appropriately. However - I have 1 piece of information it needs to get from the tables.. The AffiliateLink. that information is already defined and used in the templates. I'm just not sure how to get AT IT in the BBCode.

--------------- Added 13 Sep 2012 at 18:54 ---------------

Added:

It would be no different than trying to get at the PostID from within BBCode. How do I address that?
Reply With Quote
  #4  
Old 13 Sep 2012, 18:57
kh99 kh99 is offline
 
Join Date: Aug 2009
Real name: Kevin
Originally Posted by SOFDrew View Post
A plugin is already written to bring the information INTO the forums. It's just the BBCode that I am trying to get working now.

In the templates I can use that just fine.
OK, but the problem is that defining a custom bbcode in the bbcode manager only lets you specify html as the replacement. It's not a template so you cannot use variables or template tags (like vb:if, etc).

But there is this mod: http://www.vbulletin.org/forum/showthread.php?t=264896 (which I'm surprised hasn't been more popular). It will let you use php in the bbcode definition, so you should be able to use your variables if they're global. One thing that I'm not sure of though is about caching. The final html code for a post is normally cached to avoid doing work (like the bbcode processing) over and over when it always comes out the same. But if you want to define a bbcode that you would expect to look different sometimes (for different users or something like that), then it might not work as expected. Then you might need to do something like use a str_replace() in a plugin at hook postbit_display_complete to insert your variable.


Originally Posted by SOFDrew View Post
It would be no different than trying to get at the PostID from within BBCode. How do I address that?
You can't do that either, with a normal custom bbcode, unless of course the postid is included as the parameter (which I think may be how some of the bbcodes work). There is no variable that can be used in the replacement that will give you the current postid (or anything else, except the option and parameter).


Edit: I missed this addition to your post:
Originally Posted by SOFDrew View Post
I have a bunch of HTML that takes the option and parameter and places it into the HTML appropriately. However - I have 1 piece of information it needs to get from the tables.. The AffiliateLink. that information is already defined and used in the templates. I'm just not sure how to get AT IT in the BBCode.

Then it sounds like the mod I mentioned above might work for you.

Last edited by kh99; 13 Sep 2012 at 19:22.
Reply With Quote
  #5  
Old 14 Sep 2012, 14:13
SOFDrew SOFDrew is offline
 
Join Date: Jan 2012
That mod worked! thank you very much I had to re-formulate the bbcode a bit (i.e., lose the HTML and put it into a variable), because inserting the php in the middle did nothing However, once I figured that out - was easy.

Thanks again.
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


New To Site? Need Help?

All times are GMT. The time now is 13:31.

Layout Options | Width: Wide Color: