Posts tagged utf-8

Firefox テキストエリアを外部エディタで編集する

1

今まではブラウザで textarea を入力するときに秀丸などを立ち上げて、秀丸で文章を作成してそれをコピペしたりしていた。
Firefox の拡張機能「mozex」を使用すると、外部のエディタでテキストエリアを編集することができるということで導入してみた。

インストール

http://www.cas.cmc.osaka-u.ac.jp/~paoon/OriginalDoc/
上記よりインストール

設定

ツール->アドオン から mozex 選択

General タグ

Directory for temporary files にテンポラリディレクトリを指定
例)C:\WINDOWS\Temp
[Browse]ボタンで選択するのが簡単。

Textarea タグ

Edit textbox in UTF-8 にチェック
Text Editor
例)"C:\Program Files\Hidemaru\Hidemaru.exe" /fu8 %t
使用する外部のテキストエディタを[Browse]ボタンで選択
スペースが入っているディレクトリはエラーになるので “” で囲む。
[Browse]ボタンだと勝手にやってくれる。
/fu8 が UTF-8 で秀丸を開く起動オプション
%t は テキストエディタが使用するテンポラリファイル

HotKey を選択して Ctrl+E とキー入力すると Ctrl+E で起動できる。お好みで。

Firefox を再起動

念のため

気になった点

設定項目が勝手に書き換わっていたことがあったのでうまく動作しない場合は確認してみるとよいかも

使い方

textare で右クリック mozex->Edit Textarea で設定したエディタが起動
または、HotKey を設定しておけば設定したキーで起動する。ただし textarea が複数ある場合は選択画面が表示される。

エディタで編集して保存を押し、textareaをクリックすると保存した内容で更新される。
または、エディタは終了すると textarea が更新される。

CakePHP コントローラのflash メソッド

2

データを更新した後などに「更新しました」などのメッセージを簡単に出せるのがコントローラのflash メソッド。
コントローラで、
$this->flash('更新しました', '/users');
などとすることにより、メッセージを簡単に出せる。
2つ目の引数は飛び先URL を指定できる。

ちなみにこの flash メソッドは下記のようになっています。
/cake/libs/controller/controller.php

function flash($message, $url, $pause = 1) {
    $this->autoRender = false;
    $this->autoLayout = false;
    $this->set('url', $this->base . $url);
    $this->set('message', $message);
    $this->set('pause', $pause);
    $this->set('page_title', $message);

    if (file_exists(VIEWS . 'layouts' . DS . 'flash.thtml')) {
        $flash = VIEWS . 'layouts' . DS . 'flash.thtml';
    } elseif ($flash = fileExistsInPath(LIBS . 'view' . DS . 'templates' . DS . "layouts" . DS . 'flash.thtml')) {
    }
    $this->render(null, false, $flash);
}

上のソースを見ると分かるように、この flash メソッドのレイアウトは
$layout = "hoge";
とか指定しても指定したレイアウトでは表示されません。

flash メソッドでは flash.thtml というレイアウトを使用することしかできません。
/app/views/layouts/flash.thtml
を探してなければ、
/cake/libs/view/templates/layouts/flash.thtml
のデフォルトのレイアウトを使用します。

また、デフォルトの flash.thtml は

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $page_title?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php if(Configure::read() == 0) { ?>
<meta http-equiv="Refresh" content="<?php echo $pause?>;url=<?php echo $url?>"/>
<?php } ?>
<style><!--
P { text-align:center; font:bold 1.1em sans-serif }
A { color:#444; text-decoration:none }
A:HOVER { text-decoration: underline; color:#44E }
--></style>
</head>
<body>
<p><a href="<?php echo $url?>"><?php echo $message?></a></p>
</body>
</html>

のようになっていて、
DEBUG モードで DEBUG = 0 を指定していると meta タグを利用して勝手に画面遷移します。DEBUG モードが 0 以外の場合はメッセージをクリックすると指定したURLに画面遷移します。

非常にシンプルなレイアウトですので、使用するときは、
/app/views/layouts/flash.thtml
にコピーしてカスタマイズした方がよいでしょう。

Go to Top