Хорошо - я выбрал atk4.2 по умолчанию для демонстрации.
Если вы добавите новую страницу со значениями по умолчанию следующим образом
<?php
class page_test extends Page {
function init() {
parent::init();
$p=$this;
$f=$p->add('MVCForm')->setModel('Customer');
}
}
?>
Я получаю следующее, и поля простираются по всей ширине страницы.
![введите здесь описание изображения](https://i.stack.imgur.com/aApFH.jpg)
Это связано с тем, что шаблон страницы по умолчанию занимает всю ширину и является ожидаемым.
Чтобы настроить форму, вы можете использовать функциональность представления, поэтому создайте представление в каталоге /lib/View с именем Centre.php и поместите в него следующий код.
<?php
class View_Centre extends View {
function init(){
parent::init();
}
function defaultTemplate() {
return array('view/centre');
}
}
?>
Затем создайте новый шаблон для представления в файле yoursite/templates/default/view с именем center.html и вставьте следующий HTML-код.
<div style='width:50%; margin: auto;'>
<?$Content?>
</div>
а затем на странице мы сначала добавляем представление и форму в представление, а не прямо на страницу.
<?php
class page_test extends Page {
function init() {
parent::init();
$p=$this;
$v=$p->add('View_Centre');
$f=$v->add('MVCForm')->setModel('Customer');
}
}
?>
и это приводит к следующей веб-странице
![введите здесь описание изображения](https://i.stack.imgur.com/Tm3Er.jpg)
Базовая форма ATK4 сама по себе является представлением, что означает, что вы можете стилизовать форму по своему усмотрению, например, если вы используете другой стиль формы, такой как описанный здесь вы можете сделать это, скопировав yoursite/atk4/atk4/templates/shared/form. html на yoursite/atk4/templates/shared.form.html и изменив вторую строку с
<?form?>
<div id="<?$_name?>" class="atk-form <?$class?>" style="<?$style?>">
<?$hint?>
<form class="<?$form_internal_class?>" id="<?$form_name?>" name="<?$form_name?>" action="<?$form_action?>" method="POST" <?$enctype?>>
<fieldset class="<?$fieldset?>">
to
<?form?>
<div id="stylized>" class="myform <?$class?>" style="<?$style?>">
<?$hint?>
<form class="<?$form_internal_class?>" id="<?$form_name?>" name="<?$form_name?>" action="<?$form_action?>" method="POST" <?$enctype?>>
<fieldset class="<?$fieldset?>">
Создайте новый файл form.css в yoursite/templates/default/css, который содержит стиль
Скопируйте yoursite/atk4/templates/shared/shared.html в yoursite/templates/shared/shared.html и добавьте дополнительный тег.
<?$css_include?>
чуть выше существующего
<?$js_include?>
и в Frontend.php пусть каждая страница найдет новый файл css.
$this->addLocation('templates',array(
'css'=>array(
'default/css',
),
));
$this->template->appendHTML('css_include','<link type="text/css" href="'.$this->api->locateURL('css','form.css').'" rel="stylesheet">');
что приводит к такой стилизованной форме
![введите здесь описание изображения](https://i.stack.imgur.com/sRjer.jpg)
person
Trevor North
schedule
17.07.2012