d3pipes のブロックでの表示を変えてみた。(日付表示の省略)

2009
2/13

トップページの表示をできるだけシンプルにしたいな・・・とは思うものの、ひとめで最新情報が判るのも CMS としては欲しいところ。

とりあえず、このブログやBBS(ご訪問帳)、フォーラムなどは、それぞれのモジュールが持っている表示機能を使って、トップページ下部に最新情報を一覧するように設定してみたのですが、写真集をはじめとするその他のモジュールについて、個別に表示させていたのではブロックが増えすぎるし、見た目にもごちゃごちゃしてしまう。。。

そこで、d3pipes を導入して、複数のモジュールのRSS を取りまとめて表示させてみることにしました。

・・・が、トップページの下部にあるブロックについては、本来、左側に表示させるべきものを無理やり「左右・上下」の大きさを固定して表示させるようにしていますので、表示スペースが非常に少なく・・・d3pipes のデフォルト設定のまま情報を表示させると、表題(記事タイトル)と日付などが表示されるので非常に見にくくなってしまいます。

なんとかならんかなぁ~ と思って Web 検索してみると XUGJ の「d3pipes ブロックへのdescription表示などについてd3pipes ブロックへのdescription表示などについて」 という投稿記事を見つけました。

なるほど、何とかなりそうです。 

早速、 d3pipes の 、(dirname)_main_jsbackend.html ・・・ 私の場合は、 d3pipes_main_jsbackend.html を編集してみることにしました。 

 管理画面、Altsys のテンプレート管理にて、  d3pipes_main_jsbackend.html  の49行目にある

<{$smarty.const._MEDIUMDATESTRING|date:$entry.pubtime+$timezone_offset}>

を削除してデフォルトに反映させましたところ、希望どおりの表示になってくれました。

 

しかし・・・Altsys の編集画面って、横幅がなさすぎです。

横幅が広がってくれるとうれしいのですが・・・って、XUGJ に書くべきですかね~

 

以下の記述は、上記リンク先記事からの引用で、自分用の備忘録です。

 

d3pipesのブロックをトップページに表示しています。
今は、「日付」−「記事タイトル(切り取りページへのリンクつき)」が表示されています。

これを、
・日付を非表示
・記事タイトル(直接記事に飛ぶリンクつき)
・記事のdescription
という表示に変えたいのですが、
初心者で理解が足りないのだと思うのですが、
どうかアドバイスをお願いいたします。


 

altsysを入れているという前提で、d3pipes管理画面のテンプレート管理から、(dirname)_main_jsbackend.html を編集してください。
このテンプレートはちょっと特殊で、’ は使わないでください。

 descriptionもアサインしてあるはずですよ。<{$entry.description}> かな。

引用:

もうひとつ、もしも可能ならば、記事の取得元を判別して、それぞれの取得元に対応したimageを表示させたいのですが、どなたかアドバイスをいただければとてもうれしいです。

これも、$entry.pipe.name あたりで振り分ければ可能でしょう。

 

画像を表示させる場合、各パイプに画像URLを入力して、

<img src="<{$entry.pipe.image}>" />
を適宜挿入する。

<{if $entry.pipe.image}>
<img src="<{$entry.pipe.image}>" />
<{/if}>

とすれば、画像のないパイプについて、バッテンが表示されることもない。

画像URLは、絶対パスが無難でしょう。http://からはじめてください。

あと、当たり前ですが、

<{foreach from=$entries item="entry"}>
<{/foreach}>

このブロックの内側でないと、

<img src="<{$entry.pipe.image}>" alt="<{$entry.pipe.name}>" />
という記述は使えませんよ。

 

新着ブロックの使い方って2パターンあります。

A) 1ブロックには特定の1サイトのRSSを割り当てる (UNION不通過)
B) 1ブロック内に複数サイトのRSSを新着順に並べる (UNION通過)

B)の場合、各エントリの最後に、どのサイト(パイプ)のRSSであるかを明示する必要があるので、UNION ジョイントが、各エントリに由来のパイプ情報を混ぜます。<{$entry.pipe}>

A)の場合、むしろブロック先頭にパイプ情報があるべきなので、<{$pipe}> としてアクセスします。

0.20では、このあたりを明確にしていなかったのですが、とりあえず、0.30では、ブロックオプションでも、複数のパイプを選択できるようにして、B)の手間を省き、さらに、テンプレートにおいて、A)とB)でそれぞれ表示されるパターンを変えるようにしてます。

なお、0.2から0.3に上げる際には、自分でカスタマイズしたテンプレートが消されないように、default以外のテンプレートセットにコピーしておいてください。

トラックバック・ピンバックはありません

トラックバック / ピンバックは現在受け付けていません。

この投稿へのコメントは受け付けていません。

コメント一覧

投稿ツリー


marine  投稿日時 2009/2/15 12:12

xugj_date を使って、すべてのブロック表示を「New」だけ表示させるように統一したほうがよいような気がする。

それから、メニューに New が出るとなお良い。

marine  投稿日時 2009/2/15 12:14

それから・・・Xpressのコメント表示をさせると横幅がおかしくなるので、d3forumを使ったコメント統合のほうがよさそうですな。

marine  投稿日時 2009/2/15 13:04

横幅がおかしいのは、Xpressのコメントが問題ってわけじゃないかも?

marine  投稿日時 2009/2/21 21:28

やはり、NEW が出た方が雰囲気が出るので・・・
49行目の記述を復活させて、|xugj_date:"" の記述を追加してみました。

1
<{$smarty.const._MEDIUMDATESTRING|date:$entry.pubtime+$timezone_offset|xugj_date:""}>

もちろん、xugj_date で NEW 表示 の設定をしておかないと上手く表示されませんが・・・:hammer: