wa - NucleusやFlashなどなど

RSS

Home > 自作プラグインを、NP_PageSwitchに対応させる方法

01.09 '08

自作プラグインを、NP_PageSwitchに対応させる方法

NP_PageSwitch(ページスイッチを提供するプラグイン)ってば、めちゃめちゃ便利です。Katsumiさん感謝:heart:

って、その便利さに気づいたのは、実はちょっと前のこと。
NP_PageSwitchインスタンスにトータルレコード数だけ渡してあげれば、簡単に自作プラグインに対応させられるんですねぇ。すばらしい。
以前、NP_PageSwitchのコードをちら見した時は、内部でNP_MultipleCategoriesに対応させているので、自作プラグインを対応させようとすると、ちょっとしんどいかな、、なんて勘違いしてスルーしちゃってました。。

例えば、、自作hogeプラグインのdoSkinVarでは、こんな感じ。
function doSkinVar($skinType$mode = ""$p1 = ""$p2 = "")
{
  global $manager$blog$startpos;
  $templateName = $p1;
  $amount       = (intval($p2)) ? intval($p2) : 50;
  switch ($mode)
  {
    //----------
    case 'index':
      $query        = $this->getSqlBlog();
      $query       .= " LIMIT ".$startpos.", ".intval($amount) : "";
      $numrows      = $blog->showUsingQuery($templateName$query);
      break;
    //----------
    case 'prepageswitch'//NP_PageSwitchにtotal数を設定
      if (!$manager->pluginInstalled('NP_PageSwitch')) return//NP_PageSwitch必須
      
      $PageSwitch   = & $manager->getPlugin('NP_PageSwitch');
      $query        = $this->getSqlBlog('count');
      $PageSwitch->total = (int)quickQuery($query); //トータルを渡しておく
      break;
  }
}
function getSqlBlog($mode='')
{
  //モードがcountなら、COUNT(*) にして、アイテム群と同じSQLを返すようにしとく
  ほにゃらら
  return $query;
}

で、スキン内では、NP_PageSwitchを使う前に、
<%hoge(prepageswitch)%>
ってして、NP_PageSwitchにトータルレコード数を渡しておく。
これで、NP_PageSwitchが自作hogeプラグインにあった動作になります。

NP_PageSwitch便利。

コメント

この記事へのコメントはありません。

コメント追加



プレビュー

コメント追加通知RSS:
↑このフィードをRSSリーダーに登録しておくと、この記事へのコメント追加をチェックすることができます。
コメント追加後の、返事待ちなどにお使い下さい。
なお、コメントチェックの必要がなくなった際には、このRSSを削除して下さいね。
不要なトラフィックを避けるために、ご協力お願いいたします。

トラックバック

トラックバック
このエントリにトラックバックはありません
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。 もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。.
トラックバックURL:
PluginGenerator znBackup znItemFieldEX znCustomAdmin znBackup znSmiley znShowDraft yuiCalendar znSpeedCubing znKeywordLink znCommentRSS znCCitation znItemParts znMCList znHatenaExist znQuestionnaire znFlash