เมื่อใช้เทมเพลต Joomla ฟรี / โฆษณาเชิงพาณิชย์จาก Template Club X / Y / Z วิธีที่ดีที่สุดในการรวมสไตล์ CSS ของตัวเองคืออะไร?
เมื่อใช้เทมเพลต Joomla ฟรี / โฆษณาเชิงพาณิชย์จาก Template Club X / Y / Z วิธีที่ดีที่สุดในการรวมสไตล์ CSS ของตัวเองคืออะไร?
คำตอบ:
เป็นความคิดที่ดีที่จะแยกสไตล์ CSS ของคุณออกจากสไตล์เทมเพลตที่มีอยู่หากคุณใช้เทมเพลต Joomla ที่สร้างไว้ล่วงหน้า
CSS หมายถึง "Cascading Style Sheets", "Cascading" ในบริบทนี้มีความหมายว่าเนื่องจากกฎสไตล์ชีทมากกว่าหนึ่งรายการสามารถใช้กับส่วนใดส่วนหนึ่งของ HTML ได้กฎที่ใช้จะถูกเลือกโดยการเรียงลำดับจากกฎทั่วไปเพิ่มเติมไปยังกฎเฉพาะที่ต้องการ เลือกกฎเฉพาะส่วนใหญ่) หรือตามลำดับของกฎสำหรับองค์ประกอบใด ๆ (เลือกกฎล่าสุดที่พบ)
ตราบใดที่ไฟล์ CSS ที่กำหนดเองของคุณถูกโหลดหลังจากไฟล์ CSS เทมเพลตเริ่มต้นคุณสามารถเพิ่มสไตล์ของคุณเองเพื่อแทนที่องค์ประกอบเฉพาะตามต้องการ (มีข้อยกเว้นบางประการเพิ่มเติมด้านล่าง)
ในการโหลดสไตล์ชีตแบบกำหนดเองใน<head>
แท็กJoomla คุณสามารถเพิ่มโค้ดต่อไปนี้ลงในindex.php
ไฟล์เทมเพลตของคุณ ( YOURDOMAIN.COM/templates/yourtemplate/index.php
) ด้านขวาก่อน</head>
แท็กสิ้นสุดเพื่อให้แน่ใจว่าไฟล์ของคุณจะถูกโหลดล่าสุด
JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/custom.css');
(ไฟล์ CSS สามารถมีชื่อใด ๆ และไม่จำเป็นต้องอยู่ใน / css / โฟลเดอร์ย่อย แต่วิธีนี้จะสะอาดกว่า)
เป็นไปได้ที่จะเพิ่ม<link>
แท็กปกติแต่ตัวเลือกนี้มีความยืดหยุ่นน้อยกว่าตัวเลือกที่กล่าวถึงข้างต้น:
<link rel="stylesheet" href="/joomla//templates/mytemplate/css/custom.css" type="text/css" />
!สิ่งสำคัญ
ส่วนขยายบางอย่างอาจโหลดสไตล์ CSS ของคุณหลังจากคุณ (หรือเพิ่มสไตล์โดยตรงในไฟล์ index.php) ดังนั้นจึงแทนที่การแทนที่ของคุณ โดยปกติสามารถแก้ไขได้ด้วยการเพิ่ม!important
สไตล์ของคุณเช่นh1{color:red!important;}
ตอนนี้ความสนุก: กรอบแม่แบบหลายอย่างมีความเป็นไปได้ที่ผู้ใช้จะต้องการเปลี่ยนแปลงแม่แบบของพวกเขาดังนั้นจึงเป็นการเพิ่มวิธีที่ง่ายในการรวมการแทนที่ CSS ของคุณ นี่คือวิธีการบางส่วนที่ใช้:
RocketTheme Gantry 4
RocketTheme เทมเพลตขับเคลื่อนโดย Gantry Framework และไฟล์ CSS ที่กำหนดเองจะถูกโหลดโดยอัตโนมัติหากพบ ไฟล์ CSS ต้องถูกวางไว้ใน/templates/yourtemplate/css/
โฟลเดอร์และชื่อจะต้องYOURTEMPLATEFOLDER-custom.css
เป็น
ตัวอย่าง:หากคุณกำลังใช้ฟรีของพวกเขาแม่ไดเรกทอรีแม่แบบเริ่มต้นคือAfterburner 2
/templates/rt_afterburner2/
เพิ่มไฟล์ที่เรียกว่าrt_afterburner-custom.css
(carefull with underscore and hyphen) ไปที่ / css / โฟลเดอร์ย่อยและมันจะถูกโหลดโดยอัตโนมัติโดย Gantry framework
รูปที่ 5
แม่แบบ Shape 5 มาพร้อมกับcustom.css
ไฟล์เปล่าใน / css / ไดเรกทอรีย่อยของแม่แบบของคุณ เพียงเพิ่มสไตล์ของคุณลงในไฟล์นี้และจะรวมอยู่ในเลย์เอาต์ของคุณ
Gavick Pro
แม่แบบ Gavick Pro มาพร้อมกับoverrides.css
ไฟล์เปล่าใน / css / ไดเรกทอรีย่อย แต่โปรดทราบว่าไฟล์นี้ไม่ได้โหลดตามค่าเริ่มต้นคุณต้องเปิดใช้งานOverride CSS
ในแท็บการตั้งค่าขั้นสูงในการตั้งค่าแม่แบบ
Joomla Shine
สร้างไฟล์ CSS ที่กำหนดเองใน css / / โฟลเดอร์ย่อยของเช่นแม่แบบของคุณและระบุชื่อไฟล์ที่custom.css
Extensions -> Templates -> [template name] -> SEO & System -> Custom CSS/JS File(s)
กรอบงาน T3
เทมเพลตที่อ้างอิงกับ T3 Framework อาจ / อาจไม่รวมcustom.css
ไฟล์ใน / css / โฟลเดอร์ย่อยของเทมเพลตของคุณ (เพียงสร้างถ้ามันไม่มี) แต่เมื่อมีไฟล์จะถูกโหลดหลังจากไฟล์ CSS อื่น ๆ
Warp Framework
เทมเพลตที่ยึดตาม Warp Framework จะโหลดcustom.css
ไฟล์ที่พบใน / css / โฟลเดอร์ย่อยโดยอัตโนมัติ ไฟล์ CSS เพิ่มเติมสามารถโหลดได้โดยการเพิ่ม
$this->warp->stylesheets->add('css:yourcssfile.css');
/layouts/template.config.php
ไปยังแฟ้ม
JHtml::_('stylesheet', 'path/to/file')
มากกว่าที่addStyleSheet
เป็นที่ถกเถียงกันอยู่แล้วเกี่ยวกับคำตอบอื่น :) นอกเหนือจากนั้นคำตอบที่ดีเลือด จะมีประโยชน์สำหรับคนทั่วไปอย่างแน่นอน
JHtml::_
ใช้กับได้$this->template
อย่างไร?
JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/style.css');
ในฐานะของ Joomla 3.5 คุณสามารถสร้างไฟล์ชื่อuser.css
และวางไว้ใน:
แม่แบบ / Protostar css / / user.css
หมายเหตุ:ชื่อไฟล์จะต้องเป็นuser.css
เทมเพลต Protostar จะตรวจสอบว่า:
> 0
ขนาดของไฟล์หากตรงตามเงื่อนไขทั้งสองข้อมันจะนำเข้าไฟล์นี้โดยอัตโนมัติ
ดูคำขอดึงบน Github
เฟรมเวิร์กเทมเพลต Joomla อีกอันที่เอื้อต่อขั้นตอนการปรับแต่ง
แม่แบบ Helix Framework มอบวิธีที่ง่ายในการเพิ่มสไตล์ที่คุณกำหนดเองด้วย 2 วิธีที่สะดวก
ในแผงควบคุมเทมเพลตในแบ็กเอนด์จะมีฟิลด์ CSS ที่กำหนดเอง ที่นี่คุณสามารถพิมพ์ css ของคุณซึ่งจะถูกเพิ่มเป็นองค์ประกอบสไตล์ในส่วนหัวของหน้าของคุณและเช่นนั้นมันจะมีความสำคัญมากกว่าไฟล์ css ภายนอกอื่น ๆ แน่นอนว่าตัวเลือกนี้ไม่เหมาะถ้าคุณวางแผนที่จะเขียนกลุ่มของบรรทัดของ css ดังนั้นจึงมีวิธีที่สอง
ในฐานะแม่แบบเฟรมเวิร์กอื่น ๆ อีกมากมายHelixยังให้ความสามารถในการสร้างไฟล์ custom.css ของคุณ เพียงสร้างและวางไว้ในโฟลเดอร์ css ของแม่แบบ เทมเพลตจะแยกวิเคราะห์และจะรวมไว้ในส่วนหัวของหน้าเว็บของคุณ
Johanpw ทำงานได้ดีมากโดยตอบคำถามของเขาเอง ... โดยเฉพาะอย่างยิ่งเกี่ยวกับการแทนที่ CSS สำหรับเทมเพลตเชิงพาณิชย์จำนวนมาก
ฉันต้องการเพิ่มสองเซ็นต์ของฉันที่นี่เท่านั้น ...
ตามที่ Johanpw ขีดเส้นใต้การสร้างการแทนที่ CSS เป็นแนวทางปฏิบัติที่แนะนำ การรักษา CSS ที่กำหนดเองของคุณไว้ในไฟล์เดียวที่คุณรู้ว่ามันจะไม่ถูกลบหรือลบล้างหลังจากการอัปเดตเป็นสิ่งจำเป็น
นี่เป็นสิ่งสำคัญที่ต้องจำสำหรับส่วนขยาย Joomla ทั้งหมด อย่าพยายามเปลี่ยนไฟล์ css หลักของโมดูลหรือส่วนประกอบ ให้ลองสร้างไฟล์เทมเพลตที่กำหนดเองของคุณเองโหลดดีกว่าและสร้างสไตล์ที่กำหนดเองทั้งหมดของคุณขึ้นมา
ในกรณีที่เทมเพลตการค้าไม่มีวิธีเพิ่ม css override คุณสามารถใช้ส่วนขยายดังนี้: เพิ่ม CSS ที่กำหนดเองซึ่งอนุญาตสิ่งนี้ เพื่อสร้างไฟล์แทนที่ CSS ที่กำหนดเองของคุณและโหลดล่าสุด
ตัวเลือกอื่นที่ฉันมักทำในไซต์ที่ฉันจัดการคือการแก้ไขเทมเพลตและเพิ่มลิงค์ของตัวเองไปยังไฟล์ custom.css ของฉันก่อนแท็กส่วนหัวปิดของเทมเพลต นี่เป็นเรื่องเล็กน้อยจำง่ายและกู้คืนการแก้ไขซึ่งฉันไม่สามารถจัดการได้เมื่อมีการอัปเดตแม่แบบ
Gantry 5เป็นเวอร์ชันล่าสุดของกรอบงานแม่แบบที่ได้รับความนิยมและมีคุณสมบัติและความสามารถใหม่มากมาย
เกี่ยวกับการแทนที่ CSS มีความยืดหยุ่นและตัวเลือกมากมาย
การใช้ชุดรูปแบบไฮโดรเจนที่วางจำหน่ายเป็นเทมเพลต Gantry 5 มาตรฐานจะมีโฟลเดอร์ที่กำหนดเอง
โฟลเดอร์นี้มีไว้สำหรับผู้ใช้ในการวางไฟล์ / การแทนที่แบบกำหนดเองสำหรับโครงร่าง / เทมเพลตโครงสำหรับตั้งสิ่งของ (เพื่อไม่ให้สับสนกับการแทนที่เทมเพลต Joomla ซึ่งยังคงอยู่ในโฟลเดอร์ template / html) คุณสามารถใส่ไฟล์ custom.css ในนั้นได้ จากนั้นผ่าน Gantry Template Administration Panel คุณสามารถปรับแต่งเลย์เอาต์แม่แบบของคุณและใช้Custom CSS / JS Atom Particle (ฟีเจอร์ gantry 5 ใหม่) เพื่อเพิ่มcustom.cssของคุณไปยังเทมเพลต Gantry 5 ยังมีลิงก์สตรีมที่เรียกว่า(เช่นทางลัด) เพื่อเชื่อมโยงไฟล์ custom.css ของคุณได้อย่างง่ายดาย
ดังนั้นจากภายในอนุภาค Atom คุณจะเชื่อมโยงมันโดยใช้:
gantry-theme://custom/thing.css
gantry-theme://
ลัดเสมอจะอ้างถึงโฟลเดอร์กล้องแม่แบบปัจจุบัน
การใช้วิธีนี้เป็นวิธีที่มีประสิทธิภาพในการเพิ่ม custom.css สำหรับแม่แบบเฉพาะของแม่แบบ gantry5 ของคุณ
วิธีที่สองที่ใช้ได้ทั่วโลกสำหรับเทมเพลตโครงสำหรับตั้งสิ่งของทั้งหมดคือโดยการเพิ่มไฟล์custom.scssภายใน:
template_directory/custom/scss/custom.scss
การทำเช่นนั้น gantry5 จะทำการโหลดและคอมไพล์ไฟล์ scss นี้เสมอและกฎ css ใด ๆ ที่คุณใช้จะแทนที่กฎเริ่มต้นของเทมเพลต
ภายในไฟล์ scss คุณจะปรับได้อย่างสมบูรณ์แบบไม่ว่าจะใช้ SCSS หรือเพียงแค่ CSS คอมไพเลอร์สามารถรวบรวมทั้งสอง