Преобразование представлений CodeIgniter в соответствии с макетом

Последний этап в создании нашего учебного сайта после проделанного ранее преобразование представлений CodeIgniter в соотвествии с макетом, т.е. изменений представлений так, чтобы они генерировали html-код, соответствующий макету.

Приступая к этому этапу буду исходить из предположения, что у вас есть разработанный сайт, и html макет дизайна (вёрстка в слоях и оформление в css). Пойти можно двумя путями:

  • внедрение php-кода в макет;
  • изменение представления для соответствия макету;

Оба варианта в принципе одно и тоже, просто начинаются с разных сторон. В одном вы дорабатываете макет, до нужного функционального состояния (из статической странички делаете динамическую), а в другом изменяете представление. Первый способ подходит лучше для ситуации, когда у вас есть готовый разработанный макет.

Напомню снова про кодировку. Кодировка содержимого сайта, а значит и макетов UTF-8, если где-то что-то напутается, будут проблемы с корректным отображением.

Чтобы превратить html-макет в наше представление, скопируйте код представления куда-либо (он нам будет нужен), и замените его кодом нашего макета. Теперь заменяйте нужные места кода php-вставками и остальными кусками кода из старого кода представления. Периодически проверяйте работоспособность.

Точнее объяснить не получится, так как дизайн у каждого из вас свой. Какой сверстали, такой и будет. Не советую слишком осложнять.

В качестве примера выложу то, что вышло у меня. css-файл выкладывать не буду, он тут совершенно ни к чему, в нём нет php-кода и в данной переделке не меняется.

ВНИМАНИЕ!!! Почитайте этот комментарий. Подобно тому. как меняется генерация ссылки на главную страницу, изменяется и привязка css-файла. Теперь ссылку на css-файл прописываем так:
<link type="text/css" rel="stylesheet" media="all" href="<?php echo base_url();?>style.css"/>
Сам style.css должен находится в корневой папке нашего сайта, то есть там же где .htaccess

Теперь код представления main_view.php до изменения:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Сайт на CodeIgniter.</title>

<link type="text/css" rel="stylesheet" media="all" href="style.css"/>

</head>

<body>

 

<h1><?php echo $heading;?></h1>

<?php

foreach ($query->result() as $row)

{

echo '<h2>' . $row->header . '</h2>';

echo '<p>'. $row->content . '...</p>';

echo anchor('page/view/'.$row->id, 'Читать далее');

}

echo '<p>'.anchor('page/add', 'Добавить страницу').'</p>';

?>

</body>

</html>

После совмещения с макетом код main_view.php сильно увеличился в объёме, таков мой макет, у Вас может получится сильно короче. Смотрим, читаем:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Сайт на CodeIgniter.</title>

<link type="text/css" rel="stylesheet" media="all" href="<?php echo base_url();?>style.css"/>

</head>

<body>

<div id="container">

<div id="header">

<?php

echo '<a href="'. base_url() .'">';

echo '<div id="mission">';

echo '</div>';

echo '</a>';

?>

<?php

echo '<a href="'. base_url() .'">';

echo '<div id="mud">';

echo '</div>';

echo '</a>';

?>

<div class="clear-block"></div>

</div>

<div id="middle">

<div id="left">

<div class="block">Меню</div>

<div class="block-content">

<ul class="menu">

<li><a href="<?=base_url();?>">Главная</a></li>

<li><?php echo anchor('page/add', 'Добавить страницу'); ?></li>

</ul>

</div>

<div class="block block-even">Ссылки</div>

<div class="block-content">

<ul class="menu">

<li><a href="http://ubuntucom">Ubuntu</a></li>

<li><a href="http://codeignitercom">CodeIgniter</a></li>

<li><a href="http://drupalcom">Drupal</a></li>

</ul>

</div>

</div>

<div id="main">

<?php

foreach ($query->result() as $row)

{

echo '<h2>' . $row->header . '</h2>';

echo '<div class="node content">';

echo '<p>'. $row->content . '...</p>';

echo anchor('page/view/'.$row->id, 'читать далее');

echo '</div>';

}

?>

</div>

<div class="clear-block"></div>

</div>

<div id="footer">

<p>Защитим свои права, Товарищи!!</p>

</div>

</div>

</body>

</html>

Вот так.. есть мысль выложить сайт на обозрение и покликивание, но опасаюсь ботов.. Мы ведь и так обойдемся правильно? До недавнего времени у меня была отключена капча на регистрацию, так я случайно обнаружил около 200 зарегистрированных пользователей... хоть бы один живой человек:)

Надеюсь всё у Вас получится. Удачи!!

вернуться назад