Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 06-05-2011, 01:22 AM
Mrajp Mrajp is offline
 
Join Date: Mar 2005
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default ContentID vs NodeID in vB CMS Question

Hey guys!

Currently, we host a knowledge base inside of long list of forums. With the new vB CMS, I would like to convert these threads into CMS articles. I feel that CMS articles would be more professional than forum threads.

I'm running into a bit of a conundrum though. With the threads, I can easily display ThreadID in the threadbit or postbit. Also, I have an input box where the users can specify a ThreadID and it will execute a javascript redirect to /showthread.php?t={threadid}.

However with the CMS, I now see that there is a NodeID and a ContentID. I can display the ContentID in the article title, but content.php takes a NodeID. I'd like to create a widget that the user could type in a value and be directed to that KB article.

So I'm kinda stuck. These KB IDs should be permanent, which I don't think the NodeID provides (but I'm still kinda new to vB 4.0, so I really don't know). I know the NodeID and ContentID have a relationship in the database, but programming all of that in may be a little over my head.

Sorry in advance if this post seems to be a little all over the place. I'm trying to relay all of my thoughts here. I'm looking for advice, suggestions, and/or examples on any of the above. As always, help is greatly appreciated.

Thanks,
MrAJP
Reply With Quote
  #2  
Old 06-05-2011, 04:51 AM
Dead Eddie's Avatar
Dead Eddie Dead Eddie is offline
 
Join Date: Apr 2004
Location: at Home...
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Node IDs should be permanent (as you point out, the URLs are based on them -- changes there would make google hate you)

Content IDs are not unique within the Node table. You need a combination of content id AND content type id in order to get a node id back (fortunately, the content type id should remain static, so you don't need the user to enter it if you want to go down that road).
Reply With Quote
  #3  
Old 06-05-2011, 11:42 AM
Mrajp Mrajp is offline
 
Join Date: Mar 2005
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Eddie. I used {vb:raw node} in my vbcms_content_article_page template to get the NodeID to display.

On a side note, Is there a resource somewhere that lists all of the raw variables available to the templates? With the new Object Based PHP programming that vB is using, I'm having a hard time following their code.
Reply With Quote
  #4  
Old 06-06-2011, 09:46 AM
Dead Eddie's Avatar
Dead Eddie Dead Eddie is offline
 
Join Date: Apr 2004
Location: at Home...
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry, I'm not sure.
Reply With Quote
  #5  
Old 06-06-2011, 06:44 PM
Mrajp Mrajp is offline
 
Join Date: Mar 2005
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That's alright. Thanks again for your help.
Reply With Quote
  #6  
Old 06-06-2011, 09:20 PM
Alfa1's Avatar
Alfa1 Alfa1 is offline
 
Join Date: Dec 2005
Location: Netherlands
Posts: 3,537
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Could you post when you find out and when you have completed the CMS content type?
Reply With Quote
  #7  
Old 06-06-2011, 10:02 PM
Mrajp Mrajp is offline
 
Join Date: Mar 2005
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh my! I'm not creating a CMS Content Type. That's a way too far over my head :-)

I'm using the "Article" Content Type and modified the templates assigned to that section to display a KB number (which is the NodeID). I wrote a small Javascript widget that the customer can input a NodeID, and have it take them directly to the article.
Reply With Quote
  #8  
Old 06-06-2011, 11:27 PM
Dead Eddie's Avatar
Dead Eddie Dead Eddie is offline
 
Join Date: Apr 2004
Location: at Home...
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That was to me.

The variables appear to be exposed in vB_Template::render_output (includes/class_core.php). You should be able to hack it there to inspect them or pass them into the template as a variable.

Alas, no hooks exposed there, so it'd be a code modification.

Not sure if there's a more official way of doing it...
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:43 PM.


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.02536 seconds
  • Memory Usage 2,212KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete