The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Show Full CMS Article in Comments Thread Details »» | |||||||||||||||||||||||||||||||
This is more of an example than a modification. I wrote this quick plugin for someone and thought I would share it. It's something someone can take and build on. All it does is if you look at the CMS Article thread in your CMS Comments forum, the content of the CMS Article is shown under the blurb "You can view the page at.....". This is ONLY for Articles - not Static Pages or PHP Direct Evaluation content types. Someone can build on this and do those if they want. The person I wrote this for had forms in their articles and needed the submit button to be disabled, so this plugin does that also.
Like I said - this is more of an example. I don't plan to do anything more with it and I'm not helping with modifying it for your own use. Use it however you want. This adds one query to the threads in the CMS Comments forum. To install.... Create a Plugin Hook Location - postbit_display_complete Title - Show Full CMS Article Plugin PHP Code - PHP Code:
CMS Comment Thread: If you ONLY want to show the full article to users, not guests, then change this condition (thanks to mattysheff): PHP Code:
PHP Code:
Download Now
Screenshots
Show Your Support
|
3 благодарности(ей) от: | ||
Paul M, tbworld, Toorak Times |
Comments |
#72
|
||||
|
||||
I'm not sure I understand what you want. If you promote a blog and then have a comments thread for it, then you can do this same sort of thing for that thread. You do need to modify my original code here if you allow comment threads in several forums though. When I originally wrote it, all comments threads were in one forum.
|
#73
|
|||
|
|||
I am on 4.1.9
When i promote a thread to a blog the thread continues to take comments but the actual blog page only shows the first post. I would like the blog to also be interacting with the thread and contain the comments...... but it doesn't. |
#74
|
||||
|
||||
This mod will not help with that at all. You will have to code something to do what you want.
|
#75
|
|||
|
|||
Quote:
first of all: fantastic work (based on Lynnes)! It works great in the web browser. But: Regarding your Tapatalk statement... this does not work (for us... www.apfeltalk.de). There is no full CMS article in forum via Tapatalk. Anyone else noticed the problem? Is there something i could set up in the plugin ( hook, order etc.)? Is this a vbulletin or a vbcms? Thanks a lot in advance ;-) |
#76
|
||||
|
||||
I've modified this add-on to display the preview text only. First you need a template called full_cms_in_comments_thread:
Code:
{vb:raw previewtext}<br /> <span class="cms_article_readmore"><a href="{vb:raw page_url}">{vb:rawphrase read_more_phrase} <img src="{vb:stylevar imgdir_cms}/read_more-{vb:stylevar right}.png" alt="{vb:rawphrase read_more_phrase}" /></a> </span> Code:
if (THIS_SCRIPT == 'showthread' AND $this->thread['forumid'] == $this->registry->options['vbcmsforumid'] AND $this->post['postcount'] == 1) { $result = $this->registry->db->query_first(" SELECT cms_article.pagetext, cms_article.threadid, cms_article.htmlstate, cms_node.nodeid, cms_node.userid, cms_node.url FROM " . TABLE_PREFIX . "cms_article AS cms_article INNER JOIN " . TABLE_PREFIX . "cms_node AS cms_node ON (cms_node.contentid = cms_article.contentid) INNER JOIN " . TABLE_PREFIX . "cms_nodeinfo AS cms_nodeinfo ON (cms_nodeinfo.nodeid = cms_node.nodeid) WHERE cms_nodeinfo.associatedthreadid = ". $this->thread['threadid']. " "); if($result) { $contenttypeid = vb_Types::instance()->getContentTypeID('vBCms_Article'); $allow_html = vBCMS_Permissions::canUseHtml($result['nodeid'], $contenttypeid, $result['userid']); $bbcode_parser = new vBCms_BBCode_HTML(vB::$vbulletin, vBCms_BBCode_HTML::fetchCmsTags()); $pagetext = $bbcode_parser->get_preview(fetch_censored_text($result['pagetext']), vB::$vbulletin->options['default_cms_previewlength'], $allow_html); $result['previewtext'] = strip_bbcode($pagetext); $attach = new vB_Attach_Display_Content(vB::$vbulletin, 'vBCms_Article'); $attachments = $attach->fetch_postattach(0, $result['nodeid']); $bbcode_parser->attachments = $attachments; $bbcode_parser->unsetattach = true; $templater = vB_Template::create('full_cms_in_comments_thread'); $templater->register('previewtext', fetch_censored_text($bbcode_parser->do_parse($result['previewtext'],true,$result['htmlstate']))); $templater->register('page_url', vB_Route::create('vBCms_Route_Content', $result['nodeid'] . ($result['url'] == '' ? '' : '-' . $result['url']))->getCurrentURL()); $this->post['message'] = $templater->render(); } } |
Благодарность от: | ||
Lynne |
#77
|
||||
|
||||
Thanks for sharing!
|
#78
|
||||
|
||||
I'm actually trying to get the article/comments forum to post a preview of the thread on vBAdvancec cmps news feed. currently I have been unsuccessful. the comment forums look great with this mod but when I go to cmps it is still displaying "You can view the page at..." instead of the preview
|
#79
|
||||
|
||||
Same to you.
One thing I still don't like, is that if you quote the first post of the comments thread, it quotes only the link to the article. This happens because the mod doesn't actually replace the post text in the database - which I like, because this way you don't have to edit the thread if you edit the article. Does anyone have an idea how we could make quotations work while keeping the current approach of not replacing the post text in the database? |
#80
|
||||
|
||||
Here's another improvement:
Add a plugin called "Quote Full CMS Article", hook newreply_quote. Code:
if (THIS_SCRIPT == 'ajax' AND $quote_post['forumid'] == $vbulletin->options['vbcmsforumid']) { $is_first_post = false; $result = $vbulletin->db->query_first("SELECT postid FROM " . TABLE_PREFIX . "post WHERE threadid=" . $quote_post['threadid'] . " ORDER BY dateline LIMIT 1"); if($result) { $is_first_post = ($result['postid'] == $quote_post['postid']); } if($is_first_post) { $result = $vbulletin->db->query_first(" SELECT cms_article.pagetext, cms_article.threadid, cms_node.nodeid, cms_node.userid FROM " . TABLE_PREFIX . "cms_article AS cms_article INNER JOIN " . TABLE_PREFIX . "cms_node AS cms_node ON (cms_node.contentid = cms_article.contentid) INNER JOIN " . TABLE_PREFIX . "cms_nodeinfo AS cms_nodeinfo ON (cms_nodeinfo.nodeid = cms_node.nodeid) WHERE cms_nodeinfo.associatedthreadid = ". $quote_post['threadid']. " "); if($result) { bootstrap_framework(); $contenttypeid = vb_Types::instance()->getContentTypeID('vBCms_Article'); $allow_html = vBCMS_Permissions::canUseHtml($result['nodeid'], $contenttypeid, $result['userid']); $bbcode_parser = new vBCms_BBCode_HTML($vbulletin, vBCms_BBCode_HTML::fetchCmsTags()); $pagetext = $bbcode_parser->get_preview(fetch_censored_text($result['pagetext']), $vbulletin->options['default_cms_previewlength'], $allow_html); } } } |
Благодарность от: | ||
Lynne |
#81
|
|||
|
|||
Thanks Lynne awesome mod!
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|