osclassで地域(ロケーション)を北海道〜沖縄の順に並べ替える方法 【ICT】

みなさんどーも、現在osclassで医療従事者向けのマッチングサイトを作っているりむです。

※現在制作中の『医療従事者のための健診バイトマッチングサイト』はこちらです。

 

さて、本日はタイトルにもあるようにosclassで、地域を北海道〜沖縄のように北から順に並べ替える(ソートする)方法をご紹介しようと思います。

まずはデータベースにアクセス

エックスサーバーの人は、サーバーパネルphpmyadminにログインします。

※ログイン用のユーザーネームとパスワードを忘れた人は、config.phpを開くと、真ん中ぐらいにデータベースにログインするためのユーザーネーム(DB_USER)とパスワード(DB_PASSWORD)が表示されていますので、それをコピペしてログインしてみてください。

 

無事にログインできたら、管理画面内のデータベース編集したいサイトのデータベースとクリックして進んでください。そうするとこんな感じの表が出てくるはずです。

左の一覧から、oc_t_regionを探してクリックします。

そうすると、この画面↓が出てきますので、左のチェックボックスs_slugにチェックを入れて、下の表示という所をクリックします。

こんな感じの表が出てきます↓そしたら下部のすべてチェックするを選んで、右の鉛筆マークをクリックしてください。

初期状態だと、都道府県のスラッグが赤線部のように

北海道 -1、青森-16、岩手-17のようにぐちゃぐちゃになっているはずです。

これを北海道から沖縄まで順番に並べ替えたいので、1〜47番の番号を振りなおしていくわけですが、ここで一つ注意点があります。

それは、この値の書式設定が文字列になっているため、1,2,3…9,10,11と番号を振っていくと、

こーんな感じ↑に、北海道の次に10番目の静岡県がきてしまいます。これを回避するために、01〜47と番号を二桁表記にしてください。これをすると

このように↑きちんと北海道の次に青森県が並びました。

※キーでソートの所をs_slug(昇順)でソートするとこのように並び変わります。

 

以上で下準備は終了です。

次はRegion.phpを編集しよう

まずサーバーにアップロードしたフォルダからこちらのページを探してみてください。

oc-includes/osclass/model/Region.php

Region.phpを開いて上から順にみていくと、割と序盤の方(81行目)にこれがあります。

この $this->dao->orderBy(‘s_name‘, ‘ASC’);

の部分を $this->dao->orderBy(‘s_slug‘, ‘ASC’);

に書き換えます。

これでスラッグを昇順(ASC)ソートに変更できます。

するとどうでしょう、前は 三重県→京都府→佐賀県→… と並んでいたものが、

 

北海道→青森県→岩手県→… と自分が設定したスラッグ順に並べ替えることができました。

めでたし、めでたし

といきたい所ですが、これだけではまだ終わりません。

これだけだと、管理画面上の並び順が変わっただけで、肝心のユーザーさんが使うトップ画面は変わらないんですね〜

ということで、話が長くなってきたので、続きはまた次回にします( ´ ▽ ` )ノ

 

おすすめ書籍

一からPHPを学びたい方は、こちらの本を読むといいでしょう。超初心者の僕にもわかりやすかったです。


PHPの絵本 第2版 Webアプリ作りが楽しくなる新しい9つの扉

“osclassで地域(ロケーション)を北海道〜沖縄の順に並べ替える方法 【ICT】” への1件の返信

  1. ピンバック: osclassで地域(ロケーション)を北海道〜沖縄の順に並べ替える方法 前回の続き【ICT】 | (仮)りむのBreaking Badな日々

コメントを残す

メールアドレスが公開されることはありません。