Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 11-24-2020, 07:45 PM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default [SOLVED]Pulling threadid in templates

This is a first time my doing this with vb4 and I need some help. This seems easy but I'm struggling with it bad.

I have added a sample product showing the 2 ways I am trying to add buttons within a post. thanks to shka I have the custom template one working, the parse_template one is not fetching the threadid though.

I have tried pulling the threadid from postbit, and showthread within plugins.

examplearse templat (in a showthread condition) i am just using new thread button in posts as a base, I want to add a button that will be grabbing the threadid not the forum id.

Code:
$sessionurl = $session['sessionurl'];
	$threadidid = '{vb:raw threadid}';
	$post_phrase = 'Refresh this Listing';
$new_thread_link = '<div><a href="refresh.php?'.$sessionurl.'do=newthread&amp;f='.$threadid.'" rel="nofollow" class="newcontent_textcontrol" id="newthreadlink_top" style="margin-left:10px;"><span>+</span> '.$post_phrase.'</a></div>';

	$find = '<div id="pagination_top"';
	$replace = $new_thread_link.$find;
	$vbulletin->templatecache['SHOWTHREAD'] = str_replace($find, $replace, $vbulletin->templatecache['SHOWTHREAD']);
I have tried directly replacing the variable, replacing with other variables IE $threadinfo['threadid']

but I am not having any luck.

I first wanted to do this in postbit, but was having the same issue. Using post thanks button placement as my base, I could not get the threadid to input:

Code:
<template name="post_thanks_button" templatetype="template" date="1477136504" username="Abe1" version="7.88"><![CDATA[
<vb:if condition="$post['userid'] != 0">
<a href="postings.php?t={vb:raw threadid}" class="post_thanks_button">Refresh</a>
</vb:if>]]></template>
which is placed into the template through this plugin:
Code:
<plugin active="1" executionorder="5">
			<title>Post Thank You Hack</title>
			<hookname>postbit_display_complete</hookname>
			<phpcode><![CDATA[if ($this->post[postid] == $this->thread[firstpostid]){
  $display_thanks_image = '';
	$templater = vB_Template::create('post_thanks_button');
	$templater->register('post', $post);
	$templater->register('display_thanks_image', $display_thanks_image);
	$template_hook['postbit_controls'] .= $templater->render();
  }
]]></phpcode>
		</plugin>
how can I pull the threadid in either of these locations?
Attached Files
File Type: xml button_test.xml (3.9 KB, 1 views)
Reply With Quote
  #2  
Old 11-25-2020, 10:05 AM
yilmaz's Avatar
yilmaz yilmaz is offline
 
Join Date: Sep 2004
Posts: 751
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Forum ID seems to be missing

$threadidid = '{vb:raw threadid}';

PHP Code:
$sessionurl $session['sessionurl'];
    
$forumid $foruminfo['forumid'];
    
$post_phrase 'Refresh this Listing';
$new_thread_link '<div><a href="refresh.php?'.$sessionurl.'do=newthread&amp;f='.$forumid.'" rel="nofollow" class="newcontent_textcontrol" id="newthreadlink_top" style="margin-left:10px;"><span>+</span> '.$post_phrase.'</a></div>';

    
$find '<div id="pagination_top"';
    
$replace $new_thread_link.$find;
    
$vbulletin->templatecache['SHOWTHREAD'] = str_replace($find$replace$vbulletin->templatecache['SHOWTHREAD']); 
Reply With Quote
Благодарность от:
Dr.CustUmz
  #3  
Old 11-25-2020, 10:37 AM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by yilmaz View Post
Forum ID seems to be missing

$threadidid = '{vb:raw threadid}';

PHP Code:
$sessionurl $session['sessionurl'];
    
$forumid $foruminfo['forumid'];
    
$post_phrase 'Refresh this Listing';
$new_thread_link '<div><a href="refresh.php?'.$sessionurl.'do=newthread&amp;f='.$forumid.'" rel="nofollow" class="newcontent_textcontrol" id="newthreadlink_top" style="margin-left:10px;"><span>+</span> '.$post_phrase.'</a></div>';

    
$find '<div id="pagination_top"';
    
$replace $new_thread_link.$find;
    
$vbulletin->templatecache['SHOWTHREAD'] = str_replace($find$replace$vbulletin->templatecache['SHOWTHREAD']); 
forumid was just in the sample code, I am using another product as a starting point, the threadid var is not working here.

this is what I have, no other plugin: (parse templates)
PHP Code:
if (THIS_SCRIPT == 'showthread'){
    
$sessionurl $session['sessionurl'];
    
$threadidid '{vb:raw threadid}';
    
$post_phrase 'Refresh this Listing';

    
$refresh_link '<div><a href="refresh.php?'.$sessionurl.'do=something&amp;t='.$threadidid.'" rel="nofollow" class="newcontent_textcontrol" id="newthreadlink_top" style="margin-left:10px;"><span>+</span> '.$post_phrase.'</a></div>';

    
$find '<div id="pagination_top"';
    
$replace $refresh_link.$find;
    
$vbulletin->templatecache['SHOWTHREAD'] = str_replace($find$replace$vbulletin->templatecache['SHOWTHREAD']); 
in the template the button produces "refresh.php?do=something&t={vb:raw%20threadid}"


I have also tried:

Code:
<plugin active="1" executionorder="5">
			<title>new postbit button</title>
			<hookname>cache_templates</hookname>
			<phpcode><![CDATA[if (THIS_SCRIPT === showthread)
{
	$cache[] = 'my_template';
}]]></phpcode>
		</plugin>
    <plugin active="1" executionorder="5">
			<title>new postbit button</title>
			<hookname>postbit_display_complete</hookname>
			<phpcode><![CDATA[if ($this->post[postid] == $this->thread[firstpostid]){
  $display_refresh_image = '';
	$templater = vB_Template::create('my_template');
	$templater->register('post', $post);
	$templater->register('display_refresh_image', $display_refresh_image);
	$template_hook['postbit_controls'] .= $templater->render();
  }
]]></phpcode>
		</plugin>
with the thread id vars in "my_template" but it only spits out the code, not the threadid.
Reply With Quote
  #4  
Old 11-25-2020, 10:46 AM
shka shka is offline
 
Join Date: Mar 2016
Posts: 79
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Which template?

In postbit_legacy or post_thanks_button
Code:
{vb:raw post.threadid}
Reply With Quote
Благодарность от:
Dr.CustUmz
  #5  
Old 11-25-2020, 10:54 AM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by shka View Post
Which template?

In postbit_legacy or post_thanks_button
Code:
{vb:raw post.threadid}
post_thanks_button

I have updated my code above your post to show ways I have tried. I thought the post thanks hack would be a good reference point because it had the button where i wanted but I cant seem to get threadid within the template.

I read this post from kh99:
Quote:
In your plugin code you can use $threadinfo['threadid']. If you want to use it in the SHOWTHHEAD template it's already registered, and you can use {threadinfo.threadid}. You would only need to register it if you're rendering a custom template, in which case you'd use register() (not preRegister). If you really do want to preRegister to one of the other existing vb templates (e.g. header, headinclude, footer), then you might want to use hook parse_templates (but it really depends on exactly what you're trying to do).
so how would I go about doing that the vb4 way? I just want to go back to vb3! lol
Reply With Quote
  #6  
Old 11-25-2020, 11:03 AM
shka shka is offline
 
Join Date: Mar 2016
Posts: 79
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Either my English is too bad and I don't understand you.
Or you didn't read my post / code.
Reply With Quote
  #7  
Old 11-25-2020, 11:12 AM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am providing my button test, this plugin simply adds a button to the postbit, and to the showthread.

both added buttons I can not get the threadid. see code.
Attached Files
File Type: xml button_test.xml (3.8 KB, 4 views)
Reply With Quote
  #8  
Old 11-25-2020, 11:14 AM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

{vb:raw post.threadid} WORKED FOR THE POSTBIT ONE! THANK YOU! but how can I get the showthread one to show threadid?
Reply With Quote
  #9  
Old 11-25-2020, 11:52 AM
shka shka is offline
 
Join Date: Mar 2016
Posts: 79
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Code:
{vb:raw threadinfo.threadid}
Like in your quotation of kh99 post.
Code:
In your plugin code you can use $threadinfo['threadid']. ...
threadinfo.threadid and $threadinfo['threadid'] is the same variable, you have to use different notations for conditions and direct var access

https://www.vbulletin.com/docs/html?...rsion=40205500
Styles & Templates / vBulletin Style Reference / Templates / Template Syntax
Read Variable Access (and the other stuff)
Reply With Quote
  #10  
Old 11-25-2020, 12:02 PM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

using parse_templates on the showthread template

using $threadinfo[threadid]

my link spits out
refresh.php?do=newthread&t=$threadinfo[threadid]

using '.$threadinfo['threadid'].'

my link spits out:
rrefresh.php?do=newthread&t=
Reply With Quote
Reply


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 06:41 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04627 seconds
  • Memory Usage 2,315KB
  • Queries Executed 12 (?)
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
  • (8)bbcode_code
  • (3)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (2)post_thanks_box_bit
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (2)postbit_attachment
  • (10)postbit_onlinestatus
  • (10)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_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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete