そのブログ記事以外の同じカテゴリの記事一覧をページに表示させたい場合

個々のブログ記事ページで、その他の同じカテゴリの記事を一覧表示させる方法です。
SEO的にはすごく良いらしいです。

以下参考ページです。

MovableTypeで表示中の記事と同じカテゴリーの記事をリストアップする方法

-----------

<mt:IfNonEmpty tag="EntryCategory">
    <mt:EntryCategories>
        <h2>その他の<$mt:CategoryLabel$>の記事</h2>
        <$mt:EntryCategory setvar="hoge"$>
        
            <mt:Entries catgeory="$hoge">
               <h3>たとえば記事タイトル</h3>
<p>記事内容</p>
            </mt:Entries>
      
    </mt:EntryCategories>
</mt:IfNonEmpty>

-----------

表示できました。

それにしても。
"hoge"って、ベタだな。。。ソースからは見れないけど、
私に何かあって、他人がMT管理画面アクセスして
「"hoge"だって・・・・。ださ。ぷっ。」
とか笑われたら恥ずかしすぎる!!!
別のに直しておこう。

そのブログ記事以外の記事一覧をページに表示させたい場合

ブログ記事ページで
そのブログ記事以外の記事の一覧もページに置きたい場合

参考にしたのはコチラです。


ブログ記事テンプレートをいじります。
記事の前に以下を置きます。

<$mt:EntryID setvar="hyojikiji"$>

記事のIDを取得して、"hyojikiji"に代入してます。


続きまして

<mt:entries>
直下に
<$mt:EntryID setvar="article"$>
    <mt:If name="article" ne="$hyojikiji">
を記述。

変数"article"と、変数"hyojikiji"が一致しない場合に、
その下に記述したものが表示されます。

--------
これで、このカテゴリ以外のものは表示しない分岐も入れたい。
来週のお仕事になりますな。

別のブログ記事テンプレートを動かす

今回のお仕事は、同じ情報を別の見せ方の2ページで表示したいという物。
しかも、個別のブログ記事テンプレートで生成させると言うものです。
以下手順です。

①アーカイブテンプレートの作成:+ブログ記事 をクリックして生成。
②新しいアーカイブマッピングをつくる。
今回私は、「category/sub-category/entry-basename.html」にしました。
③別のページからどうリンクするかというのが、一番の心配でしたが、以下の記述でOK!
<a href="<$mt:BlogArchiveURL$><$mt:FileTemplate format="%c/%-f"$>"><$mt:EntryTitle$></a>

aタグのなかに<$mt:FileTemplate format="%c/%-f"$>">を入れるんですね。
format=""の記述についてはアーカイブマッピングの種類によってかわります。
その記述についてこちらのサイトを参考にしました。
「アーカイブマッピングで利用するアーカイブファイル名の定義」

これで別の個別ブログ記事ページが生成されて、リンク先の設定もできた~!!
成長したなぁ。自分。
成長したね~キミ。って誰かに誉めて欲しい。。。

RSSで数件表示、そこからメインページのページ内リンク飛ばす

各ブログ、xmlファイルの「リンク先」の指定を、
<$MTEntryPermalink$>ではなく、
<$MTBlogURL$>#<$MTEntryID$>にします。 

 一方で メインページ
<mt:Entry>
の中に
<a name="<$MTEntryID$>"></a>のアンカーを埋め込んでおきます。 

これで、記事ごとに記事IDのアンカーが入ります。
 RSS一覧から、各記事へページ内リンクで飛べるというわけです。 

思いついて、仕事で使ってみたら成功しました。 
どうぞ、お試しください。

MT生成のアーカイブリストを折りたたむJQ

月別アーカイブリストを年ごとに折りたたむjqueryにトライしました。
このサイトのサイドバーにも反映してみました。


参考にした本は、「Movable Type 4.x クリエイターが身につけておくべき100の法則。」(発行:インプレスジャパン)です。
4.xなので、もう使えない機能もたまにありますが、今回は5.04にも使えました。

ソースは以下です。

<dl>
<dt></dt>
<dd>
<ol>
<MTArchiveList archive_type="Yearly">
<li class="yearlyList"><$MTArchiveTitle$>の記事を見る
<ol>
<MTArchiveList archive_type="Monthly">
<li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li>

</MTArchiveList></ol>
</li>
</MTArchiveList></ol>
</dd>
</dl>

基本は上記ですが、
今回、今年度のは別に記載したので、去年から過去の表示が欲しい。
と言うことで、ちょっとつけたし。


<dl>
<dt></dt>
<dd>
<ol>
<MTArchiveList archive_type="Yearly"><MTArchivePrevious>
<li class="yearlyList"><$MTArchiveTitle$>の記事を見る
<ol>
<MTArchiveList archive_type="Monthly">
<li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li>

</MTArchiveList></ol>
</li></MTArchivePrevious>
</MTArchiveList></ol>
</dd>
</dl>
------------

<MTArchivePrevious>タグを使います。

さて、

jqueryが入ってなければダウンロードして<head>内で読み込みます。
その下に新たにjavascriptを書くか、別ファイルにして読み込みます。

$(document).ready(function(){
$(".yearlyList ol").css("display","none")
$(".yearlyList").click(function(){
$(this).children().slideToggle("slow");
});
});


---------

スタイルシートは適宜入れてください。
1点。

.yearlyList{
cursor:pointer;
}

は記述したほうがいいです。しないと、オンマウスでもカーソル形状がかわりませんので、リンクなのかわかりづらいです。

さらに、注意。

「<$MTArchiveTitle$>の記事を見る」

の記述のところにスタイルを入れると、とたんにうまく行かなくなります。
「<$MTArchiveTitle$>の記事を見」る、は残ってて欲しいのに、表れた下層リストに押し出されて消えてしまうんです。

そこに背景バーイラストをおきたかったので、いろいろ試しました。
で、行き着いたのでが、
.yearlyListに背景画像をいれて、下のolにその分マージンを取るスタイルを入れました。
それで、なんとかうまく行きましたよ。

よく分からないけど、
js記述内の
.css("display","none")
が反映されちゃうんじゃないかと思うんですが、、、どうでしょうか。
詳しい人にめぐり合えたら聞いてみます。

1  2  3  4  5  6  7  8  9  10  11

▲トップへ戻る

* FEED


presented by 地球の名言