カテゴリー別アーカイブ: d3pipes

承認前に「新着」に情報が反映される

picoとd3pipesの組み合わせで、更新された情報を「新着情報」として自動で表示する仕組みにしています。
このとき、投稿者がpicoのページの内容を変更した後、承認される前に、「新着情報」に反映されてしまいます。
これは、d3pipesがpicoの情報を吸い上げている部分(trust_path\modules\d3pipes\joints\block\D3pipesBlockPicolist.class.php)が、picoのblockの部分、「b_pico_list_show」を利用してデータを引っ張っているからです。(trust_path\modules\pico\blocks\list.php)
そのとき、「更新時間(modified_time)」順で並べられます。

また、picoのしくみでは投稿者が投稿した時点で、「更新時間(modified_time)」が更新されます。
また、その時間は投稿者によって変更することができません。

投稿者の投稿したデータが承認される前には、「新着情報」として表示されてほしくない。
二通り考えました。
「新着情報」で吸い上げるデータは「作成時間」に基づいてリスト化する。その場合、承認者が承認後に「作成時間」を変更することによって「新着情報」に反映されるというしくみになります。
もう1つは承認待ち中はリストに含めない。何らかの方法で「承認中」というフラグを立てます。

後者の方法で対応しました。(前者だと更新者側でいろいろとルール決めをしなくてはならなさそうだったので)

続きを読む

d3pipesの同期パイプ一覧ブロックで全パイプのアグリゲーション選択時のパイプの「画像」の引っ張り方

線パイプの個別の取得のときは、登録した画像を引っ張ってくれるのに、「アグリゲーション」のときは引っ張ってくれない。

[画像] 日付 タイトル

みたいなやり方で、どこの記事だってわかるようにしたいことがあるだろうに。今回、「画像」はclass名として使用してみたりする。

この画像の部分は、

<{$entry.initial_pipe.image}>

で引っ張ってこれます。

もちろんブロックテンプレートの

<{if $block.pipes_entries}>に対する<{else}>の判別の方に書き込んでくださいませ。

d3pipesでbulletinlistから内部取得時にカテゴリーで絞り込む

絞込みをしようとしたんですが、カテゴリーIDで「絞込み」が出来るとっかかりがなかったので・・・・・・。

TRUST_PATHの

d3pipes\joints\block\D3pipesBlockBulletinlist.class.phpを下記の赤字のように追加して。
ツꀀfunction reassign( $data )
ツꀀ{
ツꀀツꀀ$entries = array() ;
ツꀀツꀀif( empty( $data[‘fullstories’] ) ) return $entries ;
ツꀀツꀀforeach( $data[‘fullstories’] as $item ) {
ツꀀツꀀツꀀ$entry = array(
ツꀀツꀀツꀀツꀀ’pubtime’ => $item[‘published’] , // timestamp
ツꀀツꀀツꀀツꀀ’link’ => $data[‘mydirurl’].’/index.php?page=article&storyid=’.$item[‘id’] ,
ツꀀツꀀツꀀツꀀ’headline’ => $this->unhtmlspecialchars( $item[‘title’] ) ,
ツꀀツꀀツꀀツꀀ’description’ => $this->unhtmlspecialchars( $item[‘text’] ) ,
ツꀀツꀀツꀀツꀀ’allow_html’ => true ,
ツꀀツꀀツꀀツꀀ’topic’ => “topicid=”.$item[‘topicid’]ツꀀ,
ツꀀツꀀツꀀ) ;
ツꀀツꀀツꀀ$entry[‘fingerprint’] = $entry[‘link’] ;
ツꀀツꀀツꀀ$entries[] = $entry ;
ツꀀツꀀ}

ツꀀツꀀreturn $entries ;
ツꀀ}

パイプ管理時に、mbregexによるエントリ抽出のオプションを「topicid=2」にしました。