2013-09-22 13 views
9

प्रतिपादन नहीं कर रहा है मैं लैरावेल और ट्विटर बूटस्ट्रैप का उपयोग कर एक मूल पृष्ठ सेट करने का प्रयास कर रहा हूं। मैंने लैरवेल स्थापित किया और जेनेरिक "आप यहाँ हैं" या w/e छवि प्राप्त की है जो चमकदार प्रतीत होता है। ट्विटर बूटस्ट्रैप के लिए, मैंने अपने/सार्वजनिक फ़ोल्डर में ट्विटर बूटस्ट्रैप फ़ाइलों को/संसाधन/जेएस,/संसाधन/सीएसएस, और/संसाधन/आईएमजी के तहत जोड़ा।php laravel ब्लेड टेम्पलेट

तो अब मैं अपने विचारों के लिए एक टेम्पलेट बनाने की कोशिश कर रहा हूं, जहां मूल रूप से ट्विटर बूटस्ट्रैप। सीएसएस फ़ाइलें मेरे हेड टैग में आउटपुट हैं और bootstrap.min.js और jquery.js स्क्रिप्ट में मेरे पहले ही आउटपुट शामिल है बंद शरीर टैग।

तो यह है कि मैं क्या सेटअप है:

laravel/ऐप्स/routes.php

Route::get('/', function() 
{ 
     return View::make('hello'); 
}); 

laravel/ऐप्स/विचारों/hello.php

@extends('layouts.master') 

@section('content') 
    <p>This is my body content.</p> 
@stop 

लार्वेल/ऐप/विचार/लेआउट/master.blade.php

<html> 
    <head> 
    @section('head') 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
     <link href="/resources/css/bootstrap.min.css" rel="stylesheet" media="screen"> 
    @show 
    </head> 
    <body> 
    <div class="container"> 
     @yield('content') 
    </div> 

    @section('footer_scripts') 
    <script src="http://code.jquery.com/jquery.js"></script> 
    <script src="/resources/js/bootstrap.min.js"></script> 
    @show 
    </body> 
</html> 

लेकिन यह ब्लेड टेम्पलेट प्रतिपादन प्रतीत नहीं होता है। यह आउटपुट मुझे मिलता है:

@extends('layouts.master') @section('content') 
This is my body content. 

@stop 

इस तरह यह पृष्ठ-साथ-साथ दृश्य-स्रोत में भी दिखता है। कोई HTML टैग या स्क्रिप्ट शामिल नहीं है; कुछ भी तो नहीं। मुझे कुछ बुनियादी याद आना चाहिए, और मैंने लैरावेल दस्तावेज़ों को देखने की कोशिश की है, लेकिन मुझे लगता है कि मैं क्या गलत कर रहा हूं यह पता नहीं लगा सकता .. क्या कोई मुझे सही दिशा में इंगित कर सकता है?

उत्तर

21

अपने मामले में उदाहरण के लिए एक ब्लेड टेम्पलेट का उपयोग करने के लिए आप फ़ाइल के नाम में .blade होना आवश्यक है, यह

hello.blade.php 

अन्यथा होना चाहिए, यह प्रस्तुत नहीं होगी। Laravel Site पर और पढ़ें। यहाँ, मेरी परीक्षण परियोजनाओं (index.blade.php) में से एक से एक उदाहरण है जब से तुम लिखने में कोई त्रुटि @extends('layout.master') था उस पर इस

@extends('layouts.master') 

@section('content') 
This is a sample of laravel 4 using blade template engine. 
This is home page using HomeController and home.blade template. 
@stop 
+1

एएचए। असल में मैंने कोशिश की, लेकिन यह अभी भी कर रहा था। मुझे लगता है कि यह मुद्दा भी था कि उस समय मैंने 'लेआउट' – slinkhi

+0

@mysql_noobie_xxxx के बजाय 'लेआउट' डालने के लिए '@extends (' layouts.master ') टाइप किया था, हां यह 'लेआउट' होना चाहिए। –

3

की तरह कुछ किया जाना चाहिए अपने laravel/app/views/hello.php

है कि फाइल किया जाना चाहिए था hello.blade.php क्योंकि आप इसके साथ ब्लेड टेम्पलेटिंग इंजन का उपयोग करना चाहते हैं .. यह है।

templating पर

अधिक जानकारी docs

पर पाया जा सकता भी ओर से जहां स्क्रिप्ट की घोषणा:

<script src="/resources/js/bootstrap.min.js"></script> 

यह इस का उपयोग किया जा सकता है: देखने this

{{ HTML::script('resources/js/bootstrap.min.js') }} 

बस इतना ही आपको पता है। ;)

+0

हे स्क्रिप्ट के बारे में टिप के लिए धन्यवाद धन्यवाद; यह मेरे लिए बिल्कुल नया है इसलिए मुझे सीखने के लिए बहुत सारी चीज़ें मिल गई हैं! तत्काल मुद्दे का जवाब देने के लिए शेख ड्रॉ पर थोड़ा तेज था इसलिए मैंने उसे हल किया, लेकिन आपको भी +1 :) :) – slinkhi

+0

हाँ। कोई चिंता नहीं। शायद अगली बार। XP। धन्यवाद। – reikyoushin

2

शुरुआत में वर्णित वही समस्या मिली। लेकिन: सभी टेम्पलेट फ़ाइल नाम * .blade.php के साथ आवश्यक विनिर्देश मिलान करता है। इसके अलावा 'लेआउट' पथनाम सही सेट किया गया था।नतीजा अभी भी कोई ब्लेड प्रतिपादन नहीं था, आउटपुट @extends('layouts.master') तक सीमित था।

समाधान था: मैंने पहली पंक्ति पर <!-- app/views/index.blade.php --> टिप्पणी के साथ एक कॉपी-पेस्ट व्यू स्क्रिप्ट का उपयोग किया है। इस टिप्पणी को टेम्पलेट से हटाकर और मेरी दृश्य स्क्रिप्ट की पहली पंक्ति पर @extends('layouts.master') डालने के बजाय चाल चल रही थी।

स्वागत करती है, McPan

1

जगह @extends() पहली पंक्ति में।

+2

ओपी और आगे के आगंतुकों के लिए यह अधिक उपयोगी होगा, जब आप अपने इरादे के लिए व्याख्या जोड़ते हैं। धन्यवाद। – reporter

2

हाय को एक ही समस्या थी और मैंने अपना कोड दोबारा जांच लिया, पता चला कि मैंने अपने चर के लिए $ छोड़ा था और पृष्ठ खाली था, लेकिन यह लुमेन के साथ था, उम्मीद है कि आप अपना कोड दोबारा जांच सकते हैं भी

1

मुझे भी एक ही समस्या का सामना करना पड़ा, फिर मैंने पाया, @extends ('layouts.master') से पहले कोई स्थान या रेखा छोड़कर, या कोई टिप्पणी नहीं देगी। @extends ('layouts.master') को शीर्ष पर रखा जाना चाहिए।

-1

मुझे एक ही समस्या का सामना करना पड़ा और समाधान यह है कि @extends('layouts.master') को पहली पंक्ति में होना चाहिए।

0

मेरे लिए यह ब्रांड्स के बीच की जगह के कारण था: {{$ name}} के बजाय मैंने {{$ name}} का उपयोग किया और यह मेरे लिए काम किया।

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