PR(記事内にアフィリエイト広告が含まれています)
スポンサーリンク
Nucleus

NP_znMCList

警告: 整合性のない脚注開始用の簡単コード:

この警告が見当違いであれば、管理画面の 全般設定 > 脚注の開始・終了用の簡単コード > 簡単コードの整合性を検査 にある構文検査の機能を無効にしてください。

整合性のない脚注開始用の簡単コード:

“$CONF['URLMode'] == 'pathinfo') ? "category/" : $this->aaa."catid=").$row_scat->catid; ↓ $link_url = "index.php?catid=".$row_scat->catid; さっき書いたURL化けに対応するための表記。 $scat_str .= '('.$this->getSubCatNumberOfBelonging($row_scat->scatid).')'; $child_…”

http://wa.otesei.com/item/291
サブカテゴリ無限階層版 NP_MultipleCategories(v0.40)用のカテゴリリスト表示プラグインです。今までは NP_ContentsList2.0 を使ってカテゴリリストを表示させてましたが、サブカテゴリを表示するために上位カテゴリをクリックする必要があるのが個人的に気になってきたので、こちらのプラグインに乗り換えてみました。
当サイトではカテゴリ数をクリックするとアーカイブリスト(タイトル一覧)が出るようにしてますので、今回はソースをちょっと修正して実現してみました。

echo '<ul style="list-style-type: '.$this->marker_type.'">';
↓
echo '<ul class="contentlist">';

仕様に反してますが、CSSで後々からでも柔軟にデザイン変更できるように、表示を修正させました。

$link_url  = $this->blogurl.(($CONF['URLMode'] == 'pathinfo') ? "category/" : $this->aaa."catid=").$row_cat->catid;
↓
$link_url  = "index.php?catid=".$row_cat->catid;

当サイトはIISサーバー使ってる影響なのか、URL取得がうまくいかなかったり、アーカイブリストページではカテゴリリンクがアーカイブリンクに化けてしまう不具合があったので思い切って書き換えました。

echo '('.$this->getCatNumberOfBelonging($row_cat->catid).')';
$cat_str = $this->childSubCat($row_cat->catid, 0); //カテゴリを親に持つサブカテゴリ用
if ($cat_str) echo '<ul style="list-style-type: '.$this->marker_type.'">'.$cat_str.'</ul>';
↓
echo ' ( <a title=ArchiveList href=index.php?archivelist='.$blogid.'&catid='.$row_cat->catid.'>'.$this->getCatNumberOfBelonging($row_cat->catid).'</a> )';
$cat_str = $this->childSubCat($row_cat->catid, 0,$blogid); //カテゴリを親に持つサブカテゴリ用
if ($cat_str) echo '<ul class="contentlist2">'.$cat_str.'</ul>';

カテゴリ数の中をアーカイブリストへのリンクへ変更してます。あとサブカテゴリ用のCSSも追加。

function childSubCat($parentid, $level){
↓
function childSubCat($parentid, $level, $blogid){

アーカイブリストを表示させるにはブログIDを取得する必要があるので、関数宣言にて追加。

$link_url  = $this->blogurl.(($CONF['URLMode'] == 'pathinfo') ? "category/" : $this->aaa."catid=").$row_scat->catid;
↓
$link_url  = "index.php?catid=".$row_scat->catid;

さっき書いたURL化けに対応するための表記。

$scat_str .= '('.$this->getSubCatNumberOfBelonging($row_scat->scatid).')';
$child_str = $this->childSubCat($row_scat->scatid, 1); //サブカテゴリを親に持つサブカテゴリ用
↓
$scat_str .= ' ( <a title=ArchiveList href=index.php?archivelist='.$blogid.'&catid='.$row_scat->catid.'&subcatid='.$row_scat->scatid.'>'.$this->getSubCatNumberOfBelonging($row_scat->scatid).'</a> )';
$child_str = $this->childSubCat($row_scat->scatid, 1,$blogid); //サブカテゴリを親に持つサブカテゴリ用

サブカテゴリでのアーカイブリストへのリンク部分を追加。
なお、今回の改造では孫カテゴリは使わない(無限階層カテゴリは使わない)という前提で書き換えてますのでご了承ください。

コメント

  1. 佐藤(な) より:

    > 当サイトはIISサーバー使ってる影響なのか、URL取得がうまくいかなかったり、
    良かったら詳細教えてもらえませんでしょうか?
    ブログのURL取得処理って、結構多用しているので、できれば修正したいと思います。
    いつもすんません。;^_^)
    > アーカイブリストページではカテゴリリンクがアーカイブリンクに化けてしまう
    ぼくも、このプラグインを作るまで知らなかったんですが、Nucleusのスキン変数<%categorylist%>が、そのような動作だったので、仕様を合わせてみました。
    別件なんですけど、、、
    嶽花さんが修正してくれた、ソートのバグ。今頃気が付きました。そっちにもコメントしておきます。どうも。

  2. 嶽花 より:

    http://takehana.smile.tc/cccc/index.php?itemid=784
    詳しくは上記の記事にある通りなのですが、簡単に書いちゃうと
    IISだと$_SERVER["REQUEST_URI"]ってサーバ変数が取得できないので
    別の書き方しないといけない、って感じでした。
    ただ、最新のNP_Showblogsだと改造なしで最初からページ切り替えが
    出来てたので、なんでか良く分からないの状態です。
    自分でコア改造して$_SERVER["REQUEST_URI"]の取得をさせてたから
    かもしれないんですが、最近バージョンアップもしたから
    それもないかと思うんですが……
    で、多分佐藤(な)さんが言われてる件はページ切り替えじゃなくて、
    NP_znMCListでのURL取得が変、って件のことかと思いましたので
    そちらのバージョン0.03を一時的に導入して改造なしに表示させてみました。
    すると、カテゴリ選択部分のリンクが変ですね。
    例のスキン変数の挙動がおかしいって件がこれだったかな、と。
    <例>
    http://takehana.smile.tc/cccc/?archivelist=1&catid=45
    最初のindex.phpが抜けてるので、このURLでアクセスしても
    ページがありません、と表示されてしまう状態ですね。
    このあたりのURL取得で何かうまく動かなかったので、この記事にあるような
    改造をしたかなぁ、と思います。

  3. 佐藤(な) より:

    > で、多分佐藤(な)さんが言われてる件はページ切り替えじゃなくて、
    > NP_znMCListでのURL取得が変、って件のことかと
    そうそう。ちょっと気になって。
    > 最初のindex.phpが抜けてるので、このURLでアクセスしても
    > ページがありません、と表示されてしまう状態ですね。
    なるほど!Fancy URLじゃない場合、index.phpを入れればOKかな。
    > そちらのバージョン0.03を一時的に導入して改造なしに表示させてみました。
    あ、ありがとうございます。ver0.03がダウンロードできる状態になっちゃってましたね。ちょっと一旦閉じておきます。index.phpを加えて、またアップしますね。
    ありがとうございます。

  4. 佐藤(な) より:

    Normal URLで、index.phpが出力されるように修正して、アップしました。
    また、何かありましたらよろしくお願いします。
    どうもありがとう!

  5. 嶽花 より:

    http://wa.otesei.com/NP_znMCList
    から再度0.03をダウンロードして一時的に試させていただきました。
    ソートの件、index.phpの件は大丈夫でしたが、
    カテゴリをクリックすると、アーカイブリストが出るようになってます。
    カテゴリリンクがアーカイブリンクに化けているのではないでしょうか?
    ねこカテゴリをクリックしたときのURL
    http://takehana.smile.tc/cccc/index.php?archivelist=1&catid=52

  6. 佐藤(な) より:

    嶽花さんに頂いたメールで、ようやく事態を飲み込めたのでした。
    > Nucleusのスキン変数<%categorylist%>が、そのような動作だったので、仕様を合わせてみました。
    ↑上記の僕のコメントも、とんちんかんだったわけです。汗)
    Nucleusのスキン変数<%categorylist%>のリンクが、index、archive、archivelistのそれぞれのスキンでのカテゴリの絞込みになっていたので、その仕様に合わせたつもりでいましたが、サーバー環境によって、スキンタイプの取得がうまくできていませんでした。indexスキンでも、アーカイブリンクになっちゃってたわけですね。
    いや〜本当に、いつもお世話になります。
    ありがとうございました。

タイトルとURLをコピーしました