Había creado un testasset.php de la siguiente manera:

<?php

namespace app\assets;
use yii\web\AssetBundle;

class TestAsset extends AssetBundle {
    /*public $basePath = '@webroot';
      public $baseUrl = '@web'; */
      public $sourcePath = '@app/assets';
      public $css = [
        '/css/test.css',
      ];
      public $js = [];
      public $depends = [
      /*  'yii\web\YiiAsset',
          'yii\bootstrap\BootstrapAsset', */
      ];
}

En el controlador, simplemente estoy representando el archivo de vista que se registra arriba del activo.

Vista:

<?php 

use app\assets\TestAsset;
TestAsset::register($this);
$this->beginPage(); ?>

<html>
  <head>
    <title>Register JS and CSS</title> <?php 
     //Yii::$app->view->registerCssFile('/css/style.css');?>
    <!-- <link rel="stylesheet" href="/css/test.css" type="text/css" /> -->
  </head>
  <body>
    <div id="page">
      <div id="logo">
        <h1><a href="/" id="logoLink">Register JS and CSS Test</a></h1>
      </div>
      <div id="nav">
        <ul>
          <li><a href="#">!</a></li>
          <li><a href="#">@</a></li>
          <li><a href="#">#</a></li>
        </ul>
      </div>
      <div id="content">
        <h2>Test</h2>
        <p> XYZ...!!! </p>
        <p> ABC...!!! </p>
      </div>
      <div id="footer"> 
        <p> Webpage made by <a href="/" target="_blank">XYZ</a> </p>
      </div>
    </div>
  </body>
</html>

Pero mi archivo test.css no se está registrando. Intenté usar basepath y baseurl también y la función registerCss Yii2 pero sin éxito.

Alguien Por favor, sugiera dónde me falta mi código.

2
user3350093 28 dic. 2016 a las 14:08

3 respuestas

La mejor respuesta

Necesitas agregar

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

Preferiblemente en algún lugar entre <head> y </head> para que se representen los archivos de activos header.

2
Bizley 28 dic. 2016 a las 11:15

He tenido el mismo problema en uno de mis proyectos de plantillas de aplicaciones avanzadas. Comparé mi archivo layout / main.php con el mismo en Plantilla de aplicación avanzada Yii2 y se encontró que faltaba $this->endPage() al final del archivo. Se eliminó por error y sin él no funciona js, ccs activos.

0
Taras 13 feb. 2018 a las 18:51

Simplemente agregue esto en el archivo de vista

<?php 
   $this->registerCssFile('PATH_TO_FILE');
?>
1
Yasar Arafath 28 dic. 2016 a las 12:52