【问题标题】:OctoberCMS Routing Plugin Unresolvable dependency resolvingOctoberCMS Routing Plugin 无法解析的依赖解析
【发布时间】:2018-01-01 18:28:58
【问题描述】:

我目前正在使用 OctoberCMS 并正在创建一个插件,该插件有一个自定义页面和一个显示网格的小部件

正如您在这张图片中看到的那样,可以管理此网格,并且可以使用“保存更改”按钮进行保存。这将向服务器发送一个 POST 请求,但我在“监听”这个 POST 请求时遇到了问题。由于 octoberCMS 的文档不是很好,我正尝试像在 Laravel 中那样做。但即使这样也不能正常工作。

Unresolvable dependency resolving [Parameter #0 [ <required> $app ]] in class Illuminate\Support\ServiceProvider

ftsf/grid/routes.php

<?php
Route::post('/backend/ftsf/grid', 'Ftsf\Grid\Widgets\GridManager@saveGrid');

ftsf/grid/widgets/GridManager.php

<?php namespace Ftsf\Grid\Widgets;

use App;
use Backend\Classes\WidgetBase;
use Cms\Classes\Content;
use Cms\Classes\Controller;
use Cms\Classes\Theme;
use Cms\Twig\Extension;
use Ftsf\Grid\Models\PatternOrder;
use Illuminate\Http\Request;
use System\Twig\Engine as TwigEngine;

class GridManager extends WidgetBase {
    protected $defaultAlias = 'ftsf_grid_manager';

    public function init() {
    }

    public function render() {
        $env = App::make('twig.environment');
        $env->addExtension(new Extension(new Controller(Theme::getActiveTheme())));

        return (new TwigEngine($env))->get($this->getViewPath('_gridmanager.htm'),
                                       ['patterns' => PatternOrder::orderBy('order')->with('pages')->get(),
                                        'contents' => Content::all()]);
    }

    public function loadAssets() {
        $this->addCss('css/gridmanager.css', 'Ftsf.Grid');
        $this->addJs('js/gridmanager.js', 'Ftsf.Grid');
    }

    public function saveGrid(Request $request){
        return dd($request);
    }
}

如果需要更多信息,请告诉我。

【问题讨论】:

    标签: php octobercms octobercms-backend octobercms-plugins


    【解决方案1】:

    您应该使用十月原生 AJAX handlers。在我看来,文档非常适合。

    在这种情况下,处理程序应如下所示:

    public function onSaveGrid(){
        return dd(post());
    }
    

    您可以这样提出请求:

    $.request('onSaveGrid', {
        success: function() {
            console.log('Finished!');
        }
    })
    

    当然,您也可以使用数据属性 API 或调用 DOM 元素上的处理程序。文档涵盖了所有这些情况。

    【讨论】:

    • 我正在查看它,发现它有点令人困惑,因为您无法说明它是什么类型的请求。但它有效,非常感谢
    猜你喜欢
    • 2016-10-24
    • 2019-01-24
    • 2015-01-08
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多