Spec-Zone.ru › CodeIgniter 3

Смайлик-помощник

Файл 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API