सबसे पहले, जब आप एक दृश्य में लेआउट बढ़ाते हैं, तो आप एक सेक्शन शुरू करते हैं और फिर "रोकें"। इस तरह:
@section('header')
@parent
{{ HTML::script('js/anotherjs.js') }}
@stop
आप लेआउट का विस्तार कैसे कर रहे हैं? मुझे यकीन नहीं है कि क्या आपके पास एकाधिक लेआउट हैं जो एक-दूसरे को बढ़ाते हैं और फिर विचारों द्वारा बढ़ाए जाते हैं या आपके पास कई विशेष विचार होते हैं, प्रत्येक इस विशेष लेआउट को विस्तारित करते हैं। अब बाद के मामले में, एक दृश्य को दूसरे दृश्य पर कोई प्रभाव नहीं पड़ेगा।
यदि आप पूर्व दृष्टिकोण का उपयोग कर रहे हैं, तो कुछ और उदाहरण कोड उपयोगी होंगे क्योंकि मुझे लगता है कि आप कुछ समय पर मूल्य लिख रहे हैं।
उम्मीद है कि यह मदद करता है।
संपादित
आप जब कहते हैं:
<header>
@yield('header_bar')
@yield('nav_bar')
@yield('search_bar')
</header>
आप तीन अलग अलग नामों के साथ प्लेसहोल्डर कर रहे हैं। तो nav_bar, search_bar बच्चे के विचार नहीं हैं लेकिन वे प्लेसहोल्डर्स हैं जिन्हें आपके विचारों से पॉप्युलेट किया जा सकता है।
मुझे इसे किसी अन्य तरीके से रखने दें। जब आपके विचार टेम्पलेट का विस्तार करते हैं, तो वे टेम्पलेट में घोषित अंतराल भर देंगे। इसलिए 'हेडर', 'search_bar' आदि में से प्रत्येक एक बार भरने के अंतराल हैं। तो यदि आपके पास index.blade.php नाम का एक दृश्य है, तो आप इन्हें एक बार भर सकते हैं। तो आप index.blade हो सकता है।इस तरह PHP:
@section('header')
@parent
{{ HTML::script('js/anotherjs.js') }}
@stop
@section('header_bar')
@parent
{{ HTML::script('js/yetanotherjs.js') }}
@stop
@section('nav_bar')
@parent
{{ HTML::script('js/foojs.js') }}
@stop
@section('search_bar')
@parent
{{ HTML::script('js/foojs.js') }}
@stop
अब अगर हम इसे देखो, यह क्या परिणाम होगा है:
<!DOCTYPE html>
<html>
<head>
@section('header')
{{ HTML::style('css/planesaleing.css') }}
{{ HTML::script('js/jquery-1.10.1.js') }}
{{ HTML::script('js/search_Bar.js') }}//from parent till this point
{{ HTML::script('js/anotherjs.js') }} //comes from view
@show
</head>
<body>
<div class="planesaleing_page">
<header>
{{ HTML::script('js/yetanotherjs.js') }} //comes in place of header_bar as nothing in parent
//@yield('header_bar')
{{ HTML::script('js/foojs.js') }}//comes in place of nav_bar as nothing in parent
//@yield('nav_bar')
{{ HTML::script('js/foojs.js') }}//comes in place for search_bar as nothing in parent
//@yield('search_bar')
</header>
<div class="main_page">
// Some more code
</div>
@yield('footer')
</div>
</body>
</html>
यही कारण है कि सिर्फ पहले एक मास्टर का विस्तार किया जा रहा है। मुझे लगता है कि आपको एक बार मास्टर का विस्तार करने की कोशिश कर रहे तरीके पर पुनर्विचार करना चाहिए।
क्या आप के लिए काम कर सकते हैं
@include('view.name') // includes a subview
हालांकि मुझे यकीन है कि नहीं कर रहा हूँ है वर्गों प्रत्येक subview या नहीं से सोपानी किया जाएगा। आप इसे आजमा सकते हैं। search_bar.blade.php और दूसरों जो गुरु का विस्तार करने और भर जाएगा की तरह
@extends('master')
@include('search_bar')
@include('nav_bar')
@include('foo_bar')
और फिर आप होगा अलग फ़ाइलों:
तो तुम एक दृश्य index.blade.php कहा जाता है जो कुछ कैसा दिखता होगा इस तरह प्लेसहोल्डर में:
@extends('master')
@section('header')
@parent
{{ HTML::script('js/anotherjs.js') }}
@stop
मेरा मानना है कि (परीक्षण किया havn't) है कि यह आपके काम करना चाहिए। इसके बाद यह सभी सबव्यूज़ से इनपुट को कैस्केड कर सकता है और इसे एक साथ रख सकता है जैसा आप चाहते हैं। तो सभी सबव्यूज़ हेडर सेक्शन को पॉप्युलेट कर रहे होंगे और इसे अंतिम आउटपुट में एक साथ कैस्केड किया जाना चाहिए। इसे आज़माएं और यदि यह काम करता है, तो बढ़िया !! अन्य स्क्रिप्ट इंजेक्ट करने के लिए एक अलग दृष्टिकोण का प्रयास करें।
मैंने जो कुछ हासिल करने की कोशिश कर रहा हूं उस पर और स्पष्टता प्रदान करने के लिए मैंने प्रश्न संपादित किया है ... अनिवार्य रूप से, मैं आपके द्वारा उल्लिखित दूसरी बात करने की कोशिश कर रहा हूं ... –
ने उत्तर संपादित किया। इसे आज़माएं –