JpmobileではControllerにmobile_filterを指定することで DoCoMo、Au、SoftBankの絵文字を透過的に扱うことができる。
jpmobileでは携帯間の絵文字変換は対応されているのですが、PCについては含まれていません。
そこでどうしようかとうろついていたら、PCで絵文字を表示するフィルタを書かれている方がいました。
携帯絵文字をPCで表示するためのフィルタをつくってみた – みじんこ日記
しかしながら、現在のところPCでのアクセスのためのフィルタは用意されてなく、PCで閲覧した場合何も表示されないか、ブラウザによっては文字化けします。
そこで、このプラグインの出番です。(いいすぎだったらごめんなさい)
さっそく使わせていただきPCでも絵文字を見られるようになったのですが、編集には対応されていなかったようなので、inputかtextareaの中の絵文字は専用タグに変換するように書き換えてみました。(ソースは下方参照のこと)
text_fieldやtext_areaを使ったときには絵文字(たとえば「晴れ」)は[emo:58942]のように表示されます。
思いっきり数字な件についてはこれ用の入力パネルを作ったらいいかなーと。そう、mixiみたいに。
ただ、mizincogrammerさんも重いとおっしゃっているところに重ねているので、きっとさらに重いです。
ベストはtext_fieldやtext_areaの中だと思うのですが、ソースを読んだらうまくねじ込めそうなところがなかったので、こうしました。(rails:freeze:gemsして書き換えてしまえばいいんですがっっ。)
actionpack-2.1.2/lib/action_view/helpers/form_helper.rb
527 def to_input_field_tag(field_type, options = {})
528 options = options.stringify_keys
529 options["size"] = options["maxlength"] || DEFAULT_FIELD_OPTIONS["size"] unless options.key?("size")
530 options = DEFAULT_FIELD_OPTIONS.merge(options)
531 if field_type == "hidden"
532 options.delete("size")
533 end
534 options["type"] = field_type
535 options["value"] ||= value_before_type_cast(object) unless field_type == "file"
536 options["value"] &&= html_escape(options["value"])
537 add_default_name_and_id(options)
※ここでやりたかった
538 tag("input", options)
539 end
ということで、ソースです。
コメント
おくればせながら、こちらのパッチを取り込ませて頂きました。(こちらの方で、mixi的な絵文字入力が必要になったので・・・)
ありがとうございました。おかげで無事目的の機能は実装できました。
酷いコードでお恥ずかしい限りです。
おぉ、ありがとうございます。
こちらこそ、お世話になりましたです。