第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何將動(dòng)態(tài)變量發(fā)送到部分頁(yè)面“側(cè)邊欄”?

如何將動(dòng)態(tài)變量發(fā)送到部分頁(yè)面“側(cè)邊欄”?

PHP
蝴蝶刀刀 2021-11-13 10:33:13
我有一個(gè)顯示在每個(gè)頁(yè)面中的部分頁(yè)面“側(cè)邊欄”。我的標(biāo)志是動(dòng)態(tài)的。為了顯示我的徽標(biāo),我通過儀表板控制器發(fā)送了變量,但它顯示未定義的變量。問題似乎在路由中,因?yàn)椤?dashboard”被稱為不是“側(cè)邊欄”對(duì)于側(cè)邊欄,我已經(jīng)在儀表板控制器中編寫了它的一部分 那么,我怎樣才能做到這一點(diǎn)?未定義變量:logos(查看:C:\xampp\htdocs\odan\resources\views\admin\partials\sidebar\sidebar.blade.php)(查看:C:\xampp\htdocs\odan\resources\views\admin\ partials\sidebar\sidebar.blade.php) (視圖:C:\xampp\htdocs\odan\resources\views\admin\partials\sidebar\sidebar.blade.php)儀表盤控制器public function sidebar(){    $data['logos'] = Setting::first();    return view('admin.layouts.app', $data);}邊欄.blade.php<!-- Brand Logo -->  <a href="index3.html" class="brand-link">    <img src="{{asset('uploaded/'.optional($logos)->image)}}" alt="Odan Logo"      class="brand-image img-circle elevation-3" style="opacity:.8">    <span class="brand-text font-weight-light">Odan</span>  </a>應(yīng)用程序.blade.php<body class="hold-transition sidebar-mini layout-fixed"><div class="wrapper">  @include('admin.partials.navigation.navbar')  @include('admin.partials.sidebar.sidebar')  @yield('content')  @include('admin.partials.footer.footbar')</div>
查看完整描述

3 回答

?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

$data你傳遞給admin.layouts.app在不存在sidebar

當(dāng)您@include從視圖中創(chuàng)建視圖時(shí),框架正在編譯一個(gè)新視圖,而$data您傳遞給第一個(gè)view視圖的視圖不會(huì)持久保存到新視圖中,這稱為shared view.

您的問題有幾種解決方案,從最快到最好:

1) 直接將其傳遞給共享視圖

@include('admin.partials.sidebar.sidebar', ['logos' => $logos])

這將“共享”所需的數(shù)據(jù)shared view。不用說,這不是最好的解決方案。

2)->share()方法

在您的控制器中,執(zhí)行以下操作:

view()->share('logos', Setting::first());

這將$logos在所有視圖中創(chuàng)建變量,包括共享視圖。將呼叫置于服務(wù)提供商內(nèi)部,您將不會(huì)有重復(fù)的代碼。

3) 查看作曲家

這是一個(gè)非常好的解決方案,如果您對(duì)此感興趣,請(qǐng)閱讀View Composers上的這篇文章

希望能幫助到你。


查看完整回答
反對(duì) 回復(fù) 2021-11-13
?
jeck貓

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊

Sidebar 在每個(gè)刀片文件中調(diào)用,所以你應(yīng)該為它調(diào)用輔助函數(shù)。更改您的composer.json文件:


"autoload": {

    "files": [

        "app/helpers.php"

    ],

    "classmap": [

        "database/seeds",

        "database/factories"

    ],

    "psr-4": {

        "App\\": "app/"

    }

},

跑:


composer dump-autoload

在您的應(yīng)用程序文件夾中創(chuàng)建helpers.php文件。


并在helpers.php 中編寫您的函數(shù)。


function sidebar()

{

    $data['logos'] = Setting::first();


    return $data;

}

并在sidebar.php 中調(diào)用該函數(shù)


查看完整回答
反對(duì) 回復(fù) 2021-11-13
?
嚕嚕噠

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以使用 Provider 和 Composer 來實(shí)現(xiàn)您的目標(biāo)


步驟1


首先在App\Http\View\composers目錄下創(chuàng)建一個(gè) Composer 類如果你已經(jīng)沒有這個(gè)目錄你可以創(chuàng)建一個(gè)


在那里創(chuàng)建一個(gè)文件SidebarComposer在那里您必須將數(shù)據(jù)分配給compose方法。下面我分享一個(gè)完整的作曲家代碼


<?php

namespace App\Http\View\composers;


use Illuminate\View\View;

use App\Models\SideMenu;


class SidebarComposer

{

    protected $sidemenuItems;


    public function __construct(SideMenu $SideMenu)

    {

        $this->sidemenuItems = $SideMenu::getAll();

    }


    public function compose(View $view)

    {

        $view->with('menuItems', $this->sidemenuItems);

    }

}

我在這里打電話是Model為了獲取數(shù)據(jù),但你可以調(diào)用任何你喜歡的controller或repository


第二步:


創(chuàng)建服務(wù)提供者。您可以手動(dòng)創(chuàng)建它,但我建議通過命令來創(chuàng)建它


php artisan make:provider SidebarServiceProvider

然后注冊(cè)您的服務(wù)提供商 config/app.php


您的服務(wù)提供商,您會(huì)在boot那里找到方法,您必須調(diào)用view::composer該方法將您的數(shù)據(jù)傳遞到您的視圖中


public function boot()

{

    View::composer('incl.sidebar', SidebarComposer::class);

}


查看完整回答
反對(duì) 回復(fù) 2021-11-13
  • 3 回答
  • 0 關(guān)注
  • 164 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)