pachanga
Новичок
На счет второй задачи, где, я так понимаю, требуется облегчить работу с формами. Я уже приводил, как это будет выглядить примерно в MACRO, я сейчас тебе еще покажу, как будет выглядеть в контроллере(на самом деле, эта схема у нас уже работает с шаблонизатором WACT, портировать ее на MACRO не должно составить труда, если интересно, можно почитать здесь http://wiki.limb-project.com/doku.php?id=limb3:ru:tutorials:basic).Автор оригинала: С.
pachanga, не хватает реализации второй задачи также хорошо.
Вот, шаблон для создания новостей:
Код:
<h1>Create news</h1>
{{form:errors form='news_form' target='$errors'/}}
{{list from='$errors' as='$item'}}
<ul>
{{list:item}}
<li class='error'>{$item.message}</li>
{{/list:item}}
</ul>
{{/list}}
{{form id='news_form'}}
<label for="title">Title</label> :
{{input name='title' type='text' size='60'/}}<br/>
<label for="date">Date</label> :
{{datetime name='date'/}}<br/>
<label for="annotation">Annotation</label> :
{{textarea name='annotation' rows='2' cols='40'}}{{/textarea}}<br/>
<label for="content">Content</label> :
{{textarea name='content' rows='5' cols='40'}}{{/textarea}}<br/>
<input type='submit' value='Create'/>
{{/form}}
Код:
require_once('src/model/News.class.php');
class NewsController extends lmbController
{
function doCreate()
{
if(!$this->request->hasPost())
return;
$news = new News();
$news->import($this->request);
$this->useForm('news_form');
$this->setFormDatasource($news);
if($news->trySave($this->error_list))
$this->redirect();
}
}
Насколько теперь MACRO приблизился к "идеалу"?