Jump to content

Search the Community

Showing results for tags 'categories'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Discussion
    • Announcements
    • Business Discussion
    • Business Services
    • Sell and Buy
  • Themes & templates
    • KVS default theme
    • KVS tablet theme
    • KVS paysite theme
    • KVS basic theme 1
    • KVS basic theme 2
    • KVS basic theme 3
  • Educational / support
    • Technical Support
    • FAQ
    • Educational Series

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 4 results

  1. The following can be done with just few steps in KVS: Step 1. Go to Website UI -> Pages -> Index page editor and insert list_categories block into the desired place in page template: {{insert name="getBlock" block_id="list_categories" block_name="Categories And Videos"}} Save. Step 2. Now you should see Categories And Videos block in the list of blocks on Index page. Open it for editing and configure the following settings: Cache lifetime (s): 3600 items_per_page (Integer): set 0 if you want to display all categories; otherwise set the max number of categories sort_by (Sorting): configure sorting as needed pull_videos (On/Off): enable pull_videos_count (Integer): set the number of videos for each category (in our example it is 3) pull_videos_sort_by (Sorting): set sorting for videos under each category NOTE: if you want that only certain subset of categories are displayed, you may need to enable some filters under Static filters parameters. In Template code specify this code (the code is given for KVS default theme and 5.2.0 version, it may not work in earlier versions): {{foreach item="item_category" from=$data}} <div class="headline"> <h2>{{$item_category.title}}</h2> </div> <div class="box"> <div class="list-videos"> <div class="margin-fix" id="{{$block_uid}}_items"> {{if count($item_category.videos)>0}} {{foreach item="item" from=$item_category.videos}} <div class="item {{if $item.is_private==1}}private{{elseif $item.is_private==2}}premium{{/if}} {{if $item.status_id==0}}disabled{{elseif $item.status_id==2}}error{{elseif $item.status_id!=1}}processing{{/if}}"> <a {{if $item.view_page_url!=''}}href="{{$item.view_page_url}}"{{/if}} title="{{$item.title}}" {{if $item.rotator_params!=''}}data-rt="{{$item.rotator_params|replace:"pqr=":""}}"{{/if}}> <div class="img"> {{if $item.status_id==0 || $item.status_id==1}} <img class="thumb {{if $lang.enable_thumb_lazyload=='true'}}lazy-load{{/if}}" {{if $lang.enable_thumb_lazyload=='true'}}src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-original{{else}}src{{/if}}="{{$item.screen_url}}/{{$lang.videos.thumb_size}}/{{$item.screen_main}}.jpg" {{if $lang.videos.thumb_size_webp}}data-webp="{{$item.screen_url}}/{{$lang.videos.thumb_size_webp}}/{{$item.screen_main}}.jpg"{{/if}} alt="{{$item.title}}" {{if $lang.enable_thumb_scrolling=='true'}}data-cnt="{{$item.screen_amount}}"{{/if}} {{if $item.is_private==0 && $item.formats[$lang.videos.preview_video_format_standard].file_path!=''}}data-preview="{{$config.project_url}}/get_file/{{$item.server_group_id}}/{{$item.formats[$lang.videos.preview_video_format_standard].file_path}}/"{{/if}} {{if $item.is_private==2 && $item.formats[$lang.videos.preview_video_format_premium].file_path!=''}}data-preview="{{$config.project_url}}/get_file/{{$item.server_group_id}}/{{$item.formats[$lang.videos.preview_video_format_premium].file_path}}/"{{/if}} width="{{$lang.videos.thumb_size|geomsize:'width'}}" height="{{$lang.videos.thumb_size|geomsize:'height'}}"/> {{/if}} {{if $item.is_private==1}} <span class="line-private"><span class="ico-private">{{$lang.videos.list_label_private}}</span></span> {{elseif $item.is_private==2}} <span class="line-premium"><span class="ico-premium">{{$lang.videos.list_label_premium}}</span></span> {{/if}} {{if $item.status_id==1}} {{if $lang.enable_memberzone=='true'}} {{foreach item="fav_index" from=$lang.videos.predefined_favourites}} <span class="ico-fav-{{$fav_index}}" title="{{$lang.videos.list_action_add_to_favourites[$fav_index]}}" data-fav-video-id="{{$item.video_id}}" data-fav-type="{{$fav_index}}"></span> {{/foreach}} {{/if}} {{/if}} {{if $item.is_hd==1}}<span class="is-hd">HD</span>{{/if}} </div> <strong class="title"> {{if $lang.videos.truncate_title_to>0}} {{$item.title|truncate:$lang.videos.truncate_title_to:"...":true}} {{else}} {{$item.title}} {{/if}} </strong> <div class="wrap"> <div class="duration">{{$item.duration_array.text}}</div> {{assign var="object_rating" value="`$item.rating/5*100`"}} {{if $object_rating>100}}{{assign var="object_rating" value="100"}}{{/if}} <div class="rating {{if $object_rating>=50 || $object_rating==0}}positive{{else}}negative{{/if}}"> {{$object_rating|string_format:"%d"}}% </div> </div> <div class="wrap"> {{assign var="added_date" value=$item.post_date}} {{if $mode_favourites==1}} {{assign var="added_date" value=$item.added2fav_date}} {{elseif $mode_purchased==1}} {{assign var="added_date" value=$item.purchase_date}} {{/if}} <div class="added"><em>{{$added_date|date_format:$lang.global.date_format}}</em></div> <div class="views">{{$item.video_viewed|traffic_format}}</div> </div> </a> </div> {{/foreach}} {{else}} <div class="empty-content">{{$list_videos_empty_message|default:$lang.common_list.no_data}}</div> {{/if}} </div> </div> {{if count($item_category.videos)>0}} <div class="load-more"> <a href="{{$lang.urls.videos_by_category|replace:"%DIR%":$item_category.dir|replace:"%ID%":$item_category.category_id}}">{{$lang.common_list.load_more}}</a> </div> {{/if}} </div> {{/foreach}}
  2. You can use KVS advertising feature in Website UI -> Advertising section to limit some parts of HTML code to be displayed for specific categories or to be excluded for specific categories. Go to advertising and create spot (Add Spot option). After creating a new spot, you will see its insert code that you should use in template where you need to display some advertising or HTML code of your choice: After inserting advertising spot into template, you can add advertising to it and select whether this advertising should be displayed only for specific categories or should be excluded for specific categories: These restrictions will include: Video lists for the given categories (e.g. these pages https://www.kvs-demo.com/categories/rock-music/) Video pages for all videos from the given categories (e.g. these pages https://www.kvs-demo.com/videos/181/boyce-avenue-dynamite/) Album lists for the given categories (e.g. these pages https://www.kvs-demo.com/albums/categories/rock-music/) Album pages for all albums from the given categories (e.g. these pages https://www.kvs-demo.com/albums/74/dan-mihai-b-lan/)
  3. When grabbing content from other sites it is possible that number of tags or categories for a specific content will be quite high, so that rendering them all will look bad for design. In this case it is very easy to fix theme templates to list only first N tags or categories and skip the rest. The same approach works for both videos and albums. For videos you should edit Website UI -> Pages -> View Video page -> video_view block template. For albums it will be Website UI -> Pages -> View Album page -> album_view block template. Both templates have the following foreach constructs to render list of tags and categories: {{foreach item="item" from=$data.tags}} <a ...>{{$item.tag}}</a> {{/foreach}} {{foreach item="item" from=$data.categories}} <a ...>{{$item.title}}</a> {{/foreach}} Add name="list" attribute to foreach construct in order to access list properties. If you want to display first 10 tags, wrap <a> tag with this condition: {{if $smarty.foreach.list.iteration<=10}}...{{/if}}: {{foreach item="item" from=$data.tags name="list"}} {{if $smarty.foreach.list.iteration<=10}} <a ...>{{$item.tag}}</a> {{/if}} {{/foreach}} Change 10 to 5 in order to limit list rendering to 5 items: {{foreach item="item" from=$data.categories name="list"}} {{if $smarty.foreach.list.iteration<=5}} <a ...>{{$item.title}}</a> {{/if}} {{/foreach}} That's it! WARNING: please make sure you do not forget the closing {{/if}} tag.
  4. KVS has multiple categorization entities, which all together are designed for specific needs and have specific functionality. Using correct categorization concept is crucial for a successful tube site and even a paysite. Please pay attention to this guide. Categories Categories are designed to be initially created by admins and thus they are designed to be limited. Use categories for your top level categorization. Depending on how you add your content (manually, import, grabbers) it is always possible to dynamically create categories on the fly and it is also always possible to make sure that no dynamic categories are created. Users will not be able to create new categories, they will only be able to use the existing set of categories you have defined in admin panel. Importing and grabbers will create missing categories by default, so in order to prevent that you should enable options that stop this: This becomes more important with tube scrappers when grabbing content from multiple tube sites. Each tube site has its own set of categories, some of them may be spelled differently but define the same meaning, e.g. Phones and Mobiles. If your videos are grabbed automatically and categories are allowed to be created on the fly, your tube will end up with dozens different categories having the same meaning. Fixing this will be possible, but will require much time spent in admin panel, so it is better to prevent by using the proposed strategy: Step 1. Define your categories manually based on your site's planned content. Step 2. Before enabling grabber that supports grabbing categories for each video, check the whole set of categories this site provides. Make sure to list these categories as synonyms of your existing categories, where no exact match is found. For example for category named Mobile Phones you can list such synonyms as Phones, Mobiles, Smartphones. When searching for existing categories KVS will also check their synonyms and instead of creating new category named Smartphones it will choose existing category named Mobile Phones, which defines Smartphones as a synonym. Synonyms can also be used in SEO, they are typically used as HTML keywords for your category pages, but can also be displayed anywhere where category name is displayed: This approach should work great if you correctly define all synonyms before using grabbers. But if the number of categories on the grabbed site is huge or you are not able to find their list, you will not be able to find out which synonyms should be added. There is another approach: import categories as tags first using the new option in grabber settings: Step 1. Not necessary needed to define your list of categories. Step 2. In grabber settings enable Categories as tags option. This will add all categories as tags in addition to original tags that may be available on grabbed site. Step 3. After importing much enough content, check your tags and sort them by the number of videos in them. Tags with most content are your potential categories and their possible synonyms! Now you can create your set of categories and specify their synonyms by looking into these tags. Step 4. Go to Plugins -> Category auto-selection and enable this plugin to process every video. Step 5. Go to Videos list and select Mass edit all videos... option in batch actions. You will see mass edit GUI. Enable Process videos with "Category auto-selection" plugin option. Make sure you do not select anything else and submit mass edit task. Now your videos will be auto-populated with categories based on their tags. For new videos this will happen automatically. You need to use mass edit only for the first time after you are able to populate your initial set of categories. But at any time you can repeat step 3 and step 5 when you import more content to create more categories and assign videos to them. Using either of these approaches will keep your categories tuned. Categories support custom fields, some of them are enabled by default and are used for HTML title, HTML description and SEO text displayed on category pages. We encourage you to fill them to get more SEO traffic to your site. Also categories can be used to bind site advertising to specific categories, e.g. show specific ads on specific pages only for specific categories. Here are some places where you can use this: Video / album pages: you can show ads specific to categories of the displayed video or album. For example for all videos having Mobile Phones category you can show only ads related to mobile phones and do not show other ads. Using this functionality can significantly increase your revenue. Category pages: you can show ads specific to the given category only. Category groups For some tube sites with complicated categorization it may be needed to group categories by certain areas. This is typically used in advanced search functionality, when users should be allowed to search by multiple criteria matching at the same time. KVS doesn't support category tree, but in most cases the same thing can be achieved by using category groups. For example if you have a tube site with travel videos, you may have the following grouping (simplified): - Countries --- USA, Canada, Australia, etc. - Activities --- Rafting, Hiking, Snorkeling, etc. - Production --- Professional, Amateur Then for each video users can select multiple categories from each of these groups. KVS default theme allows switching category selector to grouped one, which will display categories in the needed way automatically. It is also possible to display categories grouped in main category listing or at any page of your site, e.g. in sidebar or header (this is not supported by default KVS theme and will require redesign if needed). Categories grouping can also be used in advanced search function to search for content in the exact matching set of categories, e.g. only amateur videos about hiking in USA. In this case user should simply select 3 categories together: USA, Hiking, Amateur and all videos where these 3 categories are present will be displayed. Tags Tags are true dynamic categorization objects, they can be created by your site's users at their own discretion. Tags are typically used as keywords for content pages and can also help in text search and SEO for providing landings for specific search results. Our basic recommendation is that you don't try to limit them in any way. However KVS provides functionality to merge several tags into one and keep content correctly reassigned. This specific functionality is available as Rename function in tags list in admin panel. Tags can also support custom fields, which can be used for SEO, but usually this is not feasible due to their big amount. Content sources Content sources can be used in multiple scenarios. The initial idea behind content sources was to group videos / albums based on the source they are coming from. Here are some real world scenarios. Scenario 1. For a tube site if you advertise sponsor paysites, you are allowed in some cases to take premium content from their member area and add to your tube but with some duration restriction (for example truncate to max 5 minutes). So you can configure a content source for each of these paysites and you can also configure that all content from a specific content source is truncated to some duration specified in content source settings. In order to do that you should first go to Settings -> Customization and enable any free custom text field for content sources and name it as Duration limit: Then in Settings -> Video formats for all video formats, which are planned to be created for such videos, you can enable duration limit to be taken from that content source field: The idea is that if the uploaded video has a content source and this content source has Duration limit field specified, KVS will truncate all video formats of this video to this duration. All other videos (either from different content sources, or with empty content source) will not be truncated. Therefore using this functionality you will be able to ensure that you don't violate any duration policy required by content author / owner. But in order to have this, you should configure it from the beginning. Scenario 2. For a tube site if you advertise sponsor paysites, you can bind in-video and other video page advertising to advertising specific to content source. This is the widely used concept of showing "Download full video at XXXXX" banner under video player, or inside player. In order to do that you should also use custom content source fields. In Settings -> Player settings you can bind specific in-video advertising to a custom text (for HTML ad) or to a custom file (for video or image ad) field of video content source. In this case you should also specify some default HTML or file for the ad - just because some videos may have empty content source or some content sources may have empty custom fields: Default KVS theme also supports 2 image banners (one wide on top of video page and another under video player), these banners can be uploaded into predefined custom fields in content sources: Theme settings can be changed of cause, default theme just has 2 image banners predefined, but you can customize to display other banners, or to display HTML banners instead of image banners, or anything else. The template code is pretty straightforward. For View video page template (Website UI -> Pages -> View Video) showing HTML ad from custom field #5 with fallback to default ad: {{if $storage.video_view_video_view.content_source_id>0 && $storage.video_view_video_view.content_source.custom5!=''}} {{* check if video has content source and it has custom5 field specified -> show HTML from custom5 field *}} {{$storage.video_view_video_view.content_source.custom5|smarty:nodefaults}} {{else}} {{* this video either has no content source or its custom field #5 is empty -> show some default advertising spot (needs to be created prior of usage) *}} {{insert name="getAdv" place_id="spot_video_page_default_ad"}} {{/if}} Same code if used inside video_view block (Website UI -> Pages -> View Video -> video_view block): {{if $data.content_source_id>0 && $data.content_source.custom5!=''}} {{* check if video has content source and it has custom5 field specified -> show HTML from custom5 field *}} {{$data.content_source.custom5|smarty:nodefaults}} {{else}} {{* this video either has no content source or its custom field #5 is empty -> show some default advertising spot (needs to be created prior of usage) *}} {{insert name="getAdv" place_id="spot_video_page_default_ad"}} {{/if}} Each content source also has URL field, where you should specify click URL for that content source. KVS is able to track all outgoing clicks to content sources in its stats, but in templates you should render href of a specific format. For View video page template (Website UI -> Pages -> View Video): <a href="{{$lang.urls.out_sponsor|replace:"%DIR%":$storage.video_view_video_view.content_source.dir|replace:"%ID%":$storage.video_view_video_view.content_source.content_source_id}}" target="_blank">Click here to watch the full HQ video!</a> Same code if used inside video_view block (Website UI -> Pages -> View Video -> video_view block): <a href="{{$lang.urls.out_sponsor|replace:"%DIR%":$data.content_source.dir|replace:"%ID%":$data.content_source.content_source_id}}" target="_blank">Click here to watch the full HQ video!</a> Scenario 3. If you have a tube site or a paysite which aggregates content from several other paysites, you can show sites section allowing users to navigate content from different paysites. This is fully implemented in KVS default theme: http://kvs-demo.com/sites/ Scenario 4. In some cases if you grab content from multiple tube sites you may need to use content sources for simply grouping them. For example if you grab embed codes from multiple sites and suddenly one of the sites stops serving embed codes, or starts redirecting your traffic to their website, you will need to delete these videos. Then you can easily filter them all by content source in your admin panel. Each grabber settings provide ability to set all content grabbed from specific grabber to a specific content source: Summary. So the most common scenarios of using content sources in KVS are: Truncate duration for videos from specific source sites. Embed different watermark images for videos from specific source sites (similar to truncating duration). Show different in-video and video page advertising for videos from specific source sites. Provide users ability to navigate videos divided into separate sections based on their source sites. Provide ability for admins to easily filter videos based on which sites they were scrapped from. Content source groups Similar to category groups you can group content sources by your criteria. Can be used both for your admin panel needs and for showing grouping on website. Models Models are categorization objects designed to indicate people that are connected to any particular video or album. There is nothing specific about models, they are like categories but have more data fields in terms of 'people'. Flags Flags are categorization objects designed to be applied by your end users. Flags are typically used in Report video / album / playlist functionality. Based on your theme configuration, users can assign predefined flags to different objects (like videos, albums, playlists and some other). With flags they can also specify their message if your design allows doing this. So flags can be used for multiple features that require user feedback on content: Report copyright violation by specific content. Report inappropriate content. Name a model in a video or album. Vote content for being featured. Flags can also be used by admins to group videos or albums for specific reasons. Both videos and albums support so-called admin flag field, where you can select a single flag for a video or album. This field is filterable in admin panel and in site listings, so here are some example usage scenarios: Indicate specific set of content that should be displayed in specific site listing, e.g. manually predefined featured videos on index page. When content is being processed by multiple admins, they can use admin flags to move content between different approval phases. When you need to manually review content and move it to specific logical group that you can further filter by; you can just assign a specific admin flag and then filter all content by this flag.
×
×
  • Create New...