FileMakerやRuby,PHP,JavaScriptについての記録。

2014年8月12日火曜日

MacOSX上のFileMakerをネットワーク共有でiPadから使用。

MacOSX上のFileMakerファイルにネットワーク共有でローカルのiPadからアクセスしたときのメモ。

Macのファイアーウォール設定

FileMakerのサイトにポート5003を空ける設定とありましたが、特に明示的に「5003」と指定しなくてもFileMaker Proからのアクセスを許可するだけでOKでした。

FileMaker Proの設定

先に使用するファイルを起動してからの設定となります。

表示されているIPアドレスはiPadの方で設定に必要です。

FileMaker Go

iPadのFileMaker Goのホーム行くと勝手に認識するはず。
「FileMaker Go」はFileMaker社が提供しているフリーのアプリです。
Wifiの種類がgw、g、a、aw、とか多数ある場合Mac OS XとiPadで別のを使っていると当たり前ですが共有出来ないので、つながんねーという方は見直してみられると良いと思います。

2014年8月7日木曜日

FileMaker開発に参考になる動画。

FileMakerとWebビューアを使った連携に興味あるのですが、とても良い動画を見つけたので記録。

とてもクオリティ高いと思います。 WebビューアでWebアプリを取り入れるとファイルメーカーのデフォルト臭いデザインも消せて良いですね。

FileMaker Webビューア内のJavaScriptから複数のパラメータ受け取り

jsからファイルメーカーのスクリプトを実行してGet(スクリプト引数)でパラメータを受け取る。

そのままオブジェクトを渡してみる。

    $('#saveBtn').click(function() {
        var params = {width: 100, height: 100, memo: 'テスト'};
        window.location = 'fmp://$/mapsDemo.fmp12?script=insertData&param='+params;
    });

この先どうにも扱えないので終了。

JSON形式の文字列にしてみる。

    $('#saveBtn').click(function() {
        var params = {width: 100, height: 100, memo: 'test'};
        params = JSON.stringify(params);
        window.location = 'fmp://$/mapsDemo.fmp12?script=insertData&param='+params;
    });

PHPだとjson_decodeで戻したり、はたまたそのままDB突っ込んでおいてJavaScriptで必要に応じてJSON.parse使ったりそんなかんじなんだけど。
ファイルメーカ側で戻すのがスムーズにできないみたいで外国の方の作ったライブラリみたいなものも見てみたが、オブジェクトの中の配列とかが不完全だったり、第一そんなよくわからんファイル詰め込みたくないので却下。

$マークを付けるとGet(スクリプト引数)をしなくてもそのままローカル変数として扱える

    $('#saveBtn').click(function() {
        window.location = 'fmp://$/mapsDemo.fmp12?script=insertData&$width=100&$height=100&$memo=test';
    });

若干苦しい気もすけど、ある程度$変数で分けておいてカンマ区切りでやろうかな。

2014年8月3日日曜日

FileMaker WebビューアからFileMakerスクリプト実行

WebビューアのURLにパラメータ付けて実行するのはフツーにできるけど、
逆はできないのかと思っていたらけっこうあっさり実現されている方がいたので自分の環境で試したメモ。

設定用とイベント用の2つスクリプト用意

jsを含んだhtmlをWebビューアに表示

$html

"data:text/html;charset=utf-8,
<html>
<head>
<script type='text/javascript'>
function clickBtn() {
    window.location = 'fmp://$/webViewerTest.fmp12?script=click&param=abc';
}
</script>
</head>
<body>
    <input type='button' onclick='clickBtn();' value='ボタン'>
</body>
</html>"

Webビューア内のボタンクリックイベントからFileMakerのスクリプトを実行


googleのマップ、チャートと連携して色々できそうな予感はあります。
Webビューアをうまく取り入れる事で見た目にも、FileMaker標準のコテコテ感消せるかな。

FileMaker Webビューアにdata URI SchemeでHTMLを使う

FileMakerのWebビューアにdata URI SchemeでHTMLを埋め込む。
インスペクタからWebビューアに名前をつける。
スクリプトの管理から新規スクリプト作成。
"data:text/html;charset=utf-8,
<html>
<head>
<script type=\"text/javascript\">
window.onload = function() {
     alert('アラートテスト');
}
</script>
</head>
<body>
<h1>テスト</h1>
</body>
</html>"

2014年7月29日火曜日

laravelで動的にradioボタンのchecked制御。

laravelのビューのラジオボタンのメモ。
編集画面で現在のDB情報を反映するときに使う。
第3引数の三項演算子。
{{Form::label('フラグ')}}
{{Form::label('on', '有効')}}
{{Form::radio('flg', 0, ($data->flg == '0') ? true : false, ['id'=>'on'])}} 
{{Form::label('off', '無効')}}
{{Form::radio('flg', 1, ($data->flg == '1') ? true : false, ['id'=>'off'])}}

2014年7月26日土曜日

LaravelのテンプレートエンジンBladeの使い方。

最近LaravelというPHPフレームワークを使ってみたのでメモ。 Smarty以外は使ったことないので新鮮。

使い回したい基本テンプレート

app/views/layouts/master.blade.php
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>雛形</title>
  </head>
  <body>
    <h1>{{@$title}}</h1>
    <div>
        @yield('content')
    </div>
  </body>
</html>

コントローラーA

app/controllers/MenuController.php
<?php

class MenuController extends AdminController {
    protected $layout = 'admin.menu';
      
    public function index()
    {
        $this->layout->title = '管理メニュー';
    }
}

コントローラーAに設定するビュー

app/views/admin/menu.blade.php
@extends('layouts.master')

@section('content')
<ul>
    <li>メールアドレス一覧</li>
    <li>日別登録数一覧</li>
    <li>自動返信テンプレート設定</li>
    <li>自動返信用キーワード設定</li>
    <li>ログアウト</li>
</ul>
@stop