CodeIgniter User Guide Version 2.0.0


Помощник Smiley

Помощник Smiley содержит функции, которые помогут вам управлять смайликами.

Загрузка этого помощника

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

Обзор

Помощник Smiley имеет рендерер, который принимает смайлики обычным текстом, вроде :-), и превращает их в изображения, например smile!

Он также позволит вам показать набор смайликов, на которые можно кликать, чтобы вставить смайлик в форму. Например, если вы имеете блог, который позволяет пользователям комментировать, вы можете вставить смайлики следом за формой комментария. Ваши пользователи могут кликать на смайлики и при помощи JavaScript они будут вставлены в поле формы.

Учебник по кликабельным смайликам

Вот пример, демонстрирующий как вы можете создать набор кликабельных смайликов следом за полем формы. Этот пример требует, чтобы вы сперва загрузили и установили изображения смайликов, затем создали контроллер и отображение, как показано ниже.

Важно: Перед тем, как начать, пожалуйста, загрузите изображения смайликов и поместите их в публично доступную директорию на вашем сервере. Этот помощник также предполагает, что доступен массив замен, расположенный в application/config/smileys.php

Контроллер

В вашей директории application/controllers/ создайте файл smileys.php и поместите в него код ниже.

Важно: Замените URL в функции get_clickable_smileys(), чтобы он указывал на вашу директорию со смайликами.

Обратите внимание, что мы также используем класс Table.

В вашей директории application/views/, создайте файл с названием smiley_view.php, и поместите в него этот код:

Когда вы создадите контоллер и отображение, загрузите их, посетив http://www.example.com/index.php/smileys/

Алиасы полей

При внесении изменений в отображение, возможно, неудобно иметь поле id в контроллере. Чтобы обойти эту проблему, вы можете дать вашим ссылкам смайликов название, которое будет связано с определенным идентификатором.

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

Чтобы сопоставить алиас идентификатору поля, передайте их в функцию smiley_js():

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

Справка по функциям

get_clickable_smileys()

Возвращает массив, содержащий изображения ваших смайликов, вписанные в кликабельные ссылки. Вы должны передать URL к вашей директории со смайликами и идентификатор, или алиас поля.

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

Примечание: Использование этой функции без второго параметра, в комбинации с js_insert_smiley не рекомендуется.

smiley_js()

Генерирует JavaScript, который позволяет изображениям быть кликабельными, и вставлять фрагменты в поле формы. Если вы передали алиас вместо идентификатора, вы должны передать алиас и соответствующий идентификатор формы в функцию. Эта функция предназначена для размещения в части <head> вашей веб-страницы.

<?php echo smiley_js(); ?>

Примечание: Эта функция заменяет устаревшую js_insert_smiley.

parse_smileys()

Принимает строку текста на вход, и заменяет текстовые смайлики изображениями. Первый параметр должен содержать вашу строку, второй — URL к директории смайликов:

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