ワイヤード・パンチ

元・大阪人が、岡山の山奥でも生きていけることを証明するためのブログ。

Osclassで広告投稿時の市区町村入力の必須を無効化する方法。

広告投稿画面(item-post.php)では、その広告が該当する地域の選択が必要になりますが、都道府県と市区町村ともに必須になっています。

市区町村を選択せずに投稿しようとしても、入力必須だと言われて元の画面に戻ってきてしまいます。

場合によっては都道府県だけを入れたい場合もあるので、この市区町村の入力必須を無効化する方法についてです。

広告

コアファイルの編集が必要になる。

残念ながら、テーマにfunctions.phpに追記とかで対処する方法がわかりませんでした。

もしくは、ないのかもしれません。

よって今回は仕方なく、Osclass本体のコアファイルを直接編集して、対処することにします。

コアファイルをいじると、アップデートで編集が消えてしまう恐れがあるので、あまりやりたくないのですが…。

\oc-includes\osclass\frm\Item.form.class.php

まずは上記パスのファイルを開きます。

cityId: {
	required: true,
	digits: true
},

次にそのファイルの中から、上記の記述を見つけます。

もうだいたい、何を示しているかわかりますね。

cityId: {
	required: false,
	digits: true
},

requiredをtrueからfalseに書き換えて保存します。

つまり、必須から必須ではないにするということ。

これで、投稿時に市区町村の選択をしなくても、投稿できるようになりました。

その他の編集方法では対応できないの?

ItemForm::city_select()

benderテーマにあるitem-post.phpを見てみると、市区町村の入力フォームは上記の関数で出力されていました。

しかし、コアファイルを開いてその関数の中身を探してみるも、formタグには入力必須などの記述はされていませんでした。

また、テーマ内で使われているjavascriptを調べてみても、このフォームに対して直接、入力チェックを行っている様子もありませんでした。