2015-01-08 6 views
7

में सीएसएस/जेएस लिंक उत्पन्न नहीं कर रहा है, ठीक है, मैंने ऐपएसेट में अपने सभी सीएसएस और जावास्क्रिप्ट सामान घोषित किए हैं, लेकिन मैं इसे फ्रंट एंड व्यू में सीएसएस और जेएस लिंक प्रदर्शित करने के लिए नहीं बना सकता। यहाँ मेरी फ़ाइलें हैं:Yii2 AppAsset लेआउट

एप्लिकेशन/आस्तियों/AppAsset.php:

<?php 

namespace app\assets; 

use yii\web\AssetBundle; 
class AppAsset extends AssetBundle { 
    public $basePath = '@webroot'; 
    public $baseUrl = '@web'; 
    public $css = [ 
     'assets/css/bootstrap.min.css', 
     'assets/plugins/weather-icon/css/weather-icons.min.css', 
     ... 
    ]; 
    public $js = [ 
    ]; 
    public $depends = [ 
     'yii\web\YiiAsset', 
     'yii\bootstrap\BootstrapAsset', 
    ]; 
} 

और यहाँ मेरी लेआउट है (एप्लिकेशन/मॉड्यूल/व्यवस्थापक/लेआउट/admin.php):

<?php 

use app\assets\AppAsset; 

AppAsset::register($this); 
?> 

<?php $this->beginPage() ?> 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <?php $this->head() ?> 
     <?= $this->render('partials/head') ?> 
    </head> 
<body class="tooltips"> 
    <?= $this->render('partials/colour_panel') ?> 
     <div class="wrapper"> 
      <?= $this->render('partials/top_navbar') ?> 
      <?= $this->render('partials/left_sidebar') ?> 
      <?= $this->render('partials/right_sidebar') ?> 
      <div class="page-content"> 
       <div class="container-fluid"> 
        <?= $content ?> 
        <?= $this->render('partials/footer') ?> 
       </div> 
      </div> 
     </div> 
     <?= $this->render('partials/scripts') ?> 
    </body> 
</html> 
<?php $this->endPage() ?> 

अग्रिम में धन्यवाद!

उत्तर

5

इस भाग

<?php $this->head() ?> 

स्वचालित रूप से सिर में उन्हें कॉपी चाहिए। क्या आप सुनिश्चित हैं कि आपके द्वारा उपयोग किए जाने वाले पथ सही हैं?

public $sourcePath = '@vendor'; 
public $css = [ 
    'assets/css/bootstrap.min.css', 

मतलब यह है कि आपकी फ़ाइलों विक्रेता/संपत्ति/सीएसएस/bootstrap.min.css आप यह सुनिश्चित करें कि सही है कर रहे हैं में पाए जाते हैं? क्योंकि यह मेरे लिए गलत लगता है।

+0

हाँ, मुझे पूरा यकीन है कि फ़ाइलों का मार्ग ठीक है। वर्तमान में, निर्देशिका जिसमें मेरे सभी सीएसएस और जेएस फ़ाइलें शामिल हैं विक्रेता/स्क्रिप्ट हैं। विक्रेता से सभी फाइलों को "वेब/संपत्ति/2b2e6bcf" में कॉपी किया गया है लेकिन दुर्भाग्यवश ऐसा लगता है कि उनमें से कोई भी लेआउट के मुख्य भाग में दिखाई नहीं देता है। कोई विचार? –

+0

सुनिश्चित न करें, सुनिश्चित करें। अपनी प्रोजेक्ट में अपने एप्लिकेशन के मुख्य फ़ोल्डर पर नेविगेट करें, फिर विक्रेता/संपत्ति/सीएसएस/bootstrap.min.css पर जाएं और पुष्टि करें कि वहां एक फ़ाइल है। कोई सभ्य yii2 instalation वहाँ कुछ भी होना चाहिए। –

+0

मैंने पहले से ही कई बार जांच की है। फाइलें थीं लेकिन एचटीएमएल लेआउट के सिर में घोषित नहीं की गई थीं। अब मैंने उन्हें "वेब/संपत्ति" निर्देशिका में रखने का फैसला किया और फिर यह काम नहीं कर रहा है। मुख्य पोस्ट की जांच करें। –

7

मुझे एक ही समस्या थी। मेरे मामले में लेआउट में और
<?php $this->endBody() ?><body></body> टैग के अंदर अनुभाग नहीं हैं।

यह इस तरह होना चाहिए:

<body> 
<?php $this->beginBody() ?> 
    <!--content--> 
<?php $this->endBody() ?> 
</body> 

आशा है कि यह किसी

+0

ठीक है तो यह काम करता है लेकिन क्यों? ये कथन मेरे 'मुख्य' लेआउट (जहां जेएस काम करता है) में नहीं हैं, लेकिन जब मैं 'रिक्त' (कस्टम) लेआउट का उपयोग करता हूं तो जेएस शुरुआत के बिना लोड नहीं होता है बॉडी() और एंडबॉडी() कथन? – gvanto

+0

@gvanto Ussualy जेएस टैग टैग (या के अंदर) बंद करने से पहले रखा गया है। मुझे लगता है कि '' '$-- endBody()' '' बयान बताता है वाईआई जहां एचटीएमएल बॉडी का अंत है। इसके बिना वाईआई नहीं जानता कि समाप्त होता है और इससे पहले

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