adiary2.04で「月」一覧表示で改ページができるようにする方法

この記事がおもしろかったらシェアしてね

下記の記事はadiary2.04のものです。
adiary2.06で下記の内容は解決されています。

adiary2.04で「月で記事を一覧表示」させた時に、改ページ関連がうまく動作しません。仕様なのか不具合なのか分かりませんが、気持ち悪いので動くように改善してみました。

まずは標準の動きから。

  • カレンダーの年月の部分をクリックすれば、その月の記事が表示されます。(例:https://hitoxu.com/200812で2008年12月の記事が表示される)
  • 「一覧で表示する」をクリックすればリストで表示されます。(例:https://hitoxu.com/?diary_list&yyyymm=200812
  • デフォルトで30件ずつ表示されますが、「次の30件>>」や「50件表示」をクリックした時に[全体の記事から表示]されます。(例:2008年12月という情報が保持されず全体の記事が対象となります。)

この年月を保持するように以下の作業をします。

  1. サーバ上に「/diary.user.skel/diary_list.html」があればダウンロードして3へ
  2. 1のファイルがなければ、「/diary.skel/diary_list.html」をダウンロード
  3. ダウンロードした「diary_list.html」をテキストエディタで開く
  4. 37行目付近に次の1行を追加する
    <$ifset(query.yyyymm ne '', add_query, "&yyyymm=" . form_encode(x=query.yyyymm))>
    

    ↓周辺のソースは以下の通り(最後の1行が追加した箇所)
    変更前

    <@>前へと次へ
    <$prev = h.start - limit>
    <$next = h.end   + 1>
    <$prev = if(prev   < 1,  undef, prev)>
    <$next = if(h.hits < next,   0, next)>
    <$url  = v.myself2 . lists . '?' . v.query_ary#0>
    <$ifset(query.id  ne '', add_query, "&id=" .  form_encode(x=query.id))>
    <$ifset(query.cat ne '', add_query, "&cat=" . form_encode(x=query.cat))>
    

    変更後

    <@>前へと次へ
    <$prev = h.start - limit>
    <$next = h.end   + 1>
    <$prev = if(prev   < 1,  undef, prev)>
    <$next = if(h.hits < next,   0, next)>
    <$url  = v.myself2 . lists . '?' . v.query_ary#0>
    <$ifset(query.id  ne '', add_query, "&id=" .  form_encode(x=query.id))>
    <$ifset(query.cat ne '', add_query, "&cat=" . form_encode(x=query.cat))>
    <$ifset(query.yyyymm ne '', add_query, "&yyyymm=" . form_encode(x=query.yyyymm))>
    
  5. 「diary_list.html」を上書き保存し、「diary.user.skel」内にアップロード

以上で次ページや前ページ、○件表示について年月が保持された状態で動くようになります。ご参考まで。

スポンサーリンク
NO IMAGE
この記事をお届けした
ひとぅブログの最新ニュース情報を、
いいねしてチェックしよう!

この記事がおもしろかったらシェアしてね

ひとぅに興味を持った方はフォローしてね

関連記事

この記事に関連するオススメ


コメント

  1. nabe より:

    月表示ですべての記事を表示するのが仕様で、記事一覧ページはページ送りが常にあるものなので、論理矛盾って感じですね(^^
    何か考えて見ます。ご報告感謝です。

  2. ひとぅ より:

    nabeさん、コメントありがとうございます。
    この動きは仕様なのですね。「論理矛盾」というところがイマイチ理解できませんでしたが(^_^;)。う?ん難しいですね。

  3. adiary開発日誌 より:

    adiary Ver2.06 リリース情報

  4. ひとぅブログ より:

    adiary2.06を入れてみた

Highslide for Wordpress Plugin