Смайлик-помощник
Файл Smiley Helper содержит функции, которые позволяют управлять смайликами (эмотиконами).
Важно
Смайлик-помощник устарел и не должен использоваться. Он поддерживается только для обратной совместимости.
Загрузка этого помощника
Этот помощник загружается с помощью следующего кода:
$this->load->helper('smiley');
Обзор
Смайлик-помощник имеет рендерер, который преобразует обычные текстовые смайлики, такие как :-) в графическое представление, например,
Он также позволяет отображать набор изображений смайликов, которые при нажатии будут вставлены в поле формы. Например, если у вас есть блог, который позволяет пользователям комментировать, вы можете отобразить смайлики рядом с формой комментариев. Ваши пользователи могут нажать на нужный смайлик, и с помощью JavaScript он будет помещён в поле формы.
Инструкции по использованию кликабельных смайликов
Вот пример, демонстрирующий, как можно создать набор кликабельных смайликов рядом с полем формы. Для этого примера вам необходимо предварительно загрузить и установить изображения смайликов, а затем создать контроллер и представление, как описано.
Важно
Прежде чем начать, пожалуйста, скачайте изображения смайликов и поместите их в общедоступное место на вашем сервере. Этот помощник также предполагает, что у вас есть массив замены смайликов, расположенный по адресу application/config/smileys.php
Контроллер
В каталоге application/controllers/ создайте файл под названием Smileys.php и поместите в него приведенный ниже код.
Важно
Измените URL-адрес в функции get_clickable_smileys() ниже, чтобы он указывал на папку со смайликами.
Вы заметите, что помимо помощника смайликов, мы также используем Класс таблицы:
<?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>
Псевдонимы полей
При внесении изменений в представление может быть неудобно использовать идентификатор поля в контроллере. Чтобы обойти эту проблему, вы можете присвоить ссылкам на смайлики общее имя, которое будет связано с конкретным идентификатором в представлении.
$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($image_url[, $alias = ''[, $smileys = NULL]]) -
Параметры: - $image_url (строка) – Путь к URL-адресу каталога со смайликами
- $alias (строка) – Псевдоним поля
Возвращает: Массив готовых к использованию смайликов
Тип возвращаемого значения: массив
Возвращает массив, содержащий ваши изображения смайликов, обернутые в кликабельную ссылку. Вы должны указать URL-адрес папки со смайликами и идентификатор поля или псевдоним поля.
Пример:
$image_array = get_clickable_smileys('http://example.com/images/smileys/', 'comment');
-
smiley_js([$alias = ''[, $field_id = ''[, $inline = TRUE]]]) -
Параметры: - $alias (строка) – Псевдоним поля
- $field_id (строка) – Идентификатор поля
- $inline (логическое) – Вставлять ли смайлик в строку
Возвращает: JavaScript-код для поддержки смайликов
Тип возвращаемого значения: строка
Генерирует JavaScript-код, который позволяет нажимать на изображения и вставлять их в поле формы. Если вы указали псевдоним вместо идентификатора при создании ссылок на смайлики, вам необходимо передать псевдоним и соответствующий идентификатор формы в функцию. Эта функция предназначена для размещения в области <head> вашей веб-страницы.
Пример:
<?php echo smiley_js(); ?>
-
parse_smileys([$str = ''[, $image_url = ''[, $smileys = NULL]]]) -
Параметры: - $str (строка) – Текст, содержащий коды смайликов
- $image_url (строка) – Путь к URL-адресу каталога со смайликами
- $smileys (массив) – Массив смайликов
Возвращает: Обработанные смайлики
Тип возвращаемого значения: строка
Принимает строку текста в качестве входных данных и заменяет любые содержащиеся в ней текстовые смайлики на их графические аналоги. Первый параметр должен содержать вашу строку, а второй – URL-адрес вашей папки со смайликами.
Пример:
$str = 'Here are some smileys: :-) ;-)'; $str = parse_smileys($str, 'http://example.com/images/smileys/'); echo $str;
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/helpers/smiley_helper.html