目前正在使用cakephp创建一个拍卖网站。它有一个关于我们的菜单栏,请联系我们。我只创建了默认页面。所以我想创建这些页面。建议我如何创造。
答案 0 :(得分:7)
旧线程,但我在尝试在2.x中执行相同操作时发现了它。
杰克的回答是正确的,有一个小错字。它应该是
Router::connect('/about', array('controller' => 'pages', 'action' => 'display', 'about'));
希望这有助于其他人,就像我一样。
答案 1 :(得分:4)
在about.ctp
文件夹中创建/app/views/pages/
。
然后在Router::connect('/about', array('controller' => 'pages', 'action' => 'display', 'about'));
文件中添加/app/config/routes.php
。您应该可以在www.yoursite.com/about
答案 2 :(得分:2)
方法1:如果您想创建关于我们的内容页面,可以通过管理界面更改内容的隐私政策遵循以下步骤
Step1:更改pagesController
class PagesController extends AppController {
function beforeFilter() {
$this->Auth->allow('content');//to allow to be visible for non-logged in users, if you are using login system
parent::beforeFilter();
}
public function content($id = null, $layout = null, $theme=null) {
if ($layout) $this->layout = $layout;//if you are using mulitple layouts and themes and want to change it dynamicaly
if ($theme) $this->theme = $theme;
$this->set('content', $this->Page->find('first', array('conditions' => array('Page.id' => $id))));
$this->Page->id= $id;
$this->set('title_for_layout', $this->Page->field('title'));
}
}
第2步:添加包含所需字段的表格内容,例如ID,标题,内容,图片,主题,布局等。 第3步:在View / Pages中添加content.ctp
<div class="row innerPage">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="row userInfo">
<div class="col-xs-12 col-sm-12">
<h1 class=" text-left border-title"> <?php echo $content['Page']['title'];?> </h1>
<div class="w100 clearfix">
<?php echo $content['Page']['content'];?>
</div>
</div>
</div>
但是你可以根据需要改变html,我更喜欢bootstrap框架。
然后你可以用它作为
<?php echo $this->html->link("Terms of Services", array("controller" => "pages", "action" => "content", 5), array("class" => 'themeprimary','target'=>'_blank')) ?>
这将生成一个链接yoursite / pages / content / 5。 5是要显示详细信息的行的id。
如果您想要像yoursite / terms这样的链接,那么您还需要一个步骤。在routes.php中添加此行。
Router::connect('/terms', array('controller' => 'pages', 'action' => 'content',5));
方法2:您只需显示没有任何数据库的内容 第1步:只需在“视图/页面”下创建一个about.ctp,然后放置要显示的内容 第2步:更改您的pagesController。添加关于
的方法public function about($layout = null) {
$this->set('title_for_layout', 'About');
}
多数民众赞成。
答案 3 :(得分:2)
要链接到静态页面,您仍然使用PageController,但代码稍有变化。
这里是3.x版本中需要的代码
$routes->connect('/about', ['controller' => 'Pages', 'action' => 'display', 'about']);
您可以阅读有关新routing system here。
的更多信息我与cakephp没有任何关系。我添加了这个答案,因为我在3.0
中搜索如何执行此操作时发现了这篇文章答案 4 :(得分:0)
您可以将pages controller用于此目的。
使用APP/views/pages/
和about_us.ctp
等名称在contact_us.ctp
创建视图,您可以在网址上访问这些视图:
www.site.com/pages/about_us
然后,您可以通过路由更改这些URI的外观。