#author("2022-01-12T02:09:48+09:00","","")
#author("2022-01-12T02:10:28+09:00","","")
**[[質問箱/5444]] [#qa668462]
|RIGHT:70|LEFT:410|c
|~カテゴリ|デザイン・CSS・スキン|
|~サマリ|コメントで表示される「new」の表示条件変更|
|~バージョン|1.5.3|
|~投稿者|[[質問]]|
|~状態|完了|
|~投稿日|&new{2022-01-01 (土) 16:29:43};|
***質問 [#ue4e7467]
pcommentを使用しているのですが、コメントした際に日付横に表示される「new」の表示条件を変更したいです。
デフォルトでは1日以内と5日以内の2種類しかないと思いますが、これを12時間以内と1日以内、3日以内の3種類にしたいです(3種類がややこしければ2種類でも)
new.inc.phpの以下部分を修正してみたのですが反映されませんでした。
 60 * 60 * 24 * 1 => ' <span class="new1" title="%s">New!</span>',  // 1day
 60 * 60 * 24 * 5 => ' <span class="new5" title="%s">New</span>');  // 5days
見当違いのところを見ている気がしなくもないですが、ご教示いただければ幸いです。

***回答 [#x96e05e9]
- こちらでも試してみたんですが、なぜかそれ使われてないみたいなんですよね。どうやらJavaScriptの方(main.js 448行目~)で処理されているようです -- [[はいふん]] &new{2022-01-01 (土) 20:55:48};

- 以下のようにskin/main.jsの448行目~470行目を変更してみると適用されました。 -- [[はいふん]] &new{2022-01-01 (土) 21:10:34};
     // new plugin
     var newItems = document.getElementsByClassName('__plugin_new')
     forEach(newItems, function (e) {
       var dt = e.getAttribute('data-mtime')
       if (dt) {
         var d = new Date(dt)
         var diff = now.getTime() - d.getTime()
         var halfDaySpan = diff / 1000 / 60 / 60 / 12
         // 半日↑
         if (halfDaySpan < 1) {
           e.textContent = ' New!!'
           e.title = getPassage(d, now)
           if (e.classList && e.classList.add) {
             e.classList.add('new1')
           }
         } else if (halfDaySpan < 2) {
           e.textContent = ' New!'
           e.title = getPassage(d, now)
           if (e.classList && e.classList.add) {
             e.classList.add('new2')
           }
         } else if (halfDaySpan < 6) {
           e.textContent = ' New'
           e.title = getPassage(d, now)
           if (e.classList && e.classList.add) {
             e.classList.add('new6')
           }
         }
       }
     })

- skin/pukiwiki.css(スキンのCSS) 色は適当に決めてます。(color:...;のところで変更できます)
 span.new1 {
   color:red;
   background-color:transparent;
   font-size:x-small;
 }
 span.new2 {
   color:maroon;
   background-color:transparent;
   font-size:xx-small;
 }
 span.new6 {
   color:green;
   background-color:transparent;
   font-size:xx-small;
 }
- span.new1...12時間以内
- span.new2...1日以内
- span.new6...3日以内
- はいふん様 早速ありがとうございます!ご教示いただいた方法で完璧に出来ました。元旦にもかかわらずご丁寧にありがとうございました。 -- [[質問]] &new{2022-01-01 (土) 23:45:46};
- JavaScriptの制御になったのは1.5.2からのようです [[PukiWiki/Download/1.5.2#k82e81ca]] --  &new{2022-01-02 (日) 15:06:36};
- はいふんさんの書かれている通り [[dev:BugTrack/2455]]の対応によりPHP側のロジックは使われず、JavaScriptでの制御になりました。 %%PHP側が残っているのは間違いですので消しておきます。%% どうもありがとうございます -- [[umorigu]] &new{2022-01-10 (月) 19:25:39};
-- PHP側の plugin_new_init が残っているのは互換性維持のための意図的なものでした。紛らわしいのですがこのままとさせてください -- [[umorigu]] &new{2022-01-12 (水) 02:10:28};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2021 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.067 sec.

OSDN