vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4.x Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=245)
-   -   vBulletin CMS Widgets - Widget: Latest Articles In Category (https://vborg.vbsupport.ru/showthread.php?t=232440)

OcR Envy 01-06-2010 10:00 PM

Widget: Latest Articles In Category
 
1 Attachment(s)
Latest Articles In Category

What is does:
vBCMS only has one option for latest articles and that is all sections and categories. This widget will allow you to display the latest articles in a specific category.

Change Log:
1.0 - Initial Release
1.1 - Updated to allow more than one category & display published date.
1.2 - Small update, no need to update unless you are using a table prefix.
1.3 - Added full page text if no previewtext row exists.
1.4 - Updated to not display unpublished articles.
1.5 - Updated read more link to be more vBulletin like.
1.6 - Small change to fix 4.0.2 [ATTACH] showing in text.

Installation:
  • Goto AdminCP-vBullietin CMS-Widgets->Create New Widget
  • Choose PHP Direct Execution as Widget's Type
  • Enter A Title IE: "Latest (Insert Your Category Name Here)"
  • Click Save
  • Click Configure
  • Remove all the default code.
  • Copy and Paste the code below first editing $category and $limit to your liking
  • Click Save
  • Goto AdminCP-vBullietin CMS-Layout Manager
  • Add the Widget to your Layout
  • Click Save
How do I find my category id?
When in your article you should see something like this:
The number after / in this case 11 is your category id.

Can I enter more than one category id?
Yes simply change $category = '11' to something like $category='11, 12, 13'

Code to copy(make sure you change $category and $limit!)
PHP Code:

// Set Your Category ID Here
$category '47';
// Set The Number of Articles To Display
$limit '1';
// Set The Height of The Thumbnail Image
$height '250';
// Set The Width of The Thumbnail Image
$width '250';


$articlegrab vB::$db->query_read("
SELECT "
.TABLE_PREFIX."cms_nodeinfo.nodeid
     , "
.TABLE_PREFIX."cms_nodeinfo.title
     , "
.TABLE_PREFIX."cms_article.previewimage
     , "
.TABLE_PREFIX."cms_article.previewtext
     , "
.TABLE_PREFIX."cms_article.pagetext
     , "
.TABLE_PREFIX."cms_article.contentid
     , "
.TABLE_PREFIX."cms_node.nodeid
     , "
.TABLE_PREFIX."cms_node.parentnode
     , "
.TABLE_PREFIX."cms_node.contentid
     , "
.TABLE_PREFIX."cms_node.url
     , "
.TABLE_PREFIX."cms_node.publishdate
     , "
.TABLE_PREFIX."cms_category.category
     , "
.TABLE_PREFIX."cms_category.categoryid 
    , "
.TABLE_PREFIX."cms_node.setpublish
  FROM "
.TABLE_PREFIX."cms_node
INNER
  JOIN "
.TABLE_PREFIX."cms_article
    ON "
.TABLE_PREFIX."cms_article.contentid = ".TABLE_PREFIX."cms_node.contentid
INNER
  JOIN "
.TABLE_PREFIX."cms_nodeinfo
    ON "
.TABLE_PREFIX."cms_nodeinfo.nodeid = ".TABLE_PREFIX."cms_node.nodeid
INNER
  JOIN "
.TABLE_PREFIX."cms_nodecategory
    ON "
.TABLE_PREFIX."cms_nodecategory.nodeid = ".TABLE_PREFIX."cms_node.nodeid
INNER
  JOIN "
.TABLE_PREFIX."cms_category
    ON "
.TABLE_PREFIX."cms_category.categoryid = ".TABLE_PREFIX."cms_nodecategory.categoryid
 WHERE "
.TABLE_PREFIX."cms_category.categoryid IN ($category)
   AND ("
.TABLE_PREFIX."cms_node.setpublish != 0)
ORDER 
    BY "
.TABLE_PREFIX."cms_node.publishdate DESC LIMIT $limit
"
);

while(
$articleinfo vB::$db->fetch_array($articlegrab)) {

    
$title $articleinfo['title'];
    
$image $articleinfo['previewimage'];
    
$text $articleinfo['previewtext'];
    
$nodeid $articleinfo['nodeid'];
    
$url $articleinfo['url'];
    
$unixdate $articleinfo['publishdate']; 
    
$date date("F j, Y, g:i a"$unixdate);  
    
$fulltext strip_bbcode($fulltext);
    
$text preg_replace('/\[ATTACH\=CONFIG\]\d\d\[\/ATTACH\]/'''$text);
    
$text strip_bbcode($text);


   if(
$text == ''$text substr($fulltext0,150);
    
    
$output .= '<center>';
    if(
$image != ''$output .= "<img src='".$image."' width='".$width."px' height='".$height."px' /><br />";
    
    
$output .= "<a href='content.php?".$nodeid."-".$url."'>".$title."</a><br /><p>Publish Date: ".$date."</p></br></center><p>".$text." <a href='content.php?".$nodeid."-".$url."'>Read More <img alt='Read More' src='images/cms/read_more-right.png' title='Read More' border='0'></a></a></p><br />";


Preview:
https://vborg.vbsupport.ru/attachmen...1&d=1265896837

For Section Mod See Here:
https://vborg.vbsupport.ru/showthread.php?p=1949493

kingMOB 01-07-2010 12:08 PM

Thank you very much OcR Envy, this should be a default widget for VB4.

I'm changing the output layout, how can I put the publishing date of the article?

Can more than one category be used in on single widget?

The widget could be modified to work with sections and sub-sections?

OcR Envy 01-07-2010 01:03 PM

There ya go king update to allow for published date & more than one category :)

For sections see my other mod here: https://vborg.vbsupport.ru/showthread.php?t=232443

1.2 Updated - Small update for users who have a table prefix should resolve any database errors. No need to update otherwise.

saYRam 01-14-2010 06:12 PM

good widget. can we do this?

i have a Section named Columnist. And there are a lot of Categories.

how can i display "Only first article" from every categories?.

i mean only one (Latest) article must listed from every cats i specified?

if there are 10 categories widget must display 10 articles from each categories.

OcR Envy 01-19-2010 09:06 AM

Sayram,

It isn't setup like that currently. You could try modifying the code a bit yourself but I don't think many people would use something like that.

Datenpapst 01-20-2010 09:08 AM

1 Attachment(s)
Hi,
I took the whole code you said just removed the align center and the hight and width of the image but still no preview text :(

I am using vb 4.0.1

OcR Envy 01-20-2010 09:15 AM

Quote:

Originally Posted by Datenpapst (Post 1960997)
Hi,
I took the whole code you said just removed the align center and the hight and width of the image but still no preview text :(

I am using vb 4.0.1

Are you willing to run some test queries for me? Or possibly give me AdminCP access to your forum?

Datenpapst 01-20-2010 09:20 AM

you got mail :)

OcR Envy 01-20-2010 11:43 AM

Updated to 1.3 no need to update unless previewtext was not appearing for you.

For some reason Daten(and I assume others) had no previewtext row in some articles. The update will pull from the full text, strip bbcode and then limit the text to 150 characters.

Datenpapst 01-22-2010 03:18 PM

possible to add the number of comments given? ^^ like:

Comments: (1)

while the (1) is a link to the comments


All times are GMT. The time now is 11:03 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.01288 seconds
  • Memory Usage 1,777KB
  • 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
  • (1)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)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