Class ::xowiki::includelet::tags

::xowiki::includelet::tags[i] create ... \
           [ -parameter_declaration (default " {-limit:integer 20} {-summary:boolean 0} {-popular:boolean 0} {-page} ") ] \
           [ -title (default "Tags") ]

Display specified tags.
Documented Parameters:
limit
maximum number of new entries
summary
boolean to optionally provide summary
popular
boolean to optionally list popular tags
page
provide alternate weblog listing page
Defined in packages/xowiki/tcl/includelet-procs.tcl

Class Relations

  • class: ::xowiki::IncludeletClass[i]
  • superclass: ::xowiki::Includelet[i]
::xowiki::IncludeletClass create ::xowiki::includelet::tags \
     -superclass ::xowiki::Includelet

Methods (to be applied on instances)

  • parameter_declaration (setter)

  • render (scripted)

    :get_parameters
    ::xo::Page requireCSS "/resources/acs-templating/lists.css"
    
    if {$popular} {
      set label [_ xowiki.popular_tags_label]
      set tag_type ptag
      set sql [::xo::dc select  -vars "count(*) as nr,tag"  -from xowiki_tags  -where "package_id = :package_id"  -groupby tag  -orderby tag  -limit $limit]
    } else {
      set label [_ xowiki.your_tags_label]
      set tag_type tag
      set user_id [::xo::cc user_id]
      set sql "select count(*) as nr,tag from xowiki_tags where  user_id = :user_id and package_id = :package_id group by tag order by tag"
    }
    set entries [list]
    
    if {![info exists page]} {
      set page [::$package_id get_parameter weblog_page:graph]
    }
    
    set href [::$package_id package_url]tag/
    ::xo::dc foreach get_tag_counts $sql {
      set q [list]
      if {$summary} {lappend q "summary=[ad_urlencode_query $summary]"}
      if {$popular} {lappend q "popular=[ad_urlencode_query $popular]"}
      set link $href$tag?[join $q &]
      lappend entries "[ns_quotehtml $tag] <a rel='tag' href='[ns_quotehtml $link]'>([ns_quotehtml $nr])</a>"
      #lappend entries "[ns_quotehtml $tag] <a rel='tag' href='[ns_quotehtml $link]'><span class='badge' style='font-size:75%'>[ns_quotehtml $nr]</span></a>"
    }
    return [expr {[llength $entries]  > 0 ?
                  "<h3>[ns_quotehtml $label]</h3> <blockquote>[join $entries {, }]</blockquote>\n" :
                  ""}]
  • title (setter)