HTML
Класс-помощьник по работе с HTML.
Методы
html::block()
Надстройка для шаблонизатором. Служит для установки и получение блоков с текстом из PHP части в HTML игнорируя шаблонизатор. Таким образом блоки можно ставить и получать из любого места, а не только в контексте шаблонизатора и после его работы.
То есть для этого создавался, но можно использовать и любом ином контексте.
// устанавливаем блок
html::block('name', 'value1');
// с приоритетом
html::block('name', 'value2', 1);
print_r(html::block('name'));
/* Array
(
[0] => value2
[1] => value1
) */
html::msg()
Флэш-сообщения "сверкнув" (слово "засветится" лучше передаёт суть) единожды не повторяются вновь. То есть каждое установленное сообщение после получения стирается. Сообщения можно ставить на одной странице, а получать на другой (работают через сессии).
Пример
// устанавливаем сообщение
html::msg('error', 'В базе данных уже существует запись с таким ID.');
// с приоритетом
html::msg('error', 'Новость добавить не удалось.', 1);
print_r(html::msg('error'));
/* Array
(
[0] => Новость добавить не удалось.
[1] => В базе данных уже существует запись с таким ID.
) */
html::dropdown()
Создаёт поля типа select из массива.
Пример
$letters = range('A', 'D');
print_r(html::dropdown('field1', $array));
$array = array('Letters' => range('A', 'D'), 'Numbers' => range(1, 4));
print_r(html::dropdown('field2', $array));
Поле field1: . Поле field2: .
html::js()
Подключает либо выводит JavaScript код.
Пример
// <script type="text/javascript">var = i;</script>
print_r(html::js('var = i;'));
// <script type="text/javascript" src="path/to/file.js"></script>
print_r(html::js('path/to/file.js'));
html::css()
Подключает либо выводит CSS код.
Пример
// <style type="text/css">body { color: #fff; }</style>
print_r(html::css('body { color: #fff; }'));
// <link type="text/css" href="path/to/file.css" rel="stylesheet" />
print_r(html::css('path/to/file1.css'));
// <link type="text/css" media="print" href="path/to/file.css" rel="stylesheet" />
print_r(html::css('path/to/file2.css', 'print'));
Вторым параметром можно задать атрибут media.
html::highlight()
Подсвечивает искомое слово в строке.
$find = 'травы';
$text = 'У нас в распоряжении оказалось две сумки травы, семьдесят пять шариков мескалина...';
// [...] две сумки <span class="highlight">травы</span>, семьдесят пять [...]
print_r(html::highlight($find, $text));
html::quotes()
Подсвечивает разными цветами а-ля почтовые цитаты.
$test = '>> Это не лошадь, это дура!
> Какая же это дура, это лошадь.
Не лошадь, а дура!';
print_r(html::quotes($test));
/* <span class="quotes_2">>> Это не лошадь, это дура!</span>
<span class="quotes_1">> Какая же это дура, это лошадь.</span>
Не лошадь, а дура! */
html::form_persister()
Метод-обёртка класса HTML_FormPersister, полную информацию по которому можно найти на официальном сайта.
html::grid()
Строит HTML-таблицу по таблице в БД.
Пример
function _songs($row){
$result = array();
foreach ($row['songs'] as $song)
$result[] = '<a href="#songs/'.$song['id'].'">'.$song['title'].'</a>';
return join(', ', $result);
}
$artist = new Artist;
$artist->with('id', 'name', 'songs.id', 'songs.title');
$grid = html::grid($artist, array(
'id' => array('ID', '<a href="#id/%id">%id</a>'),
'name' => 'Исполнитель',
'songs.title' => array('Композиции', '_songs')
));
echo '<table>';
echo $grid->head();
echo $grid->filter();
echo $grid->body();
echo $grid->pager();
echo '</table>';
// или
// echo '<table>'.$grid.'</table>';
| 10 | Martina Topley-Bird | Sandpaper Kisses |
| 9 | Nina Simone | No Good Man |
| 8 | Angelo 'Badalamenti' | Lucas' Main Theme, Carla's Main Theme |
| 7 | Leee John | Just an Illusion |
| 6 | Society's Bag | Let it Crawl |
| 5 | Bobby Byrd | Try it Again |
| 4 | Patrice Rushen | Hang It Up |
| 3 | Ben E. King | Street Tough |
| 2 | Teddy Pendergrass | Love TKO |
| 1 | Theory of a Dead Man | Santa Monica, Say Goodbye, No Way Out, No Surprise |
| [тут список страниц] | ||
Метод получает поля, формирует таблицу, строит фильтры или упрощает их до select'а, как в примере выше. Что немаловажно, настраивать всё очень просто: в примере использованы все типы настроек.