パーソナルツール
現在の場所: ホーム takalog カテゴリ portlet でアイコンとエントリ数表示
書いた本
Plone 完全活用ガイド の Chapter 1, 2, 3, 11 を執筆しました。
plone のインストール、使い方から、機能・デザインのカスタマイズ、プロダクトの作り方まで、 plone のすべてがぎゅっと詰まっている書籍になっていると思います。
plone に興味がある人から、すでに使いこなしている方まで、ぜひ読んでみてください。
Plone 完全活用ガイドのサポートページ
« 2010March »
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 の方にまとめていこうと思います。 コメント・ツッコミはご自由にどうぞ。
最近のコメント
Re:デジタルフォトフレームがほしい (mignon 03-11 12:36)
Re:LEGO のブタがかわいすぎる件 (Anonymous User 03-10 15:32)
Re: from __future__ import division (takanori 01-05 17:15)
from __future__ import division (しみずかわ 01-05 14:09)
Re:フォルダのアイテムの順番を変える (しみずかわ 12-02 00:29)
最近のトラックバック
日本語にてPlone3.xを使用する便利なプロダクト (ブログ 08-31 13:52)
新しい写真集モジュール (ロバートのブログ 03-18 08:28)
新しい写真集モジュール (ロバートのブログ 03-18 08:28)
トランペットアンサンブルコンサート (人生日記 03-08 17:37)
PloneSlimboxに乗り換え♪ (pt001-blog 02-23 17:14)
カテゴリ
av (27)
books (32)
coreblog (49)
ds (22)
ferret (22)
google (34)
icecream (44)
lego (63)
mac (17)
misc (72)
moblog (277)
movie (32)
pc (43)
plone (297)
puzzle (40)
python (47)
server (63)
snowscoot (9)
software (126)
sports (32)
suidou (30)
winds (43)
 
文書操作

カテゴリ 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

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

投稿者 takanori 投稿日時: 2006年02月01日 01時06分

ちなみに、カテゴリアイコンを表示してみたら背景色があるところ(moblog とか winds とか)では背景の白が出ちゃったりして、いやーな感じです。
というわけで、ひそかにちょっとずつアイコンをちゃんと透過 png に変えてたりしています。

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

投稿者 weboo 投稿日時: 2006年02月19日 23時54分

山下です。お世話になってます。

このエントリを参考にして、私もカテゴリ数を表示してみようとしたのですが、うまくいきません。
"category"が未定義だと怒られてしまいます。
この定義部分を良かったら教えてもらえないでしょうか。

# 私も限定Pinoを買いましたが、当たりは入っていませんでした(^^;

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

投稿者 takanori 投稿日時: 2006年02月20日 00時49分

あ、ほんとだ category を定義している部分が抜けてました。
本文の方を直しておきますが、で定義しています。
tal:define="category obj/getObject"

# では pino の「当たり」をひいたってことで喜んでおきます。

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

投稿者 weboo 投稿日時: 2006年02月20日 12時54分

おかげ様でできました!
なるほど、こうすればいいんですね。非常に参考になりました。
件数取得する方法がさっぱり分からなくて悩んでました。

# 食べ比べしようと思って、赤と黒のpinoを買いました。
# 赤いほうは出なかったんですが、黒いほうは星型が入ってました。

コメントを追加

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

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

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