I just added a Forum Group with 2 Forums on my blank Kentico 10 test site, and it is showing a "Subscribe to Forum" once i click into the forum itself. So it's not on the outside, but once you click on the Forum you will see the Subscribe to Forum.
EXPLANATION ( If you don't want to read, just skip to the bottom for solution )
So, the webpart you want to take a look at first is the \CMS\CMSModules\Forums\Controls\ForumDivider.ascx.cs
(this is the control that is used in the Forum Group Web Part).
In here there is, in the PageLoad method, a section that detects the Forum's "state" (whether you are looking at the forums, looking at threads, a specific thread, etc). The Switch case for listing all the forums is the "ForumStatusEnum.Forums":
// Forums
case ForumStateEnum.Forums:
ctrl = LoadUserControl(defaultPath + ForumLayout + "/Forums.ascx");
ctrl.ID = ControlsHelper.GetUniqueID(plcForum, "forumsElem", ctrl);
break;
So next step is we look at that specific control it's loading, i'm looking at the Tree layout so my control is \CMS\CMSModules\Forums\Controls\Layouts\Tree\Forums.ascx
Zach was close, this is the element that first uses the <%# GetLink %> command Zach told you about. So Zach said to copy this line and place it in the ForumDivider.ascx. HOWEVER, that only appends the special command to subscribe to the forum, but does NOT include the Forum ID in the url.
Ex: Subscribe to Link within forum: /Test-Forum.aspx?forumid=2&subscribeto=0
Subscribe to Link outside forum: /Test-Forum.aspx?subscribeto=0
Notice that the forumid parameter is missing, because the action link just adds the subscribeto=0, and doesn't provide the forum ID.
SOLUTION
THUS, although somewhat of a hack and may 'break' in the future if the url format changes, in order to have a Subscribe link on the OUTSIDE, next to the Forum link, you should modify the Forums.ascx to the below:
<%#GetLink(Container.DataItem, ResHelper.GetString("forums.lock"), "ActionLink", ForumActionType.LockForum)%>
<%#GetLink(Container.DataItem, ResHelper.GetString("forums.unlock"), "ActionLink", ForumActionType.UnlockForum)%>
<!-- BEGIN custom added line -->
<a href="?forumid=<%# Eval("ForumID") %>&subscribeto=0"><%# ResHelper.GetString("Forums.Forum.SubscribeForum") %></a>
<!-- END Added Line -->
<%#AdministratorCode(Eval("ForumID"), "</div>", true)%>
If you notice that i have a manual link that adds the ForumID, and then the &subscribeto=0, this formulated the proper link to then direct the user inside the forum with the action of subscribe.