Okay, I have my variable showing up where I wanted, but I still have a question, below.
I had to analyse the way the scripts call each other and the templates before I could get things right...
- index.php calls the function construct_forum_bit (which is found in functions_forumlist.php)
- construct_forum_bit fetches the template forumhome_forumbit_level1_nopost
The only way I could get my array, $something, to be available in the
forumhome_forumbit_level1_nopost template was to add another hook:
The hook named
forumbit_display, which is near the end of
construct_forum_bit, now contains:
PHP Code:
global $something;
I can now make the template conditional in the forumbit template use the $something variable, and it works except for one problem...
The
forumhome_forumbit_level1_nopost template now contains this (the code I added is in
color):
Code:
<tbody>
<tr>
...code that shows the moderator column if enabled...
<if condition="in_array($forum[forumid],$something)">
$forum[title]
<else />
...original code that displays the forum title as a link, and the collapse button...
</if>
...code that displays the forum description...
</tr>
</tbody>
...code that displays any subforums...
Let me stress again that this code
works. If the forum is a category and the forumid is in the $something array, my simplified code executes. If not, the original code executes and the category is displayed as the designers intended.
The only problem is that when I put the
in_array($forum[forumid],$something) function in the template conditional and try to save the template, it reports:
Quote:
The following error occurred when attempting to evaluate this template:
Warning: in_array(): Wrong datatype for second argument in /includes/adminfunctions_template.php(3537) : eval()'d code on line 5
This is likely caused by a malformed conditional statement. It is highly recommended that you fix this error before continuing, but you may continue as-is if you wish.
|
I tinkered with this for a long time before I discovered that if I forced it to continue everything would work just fine. Several minor variations I had attempted all worked as well when I tried them again.
So am I bumping up against a limitation of the Template Manager's parsing algorythms, or what? Is my code still flawed, despite the fact it works?
I'd like these final questions answered so I can learn all I can from this attempt, before I move on to doing it the way Marco suggested above.
I'm getting better. I really am!

Thanks for all the help people!
Mike D.