パーソナルツール
現在の場所: ホーム takalog カテゴリ portlet でアイコンとエントリ数表示
書いた本
Plone 完全活用ガイド の Chapter 1, 2, 3, 11 を執筆しました。
plone のインストール、使い方から、機能・デザインのカスタマイズ、プロダクトの作り方まで、 plone のすべてがぎゅっと詰まっている書籍になっていると思います。
plone に興味がある人から、すでに使いこなしている方まで、ぜひ読んでみてください。
Plone 完全活用ガイドのサポートページ
« 2012May »
Su Mo Tu We Th Fr Sa
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
このBlogについて
鈴木たかのりです。とりあえず日記っぽく雑多なことを書き込んでいこうと思っています。 zope/plone関係の技術的な内容については http://takanory.net の方にまとめていこうと思います。 コメント・ツッコミはご自由にどうぞ。
twitter facebook linkedin foursquare
カテゴリ
android (16)
av (27)
books (35)
coreblog (49)
ds (22)
emacs (8)
ferret (24)
google (34)
icecream (44)
lego (70)
mac (22)
misc (74)
moblog (277)
movie (33)
pc (44)
plone (338)
puzzle (42)
python (57)
server (67)
snowscoot (9)
software (125)
sports (32)
suidou (30)
winds (47)
 
文書操作

カテゴリ portlet でアイコンとエントリ数表示

作成者 takanori投稿日 2006年02月01日 00時35分 最終変更日時 2006年02月20日 00時52分

さて、左下の「カテゴリ」ポートレットをカスタマイズして、COREBlog のようにそのカテゴリに入っているエントリの数を表示するようにしました。

ついでに、カテゴリの画像が存在する場合はそのアイコンも表示するようにしてみました。

カスタマイズしたポイントはこんな感じです。

portal_skins/COREBlog2/portlet_category を書き換えます。

変更前:

  <tal:block tal:repeat="obj results">
  <dd class="portletItemSingle"
      tal:define="oddrow repeat/obj/odd;"
      tal:attributes="class python:test(oddrow, 
                                       'portletItem even', 
                                       'portletItem odd');">
      <a href="#"
         tal:attributes="href string:${catfolder_url}/${obj/id};
                         title obj/Description"
         tal:content="obj/Title">
          Entry title
      </a>

変更後:

  <tal:block tal:repeat="obj results">
  <dd class="portletItemSingle"
      tal:define="oddrow repeat/obj/odd;
                  category obj/getObject"
      tal:attributes="class python:test(oddrow, 
                                       'portletItem even', 
                                       'portletItem odd');">
      <a href="#"
         tal:attributes="href string:${catfolder_url}/${obj/id};
                         title obj/Description">
          <img src="#"
               tal:condition="category/category_image | nothing"
               tal:attributes="src string:${category/absolute_url}/category_image_icon" />
          <span tal:replace="obj/Title">
              Category Name
          </span>
      </a>
      (<span tal:replace="python:len(here.portal_catalog.searchResults(portal_type='COREBlogEntry', getEntry_categories=str(category.getInternal_id())))" />)

見ての通り、img タグのところで画像が存在すれば icon を表示するようになっています。

そして、最後の行で portal_catalog から現在のカテゴリの記事一覧を取得して、その数を数えて表示しています。

(検索する方法がわからなくて結構てこずりました)

# 英語っぽいエントリ ID 考えるの面倒なので、数字を手で入れようかな...(負け組み)

カテゴリ
coreblog coreblog
トラックバック用URL:
http://takanory.net/takalog/portlet-category/tbping
コメントを追加

下のフォームに記入してコメントを追加できます。平文テキスト形式。

(必須)
(必須)
(必須)
(Required)
Enter the word

Powered by vine linux, python, zope, plone, coreblog