これまで、当サイトの記事の右上には、

>「[ソフトウェア]」

のように、記事のカテゴリーが表示されていた。

今回、

ソフトウェア

のように見た目を変更した。

変更点は:

style-sites.css


.key a, .category a {
    padding:3px;
    background-color: #f0f0f0;
    border: 1px solid #a0a0a0;
    text-decoration: none;
}

html_item.skin


<div class="category">
<a href="<%=$site_base%>rnote.php?u=<%=$Category_Dir%>"><%=$Category%></a>
</div>

この変更で、外見に関してはOK。(置換命令 Category_Dir はサブカテゴリのカテゴリキーを表示させるためにrnote.php にコードを追加する。詳細は後述。)

続けて、サブカテゴリの場合の表示の修正を行う。

例えば、 works/software/ というディレクトリを掘り、 works/software/ のカテゴリ名を「冬星のソフトウェア」とするために、 rnote_config.php に、

>$category_name['works/software'] = '冬星のソフトウェア';

と書いても、オリジナルの rNote では、カテゴリ名に、「works/software/」としか表示されない。これを、「冬星のソフトウェア」と表示されるように変更を加える。

// ITEM用スキン処理・本体
function GetContentsEach($fname,$skin,$bSingle) の中の、

    while($tagstr=SkinTagChk('Category',$a,$opt)){
        $dd = explode("/",$dir);
        $cn = '';
        if(sizeof($dd)>1){
            foreach($dd as $dd) if($dd){
                if(isset($category_name[$dd])) $dd=$category_name[$dd];
                $cn .= '/'.$dd;//カテゴリ名がなければカテゴリキーを使用する。
            }
        }else{
            if(isset($category_name[''])) $cn=$category_name['']; else $cn='Home';
        }
        $a=str_replace($tagstr,preg_replace('/^\//','',$cn),$a);
    }

の部分を、下のように変更する。

    while($tagstr=SkinTagChk('Category',$a,$opt)){
        $cn = '';
        $cd = preg_replace('/^\//','',$dir);
        $cd = preg_replace('/\/$/','',$cd);
        if(isset($category_name[$cd])) {
            $cn=$category_name[$cd];
        } else {
            $cn=$dir;//カテゴリ名がなければカテゴリキーを使用する。
        }
        $a=str_replace($tagstr,preg_replace('/^\//','',$cn),$a);
    }

また、 SkinTagChk(‘Category’,$a,$opt) の while ループの直前に、下を追加する。

    while($tagstr=SkinTagChk('Category_Dir',$a,$opt)){
        $cn = '';
        if(isset($category_name[$dir])) {
            $cn=$category_name[$dir];
        } else {
            $cn=$dir;//カテゴリ名がなければカテゴリキーを使用する。
        }
        $a=str_replace($tagstr,$cn,$a);
    }

これで、サブカテゴリ works/software/ が「冬星のソフトウェア」と表示され、リンクも貼られるようになる。

[コメントの受付は終了しています ]
この記事のリンク元

キーワード: rNote カテゴリー