Помощник Smiley
Помощник Smiley содержит функции, которые помогут вам управлять смайликами.
Загрузка этого помощника
$this->load->helper('smiley');
Обзор
Помощник Smiley имеет рендерер, который принимает смайлики обычным текстом, вроде :-), и превращает их в изображения, например
Он также позволит вам показать набор смайликов, на которые можно кликать, чтобы вставить смайлик в форму. Например, если вы имеете блог, который позволяет пользователям комментировать, вы можете вставить смайлики следом за формой комментария. Ваши пользователи могут кликать на смайлики и при помощи 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;