1

我正在开发插件的后端,但在使其正常工作时遇到了一些问题。我创建了所有插件所需的文件、模型、注册东西等等,但是每当我尝试按照示例访问后端 URL 时,http://alomicuba.dev/backend/alomicuba/balancerecharge我都会收到 404 错误,而且我不知道自己做错了什么。这是/plugins/alomicuba/balancerecharge/controllers/balancerecharge/BalanceRecharge.php文件中的代码:

<?php namespace Alomicuba\BalanceRecharge\Controllers;

use Flash;
use BackendMenu;
use Backend\Classes\Controller;
use System\Classes\SettingsManager;
use Alomicuba\RechargeBalance\Models\Settings as BalanceRechargeSettings;

class BalanceRecharge extends Controller
{
    public $implement = [
        'Backend.Behaviors.FormController',
        'Backend.Behaviors.ListController'
    ];

    public $formConfig = 'config_form.yaml';
    public $listConfig = 'config_list.yaml';

    public $requiredPermissions = ['balancerecharge.*'];

    public $bodyClass = 'compact-container';

    public function __construct()
    {
        parent::__construct();

        BackendMenu::setContext('Alomicuba.BalanceRecharge', 'balancerecharge');
        SettingsManager::setContext('Alomicuba.BalanceRecharge', 'settings');
    }
}

这是Plugin.php代码:

class Plugin extends PluginBase {

    /**
     * Returns information about this plugin.
     *
     * @return array
     */
    public function pluginDetails()
    {
        return [
            'name' => 'Balance Recharge',
            'description' => 'Plugin that allows users to recharge theirs balance through the PayPal payment gateway',
            'author' => 'Dynamo Technology Solutions',
            'icon' => 'icon-credit-card'
        ];
    }

    public function registerNavigation()
    {
        return [
            'bradmin' => [
                'label'       => 'Balance Recharge',
                'url'         => Backend::url('alomicuba/balancerecharge/balancerecharge'),
                'icon'        => 'icon-credit-card',
                'permissions' => ['brecharge.*'],
                'order'       => 500,

                'sideMenu' => [
                    'brecharge' => [
                        'label'       => 'Balance Recharge',
                        'icon'        => 'icon-credit-card',
                        'url'         => Backend::url('alomicuba/balancerecharge/balancerecharge'),
                        'permissions' => ['brecharge.*'],
                    ],
                ]

            ]
        ];
    }

    public function registerSettings()
    {
        return [
            'settings' => [
                'label' => 'Balance Recharge PayPal Configuration',
                'description' => 'Manage the settings for Balance Recharge.',
                'category' => 'AloMiCuba',
                'icon' => 'icon-cog',
                'class' => 'Alomicuba\BalanceRecharge\Models\Settings',
                'order' => 100
            ]
        ];
    }

    public function boot()
    {
        \App::register('Barryvdh\Omnipay\ServiceProvider');
        \Illuminate\Foundation\AliasLoader::getInstance()->alias('Omnipay', 'Barryvdh\Omnipay\Facade');

        UserModel::extend(function($model){
            $model->hasMany['payment'] = ['Alomicuba\BalanceRecharge\Models\Payment'];
        });

    }

    public function registerComponents()
    {
        return [
            'Alomicuba\BalanceRecharge\Components\Payment' => 'Payment'
        ];
    }

}

我在这里遗漏了什么?

4

1 回答 1

2

10 月控制器的 CMS URL 就像

 domain-name/backend/author-name/plugin-name/controller-name

所以在你的情况下你可以使用

 alomicuba.dev/backend/alomicuba/balancerecharge/balancerecharge
于 2014-11-04T12:47:14.040 回答