torasan1111

カテゴリの記事を全削除するとページエラー

0

教えていただけますでしょうか。
カテゴリブログ記事リストテンプレートに以下の記述をしたのですが、
そのカテゴリのブログを全削除した場合、ページが表示されずエラーになってしまいます。
記述の順番かもしくは記述に間違いがあれば教えていただけますでしょうか。
どうしても解決できておりません。
宜しくお願い致します。

<MTIfCategory name="フルーツ">

<mt:If tag="BlogEntryCount">
<MTPageContents count="10">
<mt:Entries>
<tr> 
<td><a href="<$MTEntryPermalink$>"><$mt:EntryTitle$></a></td>
</tr>
<$MTPageSeparator$>
</mt:Entries>
</MTPageContents>
</mt:If>
<mt:If tag="EntriesCount" eq="0">
<mt:Else>
<p>投稿記事がありません。</p>
</mt:If>
</MTIfCategory>

返信(6)

| 返信する
  • すみません。説明がたりませんでした。Pagebuteを使用しています。
    以下の記述も最後にしております。
    又、ページエラーとなるのは以下のメッセージが表示されて、
    ページが表示されないという意味です。
    記事を全削除した後です。
    再構築をすると表示されます。
    MTの仕様で、全削除した場合は再構築をしないとダメなのでしょうか?
    宜しくお願い致します。

    "Forbidden
    You don't have permission to access /test/fruit/ on this server."


    <MTIfPageBefore><font size=2><$MTPageBefore delim="&lt;&lt前のページへ"$></font></MTIfPageBefore><$MTPageLists show_always="0" $><MTIfPageNext><font size=2><$MTPageNext delim="次のページへ&gt;&gt;"$></font></MTIfPageNext>

  • mt:EntriesCountタグがmt:Entriesの外側で使われているからではないでしょうか。
    変数を使用して記事の有無を確かめるか、Pagebuteの独自タグMTPageEmptyを利用すれば解決するかもしれません。


    【静的ページ用ページ分割プラグイン:PageBute | Movable Type プラグイン | MTエンジニアブログ | スカイアークシステム】
    http://www.skyarc.co.jp/engineerblog/entry/2642.html
    > <MTPageEmpty>〜</MTPageEmpty>(3.5.0-)
    > MTPageContents内の記事、コメントなどが一件も無い場合、MTPageEmptyで指定された内容をMTPageContentsの場所で表示します。

  • 早速ありがとうございます。
    以下のようにしてみましたが、やはり再構築をしないと表示されませんでした。

    <mt:If tag="BlogEntryCount">
    <MTPageContents count="10">
    <mt:Entries>
    <tr> 
    <td><a href="<$MTEntryPermalink$>"><$mt:EntryTitle$></a></td>
    </tr>
    <$MTPageSeparator$>
    </mt:Entries>
    </MTPageContents>
    <MTPageEmpty><p>記事は未登録です</p></MTPageEmpty>
    </mt:If>

    気になるのはご紹介頂いた"静的ページ用ページ分割プラグイン"のページの下の方を見ると、注意事項に"記事が1件も無い場合には埋め込まれたテンプレートタグはコメントとなり機能しません。最低1件の記事を登録してください。"と記述されていました。
    これは
    <MTPageEmpty><p>記事は未登録です</p></MTPageEmpty>
    というタグが用意されていることと、どう理解したら良いかが分かりませんでした。

    あとご指摘の通りmt:EntriesCountの件ですが、Entriesタグの内側に配置したのですが、同じ状況でした。

    <mt:If tag="EntriesCount" eq="0">
    <p>投稿記事がありません。</p>
    </mt:If>

    すみません。変数を使用した場合の参考になるURLがあればご紹介いただけませんでしょうか。宜しくお願い致します。

  • <mt:SetVar name="hoge" value="0">
    <mt:If tag="BlogEntryCount">
    <MTPageContents count="10">
    <mt:Entries>
    <mt:EntriesHeader><mt:SetVar name="hoge" value="1"></mt:EntriesHeader>
    <tr> 
    <td><a href="<$MTEntryPermalink$>"><$mt:EntryTitle$></a></td>
    </tr>
    <$MTPageSeparator$>
    </mt:Entries>
    </MTPageContents>
    </mt:If>
    <mt:If name="hoge" eq="0"><p>投稿記事がありません。</p></mt:If>

    上記を試してエラーになる場合、MTPageContentsとMTPageSeparatorとmt:If tag="BlogEntryCount"の三つを外して試してみてください。
    それでもエラーになるなら他に原因があると思います

    <mt:SetVar name="hoge" value="0">
    <mt:Entries>
    <mt:EntriesHeader><mt:SetVar name="hoge" value="1"></mt:EntriesHeader>
    <tr> 
    <td><a href="<$MTEntryPermalink$>"><$mt:EntryTitle$></a></td>
    </tr>
    </mt:Entries>
    <mt:If name="hoge" eq="0"><p>投稿記事がありません。</p></mt:If>


    > 変数を使用した場合の参考になるURL
    「小粋空間」さんや「The blog of H.Fujimoto」のブログか、下記リファレンスが参考になると思います。

    【MTIf | テンプレートタグリファレンス】
    http://www.movabletype.jp/documentation/appendices/tags/if.html

  • >torasan1111さん
    こんにちは。

    MT5.12で試してみたところ、あるカテゴリに属する記事をすべて削除すると、そのカテゴリのアーカイブページも削除されました。「Forbidden
    You don't have permission to access /test/fruit/ on this server.」のエラーが表示されたのは、アーカイブページが削除されたことが原因です。
    PageButeプラグインは関係なく、Movable Type本体の不具合だと思います。

  • >kei344さん
    ありがとうございます。
    変数の方を使ったテストはまだ行っていません。
    テストしてみます。

    >壱さん
    ありがとうございます。
    いずれにしても今回は不具合ということになる場合、どのような
    修正になるのでしょうか。リクエストを挙げればいいのでしょうか。


返信する