在创建一个新网页时,要在相应的global.php文件中添加该网页的路由,并且在controller中添加相应的action。
路由代码:
'cat-types' => array(
'type' => 'segment',
'options' => array(
'route' => '/cat/:type_name/',
'constraints' => array(
'type_name' => '[a-zA-Z0-9_-]+'
),
'defaults' => array(
'controller' => 'Top10Inaction\Controller\index',
'action' => 'catProducts'
)
)
),
catProductsAction代码:
public function catProductsAction()
{
$type_name = $this->params()->fromRoute('type_name', null);
$sort = $this->getRequest()->getQuery('sort', null);
$industry = $this->getTypeCollection()->getIndustryByName($type_name);
$subject = $this->getSubjectCollection()->getSubjectsByIndustry($industry);
$type = $this->getTypeCollection()->getTypeByName($type_name);
$display_name = $type->display_name;
$default_sort = array('price','overall_score');
if($this->isMobile()) {
$this->layout('layout/mobile');
$view = new ViewModel(array(
));
$view->setTemplate('mobile/cat-products');
return $view;
} else {
$product_groups = array();
if(!(in_array($sort, $default_sort))) {
$sort = 'overall_score';
}
$sortby = array($sort => -1);
$condition = array('type_name' => $type_name);
$products = $this->getProductCollection()->getPaginator('product', array(
'condition' => $condition,
'sortby' => $sortby,
));
$products->setItemCountPerPage(0);
$totalItemCount = $products->getPages()->totalItemCount;
$view = new ViewModel(array(
'type_name' => $type_name,
'products' => $products,
'industry' => $industry,
'subject' => $subject,
'totalItemCount' => $totalItemCount,
'display_name' => $display_name,
));
$view->setTemplate('index/cat-products');
return $view;
}
}
上面的$view->setTemplate中的内容就是需要创建的cat-products.phtml文件,在其中写入布局之类的。
以上就是创建新网页的具体步骤。