Хелпер HTML
Хелпер HTML содержит функции, помогающие работать с HTML.
Загрузка хелпера
Хелпер загружается при помощи следующего кода:
$this->load->helper('html');
Доступны следующие функции:
br()
Генерирует тег окончания строки (<br />) указанное количество раз. Пример:
echo br(3);
Будет выведено: <br /><br /><br />
heading()
Позволяет создавать HTML <h1> теги. Первый параметр содержит текст заголовка, а второй глубину вложенности. Пример:
echo heading('Приветствуем!', 3);
Будет сгенерировано: <h3>Приветствуем!</h3>
img()
Позволяет вам создать тег <img />. Первый параметр содержит путь к картинке. Пример:
echo img('images/picture.jpg');
// получим <img src="http://site.com/images/picture.jpg" />
Так же можно указать второй параметр TRUE/FALSE который укажет надо ли добавлять значение $config['index_page'] в качестве префикса.
echo img('images/picture.jpg', TRUE);
// получим <img src="http://site.com/index.php/images/picture.jpg" />
Кроме того в img() может быть передан ассоциативный массив, для детального указания всех параметров.
$image_properties = array(
'src' => 'images/picture.jpg',
'alt' => 'Я демонстрирую как можно съесть 4 ломтика пицы за раз',
'class' => 'post_images',
'width' => '200',
'height' => '200',
'title' => 'Это довольно глубокая ночь',
'rel' => 'lightbox',
);
img($image_properties);
// <img src="http://site.com/index.php/images/picture.jpg" alt="Я демонстрирую как можно съесть 4 ломтика пицы за раз" class="post_images" width="200" height="200" title="Это довольно глубокая ночь" rel="lightbox" />
link_tag()
Позволяет создать тег <link />. Это необходимо для указания стилей и прочих ссылок.
Обязателен первый параметр href, и опциональны параметры rel, type, title, media and index_page. index_page устанавливается в TRUE/FALSE
чтобы сообщить о необходимости включения $config['index_page'] в путь в качестве префикса.
echo link_tag('css/mystyles.css');
// gives <link href="http://site.com/css/mystyles.css" rel="stylesheet" type="text/css" />
Еще пример:
echo link_tag('favicon.ico', 'shortcut icon', 'image/ico');
// <link href="http://site.com/favicon.ico" rel="shortcut icon" type="image/ico" />
echo link('feed', 'alternate', 'application/rss+xml', 'Мой RSS Feed');
// <link href="http://site.com/feed" rel="alternate" type="application/rss+xml" title="Мой RSS Feed" />
Так же в функцию можно передать ассоциативный массив, чтобы точно контролировать все атрибуты и значения.
$link = array(
'href' => 'css/printer.css',
'rel' => 'stylesheet',
'type' => 'text/css',
'media' => 'print'
);
echo link_tag($link);
// <link href="http://site.com/css/printer.css" rel="stylesheet" type="text/css" media="print" />
nbs()
Генерирует непереносимый пробел ( ) в указанном количестве. Пример:
echo nbs(3);
Из примера получим:
ol() and ul()
Позволяет вам генерировать упорядоченные или неупорядоченные списки HTML из простых или многомерных массивов. Пример:
$this->load->helper('html');
$list = array(
'red',
'blue',
'green',
'yellow'
);
$attributes = array(
'class' => 'boldlist',
'id' => 'mylist'
);
echo ul($list, $attributes);
Приведенный выше код выведет этот текст:
<ul class="boldlist" id="mylist">
<li>red</li>
<li>blue</li>
<li>green</li>
<li>yellow</li>
</ul>
Вот более сложный пример с использованием многомерного массива:
$this->load->helper('html');
$list = array(
'colors' => array(
'red',
'blue',
'green'
),
'shapes' => array(
'round',
'square',
'circles' => array(
'ellipse',
'oval',
'sphere'
)
),
'moods' => array(
'happy',
'upset' => array(
'defeated' => array(
'dejected',
'disheartened',
'depressed'
),
'annoyed',
'cross',
'angry'
)
)
);
echo ul($list);
Приведенный код выведет следующее:
<ul class="boldlist" id="mylist">
<li>colors
<ul>
<li>red</li>
<li>blue</li>
<li>green</li>
</ul>
</li>
<li>shapes
<ul>
<li>round</li>
<li>suare</li>
<li>circles
<ul>
<li>elipse</li>
<li>oval</li>
<li>sphere</li>
</ul>
</li>
</ul>
</li>
<li>moods
<ul>
<li>happy</li>
<li>upset
<ul>
<li>defeated
<ul>
<li>dejected</li>
<li>disheartened</li>
<li>depressed</li>
</ul>
</li>
<li>annoyed</li>
<li>cross</li>
<li>angry</li>
</ul>
</li>
</ul>
</li>
</ul>