メニュー
ひとぅ
新しいもの好きな「ひとぅ」が2007年10月からガジェット製品や雑貨、面白いウェブサービスなどの情報を発信しています。お得な情報や役立つTIPSも人気です。
アーカイブ
カテゴリー

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

  • URLをコピーしました!

※当サイトではアフィリエイト広告を利用しています

下記の記事は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」内にアップロード

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

この記事が気に入ったら
フォローしてね!

この記事をシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次