path file ที่อ้างถึง css มันเปลี่ยนไปครับ

wave
Soraphat Charnratanon
2,449
สังคมนักพัฒนาระบบ (Community)
path file ที่อ้างถึง css มันเปลี่ยนไปครับ

<p>path file ที่อ้างถึง css มันเปลี่ยนไปครับ ทีแรก ตอนใช้แบบไม่มี class ได้ พอมี class มันจะอ้าง url class ทำให้ ที่อยู่ ของ ไฟล์ css เปลี่ยนไปครับ ผมจะแก้ยังไงครับ<br></p>

7 ความคิดเห็น

  • Soraphat Charnratanon

  • มานพ กองอุ่น

path file ที่อ้างถึง css มันเปลี่ยนไปครับ ทีแรก ตอนใช้แบบไม่มี class ได้ พอมี class มันจะอ้าง url class ทำให้ ที่อยู่ ของ ไฟล์ css เปลี่ยนไปครับ ผมจะแก้ยังไงครับ

ควรนำ css มาวางใน theme น่ะครับ แล้วทำการ register script ครับ

$sc = Yii::app()->clientScript;
$sc->registerCssFile(Yii::app()->theme->baseUrl . '/assets/css/style.css');

กรณีนี้คือสร้าง themes/kongoon/assets/css

ในไฟล์ main.php ของ themes/kongoon/views/layouts/main.php นั้นก็ใส่ register script ด้านบนครับ

เราจะแก้ไขก็แก้ใน style.css ได้เลยครับ น่าจะตอบตรงคำถามนะครับ ^ ^

ยังไม่ได้ครับ คือผมเขียนตามที่พี่บอกแล้วครับ ตอนแรกถ้าเราไม่เรียก function ตัว css มันทำงานได้ครับ แต่พอเรียกลึกลงไปหา class ถึง function มันดึง css ไม่ได้ ลอง viewsource ดู มันก็เหมือนมี sub url ที่ผิดจริงๆ อย่างเช่น 

ก่อนเรียน  http://localhost/yii/app/bootstrap/fonts/css/font-awesome.min.css

หลังเรียก http://localhost/yii/app/HelloWorld/bootstrap/fonts/css/font-awesome.min.css

เห็นเลยว่า มันมี HelloWorld มาแทรกคั่น ครับ

ใช้การ register script ครับ

$sc = Yii::app()->clientScript;
$sc->registerCssFile(Yii::app()->theme->baseUrl . '/assets/css/style.css');

ต้อง set baseurl ก่อนไหมครับ เพราะผมลอง echo Yii::app()->theme->baseUrl ดูเหมือนไม่มีอะไรเกิดขึ้นอ่ะครับ

สร้าง theme ใหม่ครับ โดยสร้าง folder themes/yourtheme/

ใน yourtheme มี

assets/

assets/css

assets/js

views/

views/layouts/

views/layouts/main.php เป็นไฟล์ layout ของระบบน่ะครับ

--------

การเรียกใช้ theme เปิดไฟล์ config/main.php เพิ่ม 'theme'=>'yourtheme',

ลองดูนะครับ

ได้แล้วครับ ขอบคุณครับ