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

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

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

 

さて、本日は前回のこちらの記事に引き続き、osclassで、地域を北から順に並べ替える(ソートする)方法をご紹介しようと思います。

※こちらは有料テーマfinoのカスタマイズ法になります。無料のテーマosclasswizardsに関しては前回の記事の方法で並び替えができますm(_ _)m

まずfunctions.phpに追記しよう

oc-content/themes/編集したいテーマ/functions.phpと進み、編集画面を開きます。

開いたら、9行目の

define(‘自分のテーマ名_THEME_VERSION’, ‘3.0.1’);

の下に以下のコード↓を追記します。

 

function fino_regions_select(){
$conn = getConnection(); $aRegions = $conn->osc_dbFetchResults(‘SELECT * FROM %st_region ORDER BY s_slug ASC’, DB_TABLE_PREFIX);
if(count($aRegions) > 0 ) {

$html = ‘<select id=”sRegion” name=”sRegion”>’;
$html .= ‘<option value=””>’ . __(‘Select a region’, ‘fino’) . ‘</option>’;

foreach($aRegions as $region) {

if($value == $region[‘s_name’]) $selected = ‘selected=”selected”‘; else $selected = ”;
$html .= ‘<option value=”‘. $region[‘pk_i_id’].'” ‘.$selected.’>’. $region[‘s_name’].'</option>’;
}
$html .= ‘</select>’;
}

echo $html;
}

 

次はinc.search.phpを編集しよう

functions.phpのファイルと同じ階層にinc.search.phpという名前のファイルがあるので、それを開きます。

開くと終わりの方にこれ↓があるので、こう書き換えます。

○○_region_select() → ○○_regions_select()

 

ひとまずはこれで終わりです。

 

Before→Afterで確認してみよう

サイトのトップ画面を確認してみてください。そうすると以前は、三重県→京都府→佐賀県と並んでいたプルダウンメニューが…

こーんな感じに↓北海道→青森県→岩手県→…→沖縄の順に並び替わりました。

めでたし、めでたし

といきたい所ですが、これだけではまだ終わりません。←またこの展開かよ!w

これだけだと、プルダウンメニューの並び順が変わっただけで、トップ画面下部の地域一覧↓は相変わらず三重県から順に並んでいるんですね〜

ふぅ〜やること多いぜε-(´∀`; )

専門家に依頼しよう!笑

実は今回の案件は、自分の手には追えないと早々に悟り、クラウドワークスランサーズなどの外注サービスを使って、プロに相談しました。

相談してわかったのは、こんなのネットで調べたり本読んだりしても、今日明日中にチャチャっと変更するのは無理!ってことです。

時間はお金で買うのが一番! やはり何事も餅は餅屋ですわ(笑)←それ言っちゃったよw

 

ちなみにわたくしりむは、今回の案件をランサーズ会員のmnr_dsnさんという方に相談しました。

認定ランサーで、親身に相談に乗ってもらえたのでとても良かったです。

みなさんも、ネットで調べてわからなければ諦めてプロに依頼しましょう。で、自分はもっと他のやるべきことに集中すべきですね。時間は一番貴重な資源ですから。

 

最後にトップページ下部も修正しよう!

oc-includes/osclass/model/RegionStats.php 

を開いて160行目付近にあるこちらを

if( $order_split[0] == ‘region_name’) {

↓このように修正します。
if( $order_split[0] == ‘region_name’ || $order_split[0] == ‘region_slug’ ) {

 

これが終わったら、

oc-content/themes/編集したいテーマ/main.php

を開いてこの部分を

<?php View::newInstance()->_exportVariableToView(‘list_regions’, Search::newInstance()->listRegions(‘%%%%’, ‘>=’,’region_name ASC’) ) ;?>

このように↓変更します。

<?php View::newInstance()->_exportVariableToView(‘list_regions’, Search::newInstance()->listRegions(‘%%%%’, ‘>=’,’region_slug ASC’) ) ;?>

 

そうすると…

ジャジャーーン! 完璧に北海道から沖縄までソートされました。パチパチパチパチ

これにて一件落着です( ̄▽ ̄)

 

最後に、感謝の気持ちを込めて、もう一度今回お世話になったランサーを紹介して締めようかと思います。

ランサーズに在籍中の認定ランサーmnr_dsnさんです。

彼女にお仕事を依頼するには、まずランサーズに登録してください。その後、検索窓にosclassと入れて検索すると出てくると思います(私はこのやり方で辿り着きました)。

困ったことは彼女に相談するといいでしょう。僕みたいなPHP?な初心者でも、根気強く相談に乗ってくれました。

※ただし、相手の貴重な時間をムダにしないため、最低限の知識は身につけておいた方がいいと感じました。その方がお互いに幸せになれますね。

 

おすすめ書籍

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


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

その後は、この辺の有名所をどうぞ。

 

ではではまた次回の記事でお会いしましょう( ´ ▽ ` )ノ


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

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

  2. ピンバック: osclassで地域(ロケーション)を北海道〜沖縄の順に並べ替える方法 【ICT】 – りむの医療系サイト制作な日々

コメントを残す

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