Помощник Smiley
Файл помощника Smiley содержит функции, которые позволят вам управлять смайликами (эмотиконами).
Загрузка этого помощника
Этот помощник загружается следующим кодом:
$this->load->helper('smiley');
Обзор
Помощник Smiley принимает текстовые смайлики, вроде :-), и возвращает их в виде изображений, например
Он также позволяет вам отображать набор кликабельных смайликов, при нажатии на которые соответствия будут вставлены в поле формы. Например, если вы имеете блог, в котором позволяете пользователям оставлять комментарии, то вы можете показать набор смайликов следом за формой. Пользователи могут кликать на смайлики, и с некоторой помощью JavaScript они будут помещены в поле формы.
Учебник по кликабельным смайликам
Вот пример, демонстрирующий, как вы можете создать набор кликабельных смайликов, следом за полем формы. Этот пример требует, чтобы вы сперва скачали и установили изображения смайликов, и создали контроллер и отображение, как показано ниже.
Важно: Перед тем как вы начнете, пожалуйста загрузите картинки смайликов, и поместите их в публично доступное место на вашем сервере. Этот помощник также предполагает, что вы имеете массив со списком смайликов, располагающийся в application/config/smileys.php
Контроллер
В вашей директории application/controller создайте файл smileys.php и поместите код, как показано ниже.
Важно: Измените URL в функции get_clickable_smileys() так, чтобы он указывал на вашу директорию smiley.
Обратите внимание, что помощник smiley использует Класс Table.
В вашей директории application/views создайте файл smiley_view.php и поместите в него код:
Когда вы создадите контроллер и отображение, загрузите их, посетив http://www.example.com/index.php/smileys/
Алиасы полей
При внесении изменений в отображение может быть неудобным задавать идентификатор поля в контроллере. Чтобы обойти это, вы можете дать ссылкам смайликов имя, которое будет связано с определенным идентификатором в отображении.
$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");
Примечание: использование этой функции без второго параметра, в комбинации c 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;
Пример blog.php:
(Из ссылки из документации качаем смайлики и кидаем их в папку например "smileys" в корне сайта)
<?php
class Blog extends CI_Controller {
function index()
{
$this->load->helper('smiley');
$this->load->library('table');