2017-07-26 102 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