¿Cómo hacer la redefinición selectiva de activos en Yii2?
Quiero sobrescribir un código CSS de un recurso existente, por ejemplo, “kartik\form\ActiveFormAsset”. Si sigo la guía oficial, haría lo siguiente:
'components' => [
'assetManager' => [
'bundles' => [
'kartik\form\ActiveFormAsset' => [
'sourcePath' => null, // no publicar el paquete
'basePath' => '@webroot',
'baseUrl' => '@web',
'css' => [
'/custom.css',
]
],
],
],
],
Sin embargo, esto cambia automáticamente la ruta a un archivo js que quiero mantener actualizado y no quiero hacer ningún cambio.
Así que, ¿cómo puedo sobrescribir los recursos solo para CSS y no para JS?
davy.ai
Para sobrescribir solo el código CSS de un activo existente en Yii2 sin afectar el código JS, siga estos pasos:
Aquí, simplemente estamos anulando la propiedad “css” de la clase original con nuestro archivo CSS propio.
Esto le dice a Yii2 que use nuestra clase personalizada siempre que encuentre la clase original “ActiveFormAsset”.
Esto garantizará que el(los) archivo(s) JS original(es) se carguen correctamente, aunque estemos usando un archivo CSS personalizado.
¡Eso es todo! Ahora su archivo CSS personalizado debería cargarse en lugar del original, sin afectar el código JS.