*

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(10)空室管理画面 A

公開日: : WordPress ,

さっそく空室管理画面を作っていきます。今回は画面設計中心です。部屋タイプの選択と、空き情報を更新する月を指定する部分あたりです。長くなりそうなので2回か3回に分ける予定です。

wp-contents/plugins/drtehotel/drtehotel.php

function show_text_option_page() {
	//空室管理画面に表示する内容
	include_once "class/rooms.php";
	$rm = new ROOM();

「空室管理」メニューをクリックした歳に実行される部分を修正します。あたらしい ROOM クラスを用意ししようするように書換えました。

ROOMクラス用の新しいクラスファイルを用意します。
wp-contents/plugins/drtehotel/class/rooms.php

<?php
class ROOM {
  public $comments = "";
  public $name = "";
  function show_screen() {
	echo '<div class="wrap">';
	echo '<div id="icon-options-general" class="icon32">
              <br /></div><h2>空室管理</h2>';
	echo '<form action="" method="post">';

まずは画面出力を組み立てていきます。プロパティなどは後ほど追加していきます。

スクリーンショット 2013-06-25 22.57.45

まずは部屋タイプを初期設定から取得しセレクトボックスへセットする関数を組み立てます。関数名は部屋タイプが「set_rtypr()」で日付が「set_rdate()」とします。日付は今月と来月と再来月の3ヶ月分です。

wp-contents/plugins/drtehotel/class/rooms.php

echo "部屋タイプ:";
echo '<select name="rtypt">';
echo $this->set_rtype();
echo '</select>';
echo " 日付:";
echo '<select name="rdate">';
echo $this->set_rdate();
echo '</select>';

function set_rtype() {
	$op_data = get_option( 'DrTE_option' );
	$rooms = $op_data['DrTE_rooms'];
	$type[0] = $op_data['DrTE_type1'];
	$type[1] = $op_data['DrTE_type2'];
	$type[2] = $op_data['DrTE_type3'];
	$tmp = "";
	for ($i=0; $i<$rooms; $i++) {
		if ($this->rtype==$type[$i])
			$tmp .= '<option value="' . $type[$i] . '"
                        selected="selected">' . $type[$i] . '</option>';
		else
			$tmp .= '<option value="' . $type[$i] . '">'
                        . $type[$i] . '</option>';
	}
	return $tmp;
}

function set_rdate() {
	$month0 = date("Y年m月");
	$month1 = date("Y年m月", strtotime(date("Y-m-1")."+1 month"));
	$month2 = date("Y年m月", strtotime(date("Y-m-1")."+2 month"));
	$tmp = "";
	if ($this->rdate==$month0)
		$tmp .= '<option value="' . $month0 .
                '" selected="selected">' . $month0 . '</option>';
	else
		$tmp .= '<option value="' . $month0 . '">'
                . $month0 . '</option>';
省略

get_option で option テーブルから設定を読み込んで配列を分解します。初期瀬底画面では3種類の部屋タイプまでしか対応していない設計ですが、今後も考えて for でループさせてみました。

$this->rtype で設定されているSELECT値を調べて選択するOPTION値を指定します。

wp-contents/plugins/drtehotel/drtehotel.php

if ($_POST['action']=='change') {
	$rm->rtype = $_POST['rtype'];
	$rm->rdate = $_POST['rdate'];

drtehotel.php の function show_text_option_page() 内に上記の内容を加えます。選択されているセレクトボックスの値を取得してROOMクラスのプロパティにセットしています。

スクリーンショット 2013-06-26 0.05.13

続く


Sponsored Link


 
 

関連記事

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(9)空室管理画面を考える

前回までで基本的なプラグインの制作方法を簡単に学びました。今回からは空室管理の画面を作ってみます。柔

記事を読む

WordPress用プラグインで使う宿泊予約用カレンダーをPHPで書くぜ

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作るシリーズで使う、空き部

記事を読む

WordPressのプラグイン開発を効率的にするフレームワークたち

Wordpressでプラグインを作っていて「フレームワーク使えないのかな?」と疑問を持ちました。そこ

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(12)空室管理画面 C

空室情報のデータベース処理を一気に終えました。ごちゃごちゃしてきたので、もっとスッキリ書く方法が無い

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(1)

初心者が、あらためて WordPress のプラグインを一から作る経過報告。たぶん連載記事ですね。途

記事を読む

ご質問は掲示板へお願いいたします。

Message

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

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

DJI Osmo Mobile 2 を少し使ってみた感想など

BlackMagicDesign URSA mini 4.

DJI Osmo Mobile 2 の少しディープなレビュー

DJI Osmo Mobile 2 を選んだのは「アクティブトラック」

スマホ用ジンバル比較=DJI OSMO mobile2 vs ZHIYUN Smooth 4 vs MOZA mini-mi

さて! 聞いて気になる見て欲しくなる。うれし恥ずかしスマホ用ジンバルの

【実験】Neewer 37mmクリップオンND 2-400 NDフィルタークリップ付きの性能を確認

前回の記事「FiLMiC pro 〜 iPhoneで動画撮影本気モード

FiLMiC pro 〜 iPhoneで動画撮影本気モード

俄然! iPhoneの有効活用が気になり始めました。 前回プレビ

→もっと見る




  •  

PAGE TOP ↑