vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Member.php default tab (https://vborg.vbsupport.ru/showthread.php?t=314784)

TheAdminMarket 10-08-2014 03:49 PM

Member.php default tab
 
Hello,

Using the hook profile_tabs_first I've created a page tab with some extra user info. So far so good. As expected, it appears as first tab.

The problem is that all core links to member.php redirect to "My Activity" tab. I thought that by placing my custom tab first the links will open the 1st tab. But not.

Anyone knows how to set as default tab my custom tab? Manually changing the links to:
member.php?u={vb:raw userid}&tab=mycustomtab#mycustomtab
works fine, but it's almost impossible to change all core links.

Thank you

kh99 10-08-2014 04:13 PM

Maybe you need to make your tab the default tab. In the navigation table there's a state field, and one of the bits says the tab is the default. Look in admin/navigation.php, where it does if ($_REQUEST['do'] == 'dodefault'), and maybe also in includes/functions_navigation.php.

TheAdminMarket 10-08-2014 04:26 PM

Quote:

Originally Posted by kh99 (Post 2518167)
Maybe you need to make your tab the default tab.

First of all thank you for your prompt attention. Really appreciated. I gave a look at navigation.php but I got a feeling that this file is for the site's navigation tabs, while I'm talking for the user's profile tabs.

kh99 10-08-2014 04:28 PM

Oops, you're right, sorry. I saw "Activity" and thought you meant the navigation tab.

TheAdminMarket 10-08-2014 04:29 PM

1 Attachment(s)
See the attached screenshot to understand for which tabs I'm talking about.

kh99 10-08-2014 04:36 PM

OK, in member.php there's this code:
Code:

if ($vbulletin->GPC['vmid'] AND !$vbulletin->GPC['tab'])
{
        $vbulletin->GPC['tab'] = 'visitor_messaging';
}

So maybe if you set $vbulletin->GPC['tab'] to your tab at hook member_execute_start. Like:
Code:

if (!$vbulletin->GPC['tab'])
{
        $vbulletin->GPC['tab'] = 'my_tab';
}


Edit: ...or maybe you also need to check $vbulletin->GPC['vmid'] like the code above. I don't know what that is.

TheAdminMarket 10-08-2014 04:53 PM

I'll check your suggestion and I'll come back. Meanwhile I was checking the template MEMBERINFO and I found something that can helps, but still haven't tested it.
Code:

{vb:raw template_hook.profile_tabs_first}
<vb:if condition="$blocks[activitystream]"><dd<vb:if condition="$selected_tab == 'activitystream' OR $selected_tab == ''"> class="userprof_module" <vb:else /> class="userprof_moduleinactive" </vb:if>><a id="activitystream-tab" href="{vb:link member, {vb:raw userinfo}, "tab=activitystream"}#activitystream" onclick="return tabViewPicker(this);">{vb:raw activity_phrase}</a></dd></vb:if>

That OR $selected_tab == ''" I think that it makes the tab "My Activity" to be default. Tried to remove it but I got parsing error when during saving. I'll give one more try.

--------------- Added [DATE]1412791348[/DATE] at [TIME]1412791348[/TIME] ---------------

Unfortunatelly your solution does not works, so I need to try with the template. That:
Code:

$vbulletin->GPC['vmid']
means (most probably) "Visitor Message Id"

kh99 10-08-2014 05:08 PM

Quote:

Originally Posted by NickTheGreek (Post 2518173)
Unfortunatelly your solution does not works, so I need to try with the template. That:
Code:

$vbulletin->GPC['vmid']
means (most probably) "Visitor Message Id"

That makes sense. So what that code does is go to the visitor message tab if the url has a vmid. So you wouldn't want to check for a vmid, but it seems like you should be able to set $vbulletin->GPC['tab'] to a default.

TheAdminMarket 10-08-2014 05:40 PM

Quote:

Originally Posted by kh99 (Post 2518178)
but it seems like you should be able to set $vbulletin->GPC['tab'] to a default.

I don't know if I must laught or cry.

To laught because from no solution we've in hands 2 solutions. Yours is better as PHP modification is easier than template. But the template also works.

To cry because even if my tab becomes default, it does not shows data. Just a blank tab. The funny is that if I click another tab and then come back to my tab it shows the data.:confused:

TheAdminMarket 10-12-2014 06:05 AM

Anyone??


All times are GMT. The time now is 05:29 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01354 seconds
  • Memory Usage 1,739KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (5)bbcode_code_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete