CakePHP加载默认控制器
我想为一个网站写一个控制器,一个模型和一个视图。我编写了它,并将其添加到routes.php,但它加载根路径内容控制器。它不会显示任何错误,只是重定向到根目录。我使用CakePHP的1.1.16.5421版本 这是my routes.php:CakePHP加载默认控制器,cakephp,Cakephp,我想为一个网站写一个控制器,一个模型和一个视图。我编写了它,并将其添加到routes.php,但它加载根路径内容控制器。它不会显示任何错误,只是重定向到根目录。我使用CakePHP的1.1.16.5421版本 这是my routes.php: $Route->connect('/', array('controller' => 'contents')); $Route->connect('/services', array('controller' => 'content
$Route->connect('/', array('controller' => 'contents'));
$Route->connect('/services', array('controller' => 'contents', 'action' => 'services'));
$Route->connect('/kapcsolat', array('controller' => 'contents', 'action' => 'contact_us'));
$Route->connect('/rolunk', array('controller' => 'contents', 'action' => 'about'));
$Route->connect('/privacy-notes', array('controller' => 'contents', 'action' => 'show', 1));
$Route->connect('/conditions-of-use', array('controller' => 'contents', 'action' => 'show', 2));
$Route->connect('/vasarlasi_folyamat', array('controller' => 'contents', 'action' => 'show', 3));
$Route->connect('/login', array('controller' => 'users', 'action' => 'login'));
$Route->connect('/logout', array('controller' => 'users', 'action' => 'logout'));
$Route->connect('/register', array('controller' => 'users', 'action' => 'register'));
$Route->connect('/my_account', array('controller' => 'users', 'action' => 'my_account'));
$Route->connect('/products/special', array('controller' => 'products', 'action' => 'show_special'));
$Route->connect('/products/new', array('controller' => 'products', 'action' => 'show_new'));
$Route->connect('/advanced_search', array('controller' => 'products', 'action' => 'advanced_search'));
$Route->connect('/gallery', array('controller' => 'contents', 'action' => 'show', 14));
$Route->connect('/gallery', array('controller' => 'contents', 'action' => 'show', 14));
$Route->connect('/ajandek', array('controller' => 'ajandek', 'action' => 'toXML'));
这是我的控制器:
class AjandekController extends AppController{
var $name = 'ajandek';
var $helpers = array('Html');
var $uses = array('ajandek');
public function beforeFilter() {
parent::beforeFilter();
}
public function toXML($id=null){
if ($id){
$this->loadModel('AjandekModel');
$this->set('ajandek', $this->AjandekModel->byID($id));
}
}
}
模型:
class AjandekModel extends AppModel{
var $name="products";
public function byID($id=null){
if ($id){
return $this->findAll(array(
'id'=>$id
);
}
}
}
以下是我的观点:
<?xml version="1.0" encoding="UTF-8"?>
<products>
<?php
foreach ($content as $item){
?>
<product>
<product_id><?php echo $item['ajandek']['id']; ?></product_id>
<name><![CDATA[]]></name>
<redirect_url><![CDATA[]]></redirect_url>
<image_url><?php echo $item['ajandek']['image']; ?></image_url>
<image_url_2></image_url_2>
<image_url_3></image_url_3>
<price><?php echo $item['ajandek']['price']; ?></price>
<old_price></old_price>
<discount_percent></discount_percent>
<description><![CDATA[]]></description>
<category_id></category_id>
<product_tags>
<ferfi></ferfi>
<no></no>
<gyerek></gyerek>
<felnott></felnott>
<idos></idos>
</product_tags>
</product>
<?php
}
?>
</products>
我希望有人能帮我解决这个问题 如果你能指出隐藏在…后面的路线就好了。。。。另外,请始终提及您的确切CakePHP版本!我把遗漏的信息添加到问题中CakePHP1.1?真正地这对我来说太老了,对不起,我不知道它的来龙去脉。但是,如果其他路由工作正常且不干扰添加的路由,则可能是AppController::beforeFilter中的某个内容(假设它实际到达Ajandek控制器),或者可能是AjandekController中的大小写::$name/$uses我希望字符串必须以大写字母开头。我建议进行一些调试,例如在这里和那里添加输出,以检查它在执行控制器操作的过程中到底从何处退出。