Source of file CategoryCloudWidget.php
Size: 1,598 Bytes - Last Modified: 2021-12-24T05:18:42+00:00
/var/www/docs.ssmods.com/process/src/code/widgets/CategoryCloudWidget.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | <?php if(class_exists('Widget')) { /** * extends the @see Widget class. * * A list of categories associated with blog posts. * The actual category cloud is generated by the * @see BlogCategoryCloud class. * * @package blogcategories */ class CategoryCloudWidget extends Widget { private static $db = array( 'Title' => 'Varchar', 'Limit'=>'Int' ); private static $defaults = array( 'Title' => 'Category Cloud', 'Limit'=> 10 ); private static $cmsTitle = 'Category Cloud'; private static $description = 'Shows a category cloud of categories on your blog.'; function getCMSFields() { $fields = parent::getCMSFields(); $fields->merge( new FieldList( new TextField('Title', _t('CategoryCloudWidget.TILE', 'Title')), new NumericField('Limit', _t('CategoryCloudWidget.LIMIT', 'Limit')) ) ); $this->extend('updateCMSFields', $fields); return $fields; } function Title() { return $this->Title ? $this->Title : _t('CategoryCloudWidget.DEFAULTTITLE', 'Category Cloud'); } function getBlogCategoryCloud($limit = 10){ $container = BlogTree::current(); $cloud = BlogCategoryCloud::create(); if(Config::inst()->get('BlogCategory', 'limit_to_holder')) { $cloud->setHolderId($container->ID); } if($limit) $cloud->setLimit($limit); if($this->Limit >= 1) $cloud->setLimit($this->Limit); return $cloud; } } } ?> |