PDA

View Full Version : Forum Display Enhancements - [vBMods.rocks] Display Forum Description on Forum Channel page using an Ad Module


noypiscripter
10-12-2016, 09:00 PM
It's a default feature in vB4 to have the forum description displayed below the forum name in the forum display page. Unfortunately, this is not the case for vB5. But don't worry, adding it is fairly easy thing to do and the actual code for it is so simple! You may wonder why on earth vBulletin has not implemented it yet? Don't ask me, I don't know why. :confused:

You can do this by editing a template but I don't recommend it for maintenance reasons as you may get template merge conflicts during an upgrade and you would have to resolve the conflicts every time. I prefer this approach better using an Ad module as this will not get affected by future upgrades.

Below are the steps:

Go to a Forum Channel Page.
Enable Sitebuilder (Edit Site ON)
Click Edit Page.
Drag and drop an Ad Module onto the page below the Page Title Module.
Edit the Ad Module by clicking on the Pencil icon.
Fill out the config form
Title: Forum Description (or anything, it doesn't matter as this will not be displayed)
Keep default values in other fields.
Click Edit button in the Config Ad option.
Click Add New Ad button.
Enter Ad title (e.g. Forum Description)
Enter the following HTML code and template variable. NOTE: The code in red is required as a workaround for vB 5.2.4 and above until this JIRA bug report (http://tracker.vbulletin.com/browse/VBV-16734) is fixed. For vB 5.2.3 and below, do not add them.


</vb:literal>
<div class="custom-forum-channel-desc h-align-left">
{vb:raw page.nodedescription}
</div>
<vb:literal>

Check "Active" checkbox.
Save the form.
Save the page.
Overwrite the template. This makes the changes to the template available to all the Forum channel pages.
(Optional) If you want to style the forum description, you can add custom CSS in css_additional (or via Sitebuilder > Style > CSS Editor) with this CSS rule:
.custom-forum-channel-desc {
/* custom style here */
}
You could also add the custom CSS directly in the Ad module itself by adding this at the very top of the code.
<style>
.custom-forum-channel-desc {
/* custom style here */
}
</style>


Live Demo:
http://vbmods.rocks/forum/vbulletin-5-modifications/vbulletin-5-template-only-modifications

This mod is also posted in http://vbmods.rocks/forum/vbulletin-5-modifications/vbulletin-5-miscellaneous-modifications/1610-display-forum-description-on-forum-channel-page-using-an-ad-module

Screenshot:
See attached image below.

Papa Bear
10-14-2016, 07:54 PM
Ok followed the steps and instead it only shows this.

{vb:raw page.nodedescription}

noypiscripter
10-14-2016, 10:31 PM
Are you on vBCloud?

Papa Bear
10-14-2016, 10:50 PM
Are you on vBCloud?

No..running version 5.2.4

noypiscripter
10-14-2016, 11:08 PM
Are you sure you are using an Ad Module and not an HTML module?

noypiscripter
10-14-2016, 11:10 PM
Could you post or PM me the link to your site?

noypiscripter
11-18-2016, 03:14 PM
@Papa Bear, I have an idea what's happening to your site not parsing vB template code syntax in Ad modules.

1. Determine the ad id generated by the Ad module you added. Right click on the module and inspect the HTML element and find ad_XXX_inner or axd_XXX CSS classes in the module. The XXX is the ad id. I found it for your site which is 158.

2. Find the ad template in AdminCP using the ad id you got in step 1. The template name has a format of ad_XXX where XXX is the ad id. So in your case, the template name is ad_158.

3. Edit the template and make sure the "Text Only" checkbox is unchecked. I'm pretty sure it is checked for you which causes vB template code syntax to not be parsed and evaluated.

4. Save.

Please let me know if that fixes the issue for you.

Mark.B
11-18-2016, 10:12 PM
Glenn, I ran into this on a client site and it's because the template has <vb:literal> tags in it. If you remove those it works.

Guess the ad modules must insert those by default, I'm not sure. The text only box was already unticked.

noypiscripter
11-19-2016, 06:53 AM
I don't see vb literal tags in Ad module templates. Or is that done only in vBCloud? I know the Text Only flag is forcely set in css_additional template when adding custom css via Sitebuilder CSS Editor. I created a related JIRA on that recently.

http://tracker.vbulletin.com/browse/VBV-16683

Mark.B
11-19-2016, 09:25 AM
I don't see vb literal tags in Ad module templates. Or is that done only in vBCloud? I know the Text Only flag is forcely set in css_additional template when adding custom css via Sitebuilder CSS Editor. I created a related JIRA on that recently.

http://tracker.vbulletin.com/browse/VBV-16683

This was on a self hosted site, not cloud. It just put the tags in itself and that generated the same symptoms as the user above. I removed them and it worked. So that might be this user's issue.

It's worth noting that adding the forum description is due to go into 5.2.6:
http://tracker.vbulletin.com/browse/VBV-12209

The css_additional flag being set is, I'm fairly sure, because of Cloud customers, as they have access to that and it needs to be text only. So to implement that Jira they'd need some way of distinguishing between the two and setting it appropriately. Otherwise Cloud customers would have to be restricted from adding custom css.

noypiscripter
11-20-2016, 03:26 AM
This was on a self hosted site, not cloud. It just put the tags in itself and that generated the same symptoms as the user above. I removed them and it worked. So that might be this user's issue.
That looks like an issue then. There should be no vb literal tags in ad templates as vb template syntax is supported in ad modules

noypiscripter
11-22-2016, 06:48 PM
I have tested in my 5.2.5 test site that it adds <vb:literal> tags around the code in Ad modules. I don't know if this was intended but it looks like this was implemented recently in the past one or two versions. I assume this was intended for vBCloud only and not for self-hosted. So I guess this has the same issue as the Text Only flag in css_additional template (http://tracker.vbulletin.com/browse/VBV-16683).

Btw, the added literal tags can be easily bypassed by closing and opening it and putting your code in between.

</vb:literal>

--- Your Ad module code here ---

<vb:literal>
First post updated to add this workaround. This workaround will probably work in vBCloud too.

noypiscripter
11-22-2016, 09:05 PM
I checked vB 5.2.3 and it doesn't add <vb:literal> tags. So I think the addition of literal tags started in vB 5.2.4.

I still think that this was intended for vBCloud only. This should not happen in self-hosted version. Actually, the Ad code field has this text above it:


Template conditionals and variables are allowed.

That should be removed if template code syntax is not allowed.

noypiscripter
11-22-2016, 09:20 PM
I created a bug report for this.

http://tracker.vbulletin.com/browse/VBV-16734

satriamuda99
11-23-2016, 05:07 PM
you are very genius in vBulletin can you create a module like this? http://prntscr.com/d7zdpl

noypiscripter
11-24-2016, 02:24 PM
you are very genius in vBulletin can you create a module like this? http://prntscr.com/d7zdpl

I recommend you to post a mod request to my site and explain what you want in detail and not just providing a screenshot.