PDA

View Full Version : Looking for a conditional


Scanu
01-06-2012, 03:59 PM
Hi I'm looking for a conditional like "if his is the last forum" to use in the "forumhome_forumbit_level2_post". For example (of corse not working)


<vb:if condition="$forumcount == 'last' ">Something to show just if this is the last forum code</vb:if>

kh99
01-07-2012, 03:57 PM
I don't think there's any variable that you can check. But you could create a plugin using hook forumbit_display and set $forum['islastshown'] or something like that. The hook is in function construct_forum_bit() in includes/functions_forumlist.php, and I don't see an easy way to figure out if a forum is the last one, but maybe you will figure something out.

Scanu
01-07-2012, 04:35 PM
Ok thanks for your reply kh99 I was looking at "functions_forumlist.php" for some ideas and that's a initial code let me know what do you think

if ($forum['forumid'] == $lastforumid) { }
//Can i get how many forums are there? (and so the last id) or can i get directly the last id?
//if i can't, i'll put an option in the pca for example "What is the last id of your forum?"
$lastforumid = $vbulletin->options['last_forum_id']


--------------- Added 1325958270 at 1325958270 ---------------

lol if i was looking for a condition for the first forum, was simple just

if ($forum['forumid'] =='1') { }

kh99
01-07-2012, 04:56 PM
Well, if you look at that function you'll see that it's bascailly a loop like:

foreach ($vbulletin->iforumcache["$parentid"] AS $forumid)
{


So you'd have to know when you got to the last one. But if you look a little further down, there are some if's so the last id in the $vbulletin->iforumcache["$parentid"] array might not be the last one displayed. I don't really see any way around that (for a general solution, anyway), except to go through the entire array and apply the conditions to see which one comes last, then compare it to the current forum id.

Also, since this function is called recursively, you are talking about the last one only at the current level, but I guess I was assuming that would work for you.

Scanu
01-07-2012, 05:07 PM
if ($forum['forumid'] == $lastforumid) { }
//Can i get how many forums are there? (and so the last id) or can i get directly the last id?
//if i can't, i'll put an option in the pca for example "What is the last id of your forum?"
$lastforumid = $vbulletin->options['last_forum_id']


If this code works how can i use it on the template i mean how can i turn it ona vb:if condition?

kh99
01-07-2012, 05:10 PM
Well, sort of echoing the 'islastshown' for posts, you could do something like:

$forum['islastshown'] = ($forum['forumid'] == $lastforumid);


and then in the template:

<vb:if condition="$forum[islastshown]">

Scanu
01-07-2012, 05:26 PM
Oh that was so simple! I'll try it thank you kh99 :)

--------------- Added 1325981944 at 1325981944 ---------------

Everything worked thanks kh99 helpful as always