2017-07-26 177 views
1

我目前正在OctoberCMS工作,正在创建具有自定义页面与小窗口,显示网格Grid pattern managerOctoberCMS路由插件无法解析的依赖性解决

正如你可以在此图像中看到这个网格可以管理插件并可以通过“保存更改”按钮进行保存。这会向服务器发送一个POST请求,但是我在收听这个POST请求时遇到了问题。由于octoberCMS的文档不是很好,我正试图按照Laravel的方式来完成这个工作。但即使这样也不行。如果需要了解更多信息

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

ftsf /格/ routes.php文件

<?php 
Route::post('/backend/ftsf/grid', 'Ftsf\Grid\Widgets\[email protected]'); 

ftsf /格/部件/ 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); 
    } 
} 

只是告诉我什么。

回答

1

您应该使用Octobers原生AJAX handlers。在我看来,这些文档相当不错。

在这种情况下,处理程序应该是这样的:

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

您可以作出这样的要求:

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

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

+0

我在看它,我发现它有点混乱,因为你无法说明它是什么类型的请求。但它的工作,非常感谢 – StefanJanssen