【问题标题】:"Page not found" first plugin for OctoberCMS“页面未找到”OctoberCMS 的第一个插件
【发布时间】:2014-11-03 15:33:53
【问题描述】:

我正在开发插件的后端,但在使其正常工作时遇到了一些问题。我创建了所有插件所需的文件、模型、注册内容等等,但是每当我尝试按照示例http://alomicuba.dev/backend/alomicuba/balancerecharge 访问后端 URL 时,我都会收到 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'
        ];
    }

}

我在这里遗漏了什么?

【问题讨论】:

  • 能不能过去plugin.php代码
  • @anandpatel 完成,我已添加到主帖中,您也可以看看this 帖子吗?也许你可以给我一个比我那里更好的答案,因为你已经开发了十月插件
  • @anandpatel 那行得通,你能回答一下,这样我就可以给你积分,请看看我离开你的另一篇文章,我被卡住了,不知道还能做什么

标签: php laravel octobercms


【解决方案1】:

10 月控制器的 CMS URL 是这样的

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

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

 alomicuba.dev/backend/alomicuba/balancerecharge/balancerecharge

【讨论】:

    猜你喜欢
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 2021-01-13
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 2014-08-23
    相关资源
    最近更新 更多