Craft (Laravel 出身) は初めてで、pluginfactory.io で作成されたプラグインのコントローラー アクションにルーティングしようとすると、404 エラーが発生します。プラグインは問題なくインストールされましたが、コントローラー アクションを実行する方法が見つからないようです。
関連するディレクトリ構造は次のとおりです
├── composer.json
├── config
│ ├── app.php
│ ├── db.php
│ ├── general.php
│ ├── license.key
│ ├── redactor
│ └── routes.php
├── modules
│ └── Module.php
├── plugins
│ └── signup
│ ├── composer.json
│ └── src
│ ├── Signup.php
│ ├── controllers
│ │ ├── EnrollmentController.php
│ ├── models
│ │ ├── Enrollment.php
│ │ └── Settings.php
/plugin/controller/action 形式を使用して EnrollmentController のデフォルトのコントローラー ルートhttp://localhost:8080/actions/signup/enrollment/indexを試しましたが、要求がコントローラーに到達しません。カスタム モジュールを作成しようとしたときに、同じ問題に遭遇しました。
これが私の EnrollmentController のコードです
namespace wolff\signup\controllers;
use wolff\signup\Enrollment;
use Craft;
use craft\web\Controller;
class EnrollmentController extends Controller
{
protected $allowAnonymous = true;
public function actionIndex()
{
$result = 'Welcome to the EnrollmentController actionIndex() method';
die($result);
}
404 のスタック トレースは次のとおりです。
yii\base\InvalidRouteException: Unable to resolve the request "signup/enrollment/index". in /Applications/MAMP/htdocs/craft/vendor/yiisoft/yii2/base/Module.php:537
Stack trace:
#0 /Applications/MAMP/htdocs/craft/vendor/craftcms/cms/src/web/Application.php(299): yii\base\Module->runAction('signup/enrollme...', Array)
#1 /Applications/MAMP/htdocs/craft/vendor/craftcms/cms/src/web/Application.php(566): craft\web\Application->runAction('signup/enrollme...', Array)
#2 /Applications/MAMP/htdocs/craft/vendor/craftcms/cms/src/web/Application.php(278): craft\web\Application->_processActionRequest(Object(craft\web\Request))
#3 /Applications/MAMP/htdocs/craft/vendor/yiisoft/yii2/base/Application.php(386): craft\web\Application->handleRequest(Object(craft\web\Request))
#4 /Applications/MAMP/htdocs/craft/web/index.php(21): yii\base\Application->run()
#5 {main}
Next yii\web\NotFoundHttpException: Page not found. in /Applications/MAMP/htdocs/craft/vendor/craftcms/cms/src/web/Application.php:570
Stack trace:
#0 /Applications/MAMP/htdocs/craft/vendor/craftcms/cms/src/web/Application.php(278): craft\web\Application->_processActionRequest(Object(craft\web\Request))
#1 /Applications/MAMP/htdocs/craft/vendor/yiisoft/yii2/base/Application.php(386): craft\web\Application->handleRequest(Object(craft\web\Request))
#2 /Applications/MAMP/htdocs/craft/web/index.php(21): yii\base\Application->run()
#3 {main}