古い記事
ランダムジャンプ
新しい記事
週末のキンセリ改造作業の作業メモです。
主に未来の自分向け。

「キンセリ」のページの「ピックアップ」というコーナーに表示するセールのコントロールシステムを改良。


主な変更点。

  • 開始日、終了日だけでなく、開始翌日、終了前日もハイライトするように
  • 開始日、終了日、開始翌日、終了前日は必ずピックアップされるように
  • 表示セール数上限の設定可能に
    • ただし、必ずピックアップされるセールは上限無視で表示
  • 各セールに付与したスコアによる表示セール選択と表示順序決定
    • スコア付き要素をなるべくスコアを考慮しつつ降順にソート
    • 一定時間ごとに表示内容がかなりかわるようになった(変わらないときもある)

ロジックなど。

  • スコア
    • ピックアップしたセールごとに指定する
    • 0以上10未満
    • 指定なしだと1
    • 10 は必ず表示することを意味する
  • 特殊日
    • ピックアップしたセールに設定した掲載期間から日付を計算する
    • スコアとは無関係
  • ロジック
    • スコア調整
      • score 10 未満のとき: score = score x 乱数(0-1)
      • score 10 のとき: score = 10
    • score 10 のとき
      • 表示セールリストに追加(必ず表示)
    • 開始日、終了日、開始翌日、終了前日(特殊日)のとき
      • 表示セールリストに追加(必ず表示)
    • 表示上限数を超えない場合
      • score でソートした上位を上限数まで表示セールリストに追加していく
    • 表示セールリストの中身を score で降順にソートして表示

主に金曜日の作業。

  • 開催中のセールからいくつか選ぶ
  • 各セールについて
    • URLやコメントやセール対象品画像などをHTMLで記述
      • liタグで囲む
    • 掲載期間も記述
      • 掲載期間は複数記述可能
      • 例えば「9月10日0時から11日23時まで」と「13日12時から15日23時まで」
      • (23時まで=23:59まで)
    • pickup.txt へ書き込む
  • 終了したセールを pickup.txt から削除

ピックアップ部分だけのページ。確認用。

この記事に言及しているこのブログ内の記事