2

コンポーネントに表示されるLaravel 7コンポーネントの変数を設定しているという奇妙な問題があります。私の開発環境 (MacOS の MAMP) では機能しますが、HostGator の共有ホスティングにロードすると機能しません。HostGator では、「未定義の変数: page_title」について不平を言う 500 エラーがスローされます。

ここで何が起こっているのかについてのアイデアはありますか?

アプリ/コンポーネント/レイアウト/ContentHeader.php

class ContentHeader extends Component
{
    public $page_title;
    public $breadcrumbs = [];

    /**
     * Create a new component instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->page_title = 'Some title';
        $crumb = new \stdClass();
        $crumb->label = 'Home';
        $crumb->active = false;
        $this->breadcrumbs[] = $crumb;

        $crumb = new \stdClass();
        $crumb->label = $this->page_title;
        $crumb->active = true;
        $this->breadcrumbs[] = $crumb;
    }

    /**
     * Get the view / contents that represent the component.
     *
     * @return \Illuminate\View\View|string
     */
    public function render()
    {
        return view('components.layout.content-header');
    }
}
<!-- Resources/views/components/layout/content-header.blade.php -->
<div class="content-header">
    <div class="container-fluid">
        <div class="row mb-2">
            <div class="col-sm-6">
                <h1 class="m-0 text-dark">{{ $page_title }}</h1>
            </div><!-- /.col -->
            <div class="col-sm-6">
                <ol class="breadcrumb float-sm-right">
                    @foreach ($breadcrumbs as $crumb)
                        @if (!$crumb->active)
                            <li class="breadcrumb-item"><a href="#">{{ $crumb->label }}</a></li>
                        @else
                            <li class="breadcrumb-item active">{{ $crumb->label }}</li>
                        @endif
                    @endforeach
                </ol>
            </div><!-- /.col -->
        </div><!-- /.row -->
    </div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->```
4

2 に答える 2

5

私は以前に同じ問題を抱えていました。私のバグは私のコンポーネントの小文字の名前でした。最初に大文字にする必要があり、名前空間も大文字に変更する必要がありました。次に、laravelビューをクリアする必要がありました

PHP Artisan ビュー:クリア

于 2020-10-02T03:38:14.767 に答える
0

これについては、GitHub で会話全体が行われています。解決策は非常に簡単です

コンポーネント コントローラは小文字で、大文字にする必要があります。対談はこちら

于 2021-04-28T14:03:50.207 に答える