스마일리 Smiley Helper

스마일리 헬퍼는 스마일리(이모티콘)을 관리할 수 있도록 해줍니다.

Important

스마일리 헬퍼는 DEPRECATED 되었습니다. 그리고 사용하실 수 없습니다. 이전 버전과의 호환만을 위해 유지되고 있습니다.

헬퍼 로딩 Loading this Helper

헬퍼는 아래와 같이 로드합니다:

$this->load->helper('smiley');

개요 Overview

스마일리는 텍스트 이모티콘(예 : :-) )을 받아서 이미지 이모티콘(smile!)으로 렌더링 해줍니다.

또한 한 세트의 스마일리를 표시한 후 사용자가 클릭하면 원하는 위치에 삽입되도록 할 수도 있습니다. 예를 들어, 만약 여러분의 블로그에서 사용자 입력을 받는다면, 입력폼 옆에 스마일리를 보여줄 수 있습니다. 사용자가 원하는 스마일리를 클릭하면, 자바스크립트를 통해서 폼 안에 삽입됩니다.

클릭 가능한 스마일리 사용법 Clickable Smileys Tutorial

아래 예제는 폼 옆에 클릭 가능한 스마일리 세트를 만드는 법을 보여줍니다. 먼저 스마일리 이미지를 다운로드하여 설치하셔야 합니다. 그후 컨트롤러와 뷰 파일을 설명된대로 만듭니다.

Important

시작하기 전에, 스마일리를 다운받고 서버에서 일반적으로 접근가능한 곳에 저장하세요. 그리고 스마일리 변환배열이 application/config/smileys.php 파일에 있어야 합니다.

컨트롤러 The Controller

application/controllers/ 폴더에서, smileys.php 파일을 생성한 후 아래의 코드를 삽입하세요.

Important

get_clickable_smileys() 함수의 url 을 여러분의 스마일리(smiley) 폴더로 바꾸세요.

아시다시피 본예제에서는 스마일리 헬퍼 외에 테이블클래스(Table Class)도 사용합니다:

<?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>

Field Aliases

When making changes to a view it can be inconvenient to have the field id in the controller. To work around this, you can give your smiley links a generic name that will be tied to a specific id in your view.

$image_array = get_smiley_links("http://example.com/images/smileys/", "comment_textarea_alias");

To map the alias to the field id, pass them both into the smiley_js() function:

$image_array = smiley_js("comment_textarea_alias", "comments");

사용 가능한 함수들 Available Functions

get_clickable_smileys($image_url[, $alias = ''[, $smileys = NULL]])
인수:
  • $image_url (string) – URL path to the smileys directory
  • $alias (string) – Field alias
반환값:

An array of ready to use smileys

반환형:

array

클릭 가능한 링크로 감싸진 스마일리 이미지의 배열을 리턴합니다. 스마일리 폴더의 URL 을 첫 번째 파라미터로 넘겨줘야 합니다.

예제:

$image_array = get_clickable_smileys('http://example.com/images/smileys/', 'comment');
smiley_js([$alias = ''[, $field_id = ''[, $inline = TRUE]]])
인수:
  • $alias (string) – Field alias
  • $field_id (string) – Field ID
  • $inline (bool) – Whether we’re inserting an inline smiley
반환값:

Smiley-enabling JavaScript code

반환형:

문자열

이미지가 클릭되었을 때 폼에 삽입될 수 있도록 자바스크립트를 생성합니다. 첫 번째 파라미터는 폼의 이름을 넘겨줘야 합니다. 이 함수는 <head> 영역에 위치하도록 디자인 되어있습니다.

예제:

<?php echo smiley_js(); ?>
parse_smileys([$str = ''[, $image_url = ''[, $smileys = NULL]]])
인수:
  • $str (string) – Text containing smiley codes
  • $image_url (string) – URL path to the smileys directory
  • $smileys (array) – An array of smileys
반환값:

Parsed smileys

반환형:

문자열

텍스트를 입력받아 그에 대응되는 이미지로 변환시켜줍니다. 첫 번째 파라미터는 텍스트를, 두 번째 파라미터는 스마일리 폴더의 URL 을 넘겨줍니다:

예제:

$str = 'Here are some smileys: :-)  ;-)';
$str = parse_smileys($str, 'http://example.com/images/smileys/');
echo $str;