スマイリーヘルパー¶
スマイリーヘルパーのファイルは、スマイリー(顔文字) を管理できる関数で構成されています。
重要
スマイリーヘルパーは非推奨で、利用されるべきではありません。 現在は、後方互換のためのみに維持されているものです。
概要¶
スマイリーヘルパーは、 :-) [ 訳注: 日本の顔文字の(^^)に相当 ] のようなプレーンテキストの顔文字をもとに、 のような画像の表現に変換して描画します。
また、クリックしたときにフォームフィールドに挿入できる顔文字画像のセッ トも表示できます。 たとえば、ユーザがコメントをつけられるブログを作成 しているとき、顔文字のセットをコメントフォームの下に表示させることがで きます。 ユーザはセットしたい顔文字をクリックでき、 JavaScript で選択した顔文字がフォームフィールドに置かれます。
クリッカブルスマイリーのチュートリアル¶
以下は、フォームフィールドの下にクッリクできる顔文字を作成する方法を説 明した例です。この例では、 まず、顔文字の画像をダウンロードして インストールする必要があります。そのあと、説明通りにコントローラとビュ ーを作成します。
重要
始める前に、 顔文字をダウンロード して、 サーバの パブリックにアクセスできる場所に設置してください。また、このヘルパーは、 application/config/smileys.php にある顔文字置き換え設定の配列が必要になります
コントローラ¶
application/controllers/ フォルダの中に、Smileys.php という名前のファイルを作成し、その中に下記のコードを書いて下さい。
重要
get_clickable_smileys() 関数で、URL を smiley フォルダの場所を指すように変更します。
スマイリーヘルパーのほか、 HTML テーブルクラス を使っているのがわかると思います。:
<?php
class Smileys extends CI_Controller {
public function index()
{
$this->load->helper('smiley');
$this->load->library('table');
$image_array = get_clickable_smileys('http://example.com/images/smileys/', 'comments');
$col_array = $this->table->make_columns($image_array, 8);
$data['smiley_table'] = $this->table->generate($col_array);
$this->load->view('smiley_view', $data);
}
}
application/views/ フォルダの中に、 smiley_view.php という名前のファイルを作成し、その中に下記のコードを書いてください:
<html>
<head>
<title>Smileys</title>
<?php echo smiley_js(); ?>
</head>
<body>
<form name="blog">
<textarea name="comments" id="comments" cols="40" rows="4"></textarea>
</form>
<p>Click to insert a smiley!</p>
<?php echo $smiley_table; ?> </body> </html>
When you have created the above controller and view, load it by visiting http://www.example.com/index.php/smileys/
</body>
</html>
フィールドの別名¶
ビューへの変更を行う際に、コントローラにフィールド ID を持たせていては扱いにくい 場合があります。このような問題に対処するため、ビューの中の特定の ID に 関連づけようとしているスマイリーリンクに、一般的な名前を付けることができます。
$image_array = get_smiley_links("http://example.com/images/smileys/", "comment_textarea_alias");
別名とフィールド ID を関連付けるため、smiley_js() 関数に それら両方を渡します。:
$image_array = smiley_js("comment_textarea_alias", "comments");
利用できる機能¶
- get_clickable_smileys($image_url[, $alias = ''[, $smileys = NULL]])¶
パラメータ: - $image_url (string) – 顔文字画像フォルダの URL パス
- $alias (string) – フィールドの別名
返り値: スマイリーをすぐに使うことができる配列
返り値の型: array
クッリク可能なリンクで囲まれた顔文字画像の配列を返します。 顔文字画像のフォルダの URL と、 フィールドの ID か別名を 指定する必要があります。
例:
$image_array = get_clickable_smileys('http://example.com/images/smileys/', 'comment');
- smiley_js([$alias = ''[, $field_id = ''[, $inline = TRUE]]])¶
パラメータ: - $alias (string) – フィールドの別名
- $field_id (string) – フィールド ID
- $inline (bool) – インラインでスマイリーを挿入するかどうか
返り値: スマイリーが表示可能なの JavaScript のコード
返り値の型: string
顔文字画像をクリックし、フォームフィールドに挿入可能にする JavaScript を生成します。 スマイリーリンクを生成する際に、ID の代わりに別名を指定する場合、 関数に、別名とそれに関連するフォーム ID を渡す必要があります。 この関数は、Web ページの <head> 領域に設置するように設計されています。
例:
<?php echo smiley_js(); ?>
- parse_smileys([$str = ''[, $image_url = ''[, $smileys = NULL]]])¶
パラメータ: - $str (string) – スマイリーコードを含む文字列
- $image_url (string) – 顔文字画像フォルダの URL パス
- $smileys (array) – スマイリーの配列
返り値: パースされたスマイリー
返り値の型: string
テキストを入力として、プレーンテキストの顔文字を同じ種類の画像の顔文字 に変換します。 第1引数には文字列を、第2引数には顔文字画像フォルダの URL を指定する必要があります。
例:
$str = 'Here are some smileys: :-) ;-)'; $str = parse_smileys($str, 'http://example.com/images/smileys/'); echo $str;