2015-12-31 16 views
17

प्रलेखन से @Each का उपयोग करके आंशिक रूप से अतिरिक्त चर पारित करना, केवल 4 पैरामीटर @each पर पास किए जा सकते हैं। मुझे नहीं लगता कि @include का उपयोग करने में मदद मिलेगी। कोडब्लेड

नीचे
@each('partials.nav.categories', $groupCategories, 'parent') 

मैं आंशिक partials.nav.categories में इस्तेमाल के लिए एक अतिरिक्त चर के माध्यम से भेजने की जरूरत है। यह चर $groupCategories सरणी के भीतर निहित नहीं है।

क्या यह अतिरिक्त चर भेजने के लिए कोई तरीका है या क्या मुझे इसे partials.nav.categories सरणी में प्रत्येक आइटम में जोड़ना है?

धन्यवाद

+0

साथ

@if (count($groupCategories) > 0) <ul> @foreach ($groupCategories as $parent) @include('partials.nav.categories', $parent) @endforeach </ul> @else @include('partials.group-none') @endif 

आप चर कि ब्लेड में परिभाषित का उपयोग करने में सक्षम होना चाहिए: हम हमारे मामले को यह सब लागू होते हैं, हम इस पूरे ब्लॉक की जगह ले सकता। –

+1

यह मामला है, यह इसका पता नहीं लगा सकता है। बस अपरिभाषित – Muhaimin

+0

सभी चर को सरणी के रूप में पास करने का प्रयास करें। पूर्व: '@each ('partials.nav.categories', [$ समूह श्रेणियां, $ अधिक उपलब्ध], 'पैरेंट')' – smartrahat

उत्तर

1

आप अपने नियंत्रक view()->share('key', 'value'); मूल्य अपने विचारों के सभी भर में उपलब्ध हो जाएगा है कि से चर साझा कर सकते हैं।

या, आप इस दृश्य के लिए बिल्कुल दृश्य संगीतकार बना सकते हैं।

public function yourmethod() 
{ 
    view()->composer('partials.nav.categories', function($view) { 
     $view->with('var', 'value'); 
    }); 

    return view('path.to.view', ['groupCategories' => $categories]); 
} 

और $var केवल partials.nav.categories दृश्य में उपलब्ध हो जाएगा।

+1

मुझे लगता है कि आप मेरे प्रश्न को गलत समझते हैं। एकमात्र समस्या यह है कि मैं अतिरिक्त परिवर्तनीय ट्रॉफ '@ प्रत्येक' ब्लेड कैसे पास करूं? – Muhaimin

+0

@MuhaiminAbdul प्रत्येक निर्देश के माध्यम से यह असंभव है – xAoc

0

आपको केवल आंशिक उदाहरण, आंशिक के प्रत्येक उपयोग पर परिवर्तन करने वाले चर को पास करने की आवश्यकता है।

आंशिक स्वयं के अंदर कोड माता-पिता के दायरे में मौजूद किसी भी चीज़ तक पहुंच सकता है।

तो, उदाहरण के लिए, मुख्य दृश्य $ उपयोगकर्ता का उपयोग कर सकता है, तो आंशिक - यह समझने पर कि आंशिक प्रत्येक समावेशन पर यह वही मूल्य होगा।

सुनिश्चित नहीं है कि यह मदद करता है क्योंकि आप यह नहीं कहते हैं कि आंशिक के प्रत्येक समावेशन के लिए अतिरिक्त पैरामीटर अलग होना चाहिए या नहीं।

+0

जैसा कि आप देख सकते हैं, मेरे पास 'partials.nav.categories' में' $ groupCategories' variable looped है लेकिन मेरे पास '@ प्रत्येक' के भीतर उपयोग करने के लिए '$ mainCategory' नामक एक और चर भी है। यह जांचने के लिए प्रयोग किया जाता है कि लूप मैच में प्रत्येक आइटम या '$ मुख्य श्रेणी ' – Muhaimin

+0

@ स्नैपी से मेल नहीं खाता है, प्रश्न' @ प्रत्येक 'से संबंधित है, जो' @ शामिल 'के रूप में चर को प्रसारित नहीं करता है। '@ प्रत्येक' का उपयोग करने वाले एक सबव्यू में कोई पहुंच नहीं है। –

1

मुझे लगता है कि आप सही हैं। $ समूह में डेटा संलग्न करें श्रेणियां सही तरीका है। दस्तावेज़ीकरण के अनुसार, चौथा param है जो $ समूह श्रेणियां खाली होने पर प्रदर्शित की जाएगी। आप या तो एक दृश्य टेम्पलेट पास कर सकते हैं, जो केवल एक बार दिखाया जाएगा, या कच्चे के साथ प्रीपेड कोई भी पाठ | जैसा प्रदर्शित किया जाएगा।

जनरल प्रारूप:

@each('viewfile-to-render', $data, 'variablename','optional-empty-viewfile') 

पहले तर्क प्रस्तुत करने के लिए टेम्पलेट है। यह आमतौर पर आंशिक होगा, जैसे आपका nameofyourblade.blade.php।

दूसरा आपके मामले में $ समूह श्रेणियों में एक पुनरावर्तनीय डेटासेट है।

तीसरा वैरिएबल नाम है जब तत्वों का उपयोग किया जाएगा जब तत्वों का उपयोग किया जाएगा। उदाहरण के लिए, foreach ($ तत्व के रूप में $ डेटा) में, यह तर्क तत्व होगा ($ के बिना)।

चौथे तर्क एक वैकल्पिक एक है - यह टेम्पलेट फ़ाइल जो जब दूसरा तर्क ($ डेटा) रिक्त है रेंडर किया जाना चाहिए के नाम है, अर्थात अधिक पुनरावृति लेना देना नहीं है।

@each('partials.nav.categories', $groupCategories, 'parent', 'partials.group-none') 
+1

प्रबुद्धता के लिए ठीक है धन्यवाद। लेकिन मुझे पुनरावृत्ति – Muhaimin

+0

पर पारित होने के लिए अतिरिक्त डेटा की आवश्यकता है यदि '$ समूह श्रेणियां 'एक उचित संग्रह है, तो आप' गिनती()' चेक के बजाय '$ groupCategories-> isEmpty()' का उपयोग कर सकते हैं। – Leith

+0

आंशिक के भीतर संग्रह तक कोई पहुंच नहीं है। केवल इटेटरेटर। – Snapey

संबंधित मुद्दे