vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Need to call up custom field in "lastpostby" template from thread table (https://vborg.vbsupport.ru/showthread.php?t=294875)

omardealo 02-08-2013 02:49 AM

Need to call up custom field in "lastpostby" template from thread table
 
Hello ,

i Need to call up custom field in "lastpostby" template from thread table
my Version 3.8.7

i try this code

hook : forumbit_display
in templat forumhome_lastpostby : $lastpostinfo[threadphoto]

PHP Code:

$hook_query_fields .= ', thread.threadphoto ';
$hook_query_joins .= ' LEFT JOIN ' 'thread AS thread ON (thread.forumid = forum.forumid) '

i try this code too :

PHP Code:

$tachyjoin .= " LEFT JOIN " TABLE_PREFIX "thread AS thread ON (thread.forumid = forum.forumid) ";
$counter_select .= ", thread.threadphoto"


kh99 02-08-2013 03:00 AM

Not long ago someone asked this same question (they even worded it the same way - weird). Anyway, it's here: www.vbulletin.org/forum/showthread.php?t=293100

omardealo 02-08-2013 04:49 AM

not weird , i see this thread already and i copy same title
i try same code , not worked ...
so , i write new thread ...
thanks kh99 , i waiting ur Suggestions regarding about my problem or what's wrong in my code

Note : my Version 3.8.7 not 4.×.×

kh99 02-08-2013 01:02 PM

Quote:

Originally Posted by omardealo (Post 2402810)
not weird , i see this thread already and i copy same title
i try same code , not worked ...

lol, I see - I thought that was quite a coincidence. Also I see now that you're asking something a little different. OK, Try this: use hook location cache_ordered_forums and code like this:

Code:

$tachyjoin .= " LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON (thread.threadid = forum.lastthreadid) ";
$counter_select .= ", thread.threadphoto";


omardealo 02-08-2013 04:04 PM

ok , i try this code and the hook : cache_ordered_forums
Shows me this error

PHP Code:

Database error in vBulletin 3.8.7:

Invalid SQL:

                
SELECT forum.forumidlastpostlastposterlastthreadlastthreadidlasticonidthreadcountreplycountlastpostidlastprefixidthread.threadphoto
                    
                FROM forum 
AS forum
                
                 LEFT JOIN thread 
AS thread ON (thread.threadid forum.lastthreadid);

MySQL Error   Column 'lastpost' in field list is ambiguous
Error Number  
1052
Request Date  
FridayFebruary 8th 2013 06:58:38 PM
Error Date    
FridayFebruary 8th 2013 06:58:38 PM
Script        
http://localhost/386/index.php
Referrer      http://localhost/386/showthread.php?p=71
IP Address    127.0.0.1
Username      
admin
Classname     
vB_Database
MySQL Version 
5.0.51b-community-nt-log 


Note : some forum on lastthreadid filed = 0

kh99 02-08-2013 04:29 PM

Hmm...OK, try this:

Code:

if (!($vbulletin->userinfo['userid'] AND in_coventry($vbulletin->userinfo['userid'], true)))
{
    $counter_select = str_replace(', ', ', forum.', $counter_select);
}
$tachyjoin .= " LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON (thread.threadid = forum.lastthreadid) ";
$counter_select .= ", thread.threadphoto";


omardealo 02-08-2013 04:40 PM

Quote:

Originally Posted by kh99 (Post 2402898)
Hmm...OK, try this:

Code:

if (!($vbulletin->userinfo['userid'] AND in_coventry($vbulletin->userinfo['userid'], true)))
{
    $counter_select = str_replace(', ', ', forum.', $counter_select);
}
$tachyjoin .= " LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON (thread.threadid = forum.lastthreadid) ";
$counter_select .= ", thread.threadphoto";



it worked good now . Thank you with all my heart
Now, The final question, if u allowed
I want to put a condition if {} in the case of content not available in the field threadphoto

kh99 02-08-2013 05:09 PM

Quote:

Originally Posted by omardealo (Post 2402903)
it worked good now . Thank you with all my heart
Now, The final question, if u allowed
I want to put a condition if {} in the case of content not available in the field threadphoto

You could try something like this in the template:

Code:

<if condition="empty($lastpostinfo[threadphoto])">
No threadphoto
<else />
Threadphoto is $lastpostinfo[threadphoto]
</if>


As long as threadphoto can't be 0 (because that would make empty() true).

omardealo 02-08-2013 05:38 PM

ok that's good i use this template

PHP Code:

<if condition="empty($lastpostinfo[threadphoto])">
<
img border="0" src="$vboptions[threadphoto_DefaultPic]width="50" height="50">
<else />
<
img border="0" src="$lastpostinfo[threadphoto]width="50" height="50">
</if> 


look , i add this template in forumhome_lastpostby template
by this hook : forumbit_display

This code replaces all the template :
PHP Code:

eval('$forum[\'lastpostinfo\'] = "' fetch_template('threadphoto_forumhome') . '";'); 

This code template placed in the end of the template forumhome_lastpostby:
PHP Code:

eval('$forum[\'lastpostinfo\'] .= "' fetch_template('threadphoto_forumhome') . '";'); 


i want put my template At the beginning of the template forumhome_lastpostby












-------------------------------------------------------------------------------------------------------------------------

For any one want to call this field in forumdisplay Beside title threads
1 - plugin 1
hook : forumdisplay_query
code :
PHP Code:

$hook_query_fields .= ", thread.threadphoto AS threadphoto"

2 - add template - plugin 2
hook : global_start
code :
PHP Code:

require_once(DIR '/includes/adminfunctions_template.php'); 
$threadphoto compile_template('<td class="alt2"><if condition="$show[\'threadicon\']"><img src="$thread[threadiconpath]" alt="$thread[threadicontitle]" border="0" /><else />&nbsp;</if></td>');
$threadphoto1 compile_template('');
$vbulletin->templatecache['threadbit'] = str_replace($threadphoto ,$threadphoto1 .fetch_template('threadphoto_threadbit'),$vbulletin->templatecache['threadbit']);
$threadphoto_Photowidth  $vbulletin->phrase[threadphoto_Photowidth];
$threadphoto_Photoheight  $vbulletin->phrase[threadphoto_Photoheight]; 

3 - in template [threadphoto_threadbit] put this
PHP Code:

<if condition="$show[threadicons]">
<
td class="alt2" align="center" valign="middle">
<if 
condition="$thread[threadphoto]">
<
img src="$thread[threadphoto]width="$vboptions[threadphoto_Photowidth]height="$vboptions[threadphoto_Photoheight]/>
<else />
<if 
condition="$vboptions[threadphoto_DefaultPic]">
<
img src="$vboptions[threadphoto_DefaultPic]width="$vboptions[threadphoto_Photowidth]height="$vboptions[threadphoto_Photoheight]/>
<else />
<if 
condition="$show[threadicon]">
<
img src="$thread[threadiconpath]alt="$thread[threadicontitle]border="0" />
</if>
</if>
</
td>
</if>
</if> 


omardealo 02-14-2013 05:48 PM

kh99 , Waiting u ...
thnx .


All times are GMT. The time now is 06:41 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.01350 seconds
  • Memory Usage 1,783KB
  • 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
  • (4)bbcode_code_printable
  • (9)bbcode_php_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