Yii2不能调用动作函数?

问题描述 投票:0回答:1

我在这里面临一个非常奇怪的错误。我试图在我的控制器中调用一个动作,但它导致404页面。

我的模块叫admin,控制器叫Product。代码如下

class ProductController extends Controller
{


public function actionIndex()
{
    $session = Yii::$app->session;
    if($session->has('user'))
    {
        $this->layout="admin-layout";
        $numbers= UserPurchasedNumber::find()->all();
        return $this->render('index',["number"=>$numbers]);
    }
    else
    {
         return $this->redirect(['admin/default/login']);
    }
}

public function actionPurchaseLocalNumber() //Dont get called
{
    $session = Yii::$app->session;
    if($session->has('user'))
    {
        $this->layout="admin-layout";
        return $this->render('addlocalnumber');
    }
    else
    {
         return $this->redirect(['admin/default/login']);
    }
}


}

在我看来,我试图调用的网址是这样的

<div style="text-align: center; padding:15px">
                <a href="<?php echo Yii::$app->urlManager->createUrl('admin/product/purchaselocalnumber'); ?>" class="btn btn-primary">Purchase Numbers</a>
            </div>

但它却抛出404。

事实上,当我把动作名称改为

购买

仅仅从视图文件中调用它就可以了?

有什么问题吗?

routes yii2 url-routing yii2-basic-app
1个回答
0
投票

问题是位于你的网址。

admin产品购买本地号码。

您的操作被命名为:

actionPurchaseLocalNumber

所以你的url必须像: admin产品采购-本地号码

© www.soinside.com 2019 - 2024. All rights reserved.