2016-07-10 3 views
0

私はLaravelのオンラインコースを受験しています。このコースではmarkdownをhtmlに変換するためにLeague \ commonmarkパッケージを使用しています。MarkdownからHTMLをレンダリングできません

パッケージは、アプリケーションで使用されるたびに、私が手:

Unable to find corresponding renderer for block type League\CommonMark\Block\Element\Document 

アプリは、変換を行うには、次のプレゼンターを使用しています。

class PagePresenter extends AbstractPresenter 
{ 
    protected $markdown; 

    public function __construct($object, CommonMarkConverter $markdown) 
    { 
    $this->markdown = $markdown; 
    parent::__construct($object); 
    } 

    public function contentHtml() 
    { 
    return $this->markdown->convertToHtml($this->content); 
    } 
} 

誰でも正しい方向に向けることができますか?

答えて

1

これは、IoCがCommonMarkConverterの依存関係、具体的にはすべてnullというプロパティでインスタンス化された環境を解決するために発生します。サービスコンテナにこの方法、あなたがバインドできるhttps://github.com/GrahamCampbell/Laravel-Markdown

かとインスタンス:

おそらくLaravel特定の統合を使用することによってこの問題を解決することができますAppServiceProviderregister方法で

これを追加します。

PresenterコンストラクタからCommonMarkConverterを削除してください。app('Markdown')

class PagePresenter extends AbstractPresenter { 
    protected $markdown; 

    public function __construct($object) 
    { 
    $this->markdown = app('Markdown'); 
    parent::__construct($object); 
    } 

    public function contentHtml() 
    { 
    return $this->markdown->convertToHtml($this->content); 
    } 
} 
+0

このパッケージは、リーグからのもののドロップイン代替品ですか? –

+0

サービスコンテナに問題があります!更新された回答を確認してください! –

+0

私はあなたの指示に従った。今私は "クラスのマークダウンは存在しません"を取得する –

関連する問題