D3blogモジュールに、人気記事一覧ブロックを追加する方法
まずはブロックを作る。
最新記事一覧(latest_entries)が機能的にとても近いので、これをコピーして作る。
(ブロックのコードは xoops_trust_path/modules/d3blog/blocks/ にある)
変更点はたったの4箇所。
最初の2箇所は関数名だ。
b_d3blog_latest_entries_show と b_d3blog_latest_entries_edit をそれぞれ
b_d3blog_popular_entries_show と b_d3blog_popular_entries_edit に書き換えるのだ。
次に利用するテンプレート名を変更する。
_block_latest_entries.php を block_popular_entries.php に書き換える。
そして、最後の1箇所はソート条件。
published を counter に書き換える。
これでコードの書き換えは完了だ。
... function b_d3blog_popular_entries_show($options) { ... $opt_template = empty( $options[10] ) ? 'db:'.$mydirname.'_block_popular_entries.html' : trim( $options[10] ); ... $criteria->setSort('counter'); ... function b_d3blog_popular_entries_edit($options) { ...
同様にテンプレートを作る。
テンプレートは単純に block_latest_entries.html をコピーして、 block_popular_entries.html として保存する。
(テンプレートは xoops_trust_path/modules/d3blog/templates/ にある)
これでOK
次にブロックを登録する。
xoops_version.php を開いて、これもコピー&ペースト。
$m++; $modversion['blocks'][$m]['file'] = 'blocks.php'; $modversion['blocks'][$m]['name'] = constant($constpref.'_POPULAR_ENTRIES'); $modversion['blocks'][$m]['description'] = constant($constpref.'_POPULAR_ENTRIES_DESC'); $modversion['blocks'][$m]['show_func'] = 'b_d3blog_popular_entries_show'; $modversion['blocks'][$m]['edit_func'] = 'b_d3blog_popular_entries_edit'; $modversion['blocks'][$m]['template'] = ''; $modversion['blocks'][$m]['options'] = $mydirname.'|5|25|Y/m/d|1|0|0|0|||'; $modversion['blocks'][$m]['can_clone'] = true ;
次に言語定数を追加する。
modinfo.php を開いて、これまたコピー&ペーストで追加する。
define ( $constpref.'_POPULAR_ENTRIES','人気のエントリ'); define ( $constpref.'_POPULAR_ENTRIES_DESC','人気エントリの一覧');
ここまで準備できたら、
- block_popular_entries.php
- block_popular_entries.html
- xoops_version.phpmodinfo.php
をアップロード。その後xoopsの管理画面で、
モジュールアップデートを行う。
そうすると、ブロック一覧に、
「人気エントリの一覧」ブロックが追加されてます。
記事もとは以下のページです。
- whois ansi のCreation Date Registration Date Expiry Date とは ( xoopsズープス ) [37882 view] 2011年09月23日
- xxoops2.2.0でaltsysをインストールした後、エラーが出て、altsysモジュールが白紙のときの対処法 ( xoopsズープス ) [32151 view] 2011年12月03日
- bulletinモジュールの投稿者名とヒット数とコメント数を消す。 bulletin_item.html ( xoopsズープス ) [31532 view] 2010年06月20日
- リストタグで横並びにして、かつ、フロート(回り込み)を解除する方法(崩れる 対処法) ( xoopsズープス ) [30236 view] 2011年04月05日
- 「ページを開けません。サーバーが応答を停止しています。」の問題について ( xoopsズープス ) [29722 view] 2012年09月19日
- xoops2.2.0でaltsysをインストールした後、ブロック部分と管理ページの日付が文字化けしたときの対処法 ( xoopsズープス ) [29474 view] 2011年07月23日
- light box 2.04 close.gif loading.gifが表示されない lightbox.js ( xoopsズープス ) [28676 view] 2010年06月21日
- Picoモジュールの 「コンテンツ内容」ブロックを利用して、スマーティーを利用できるカスタムブロックを実現する方法 ( xoopsズープス ) [27616 view] 2011年07月29日
- Smartyにtruncateという文字列修正の関数がある。指定した文字数で文字列を切り捨てるという便利なものなのだが、マルチバイト文字列に対してこれを使うと文字化けが起こって... ( xoopsズープス ) [27394 view] 2011年04月04日
- fckエディタで「invalid file type」と表示されて、ファイルがアップロードできない ( xoopsズープス ) [26575 view] 2010年05月14日