ซ่อน/แสดงหน้า widget ในแต่ละหน้า
Wednesday, August 7, 2013
หลังจากที่เราใส่ Widget(Gadget) ใน blogger มันก็จะแสดงทุกหน้าเพราะมันถูกตั้งค่าพื้นฐานมาอย่างนั้น แต่จากใช้งานจริงเราบางหน้าเราไม่ต้องการให้แสดง Widget หรือแสดงบาง Widget บางทีก็อยากให้เป็นหน้าที่ไม่มี Widget เลย นู่น นี่ นั่น แล้วแต่ว่าอยากให้หน้าตา blog ของเราออกมาเป็นอย่างไร
ก่อนเริ่มมาทำความเข้าใจลักษณะคำสั่งของ Widget ก่อนดีกว่ามองภาพกว้างๆให้เข้าใจไปเลยจะได้ไม่ต้องมาอ่านกันหลายๆรอบ (ความจริงเข้ามาอ่านบ่อยๆมันก็ดีกับผมนะ แต่คงเสียเวลาคุณน่าดู) มองภาพ กว้างๆพอเห็นไอเดียแล้วค่อยลงมือทำให้มันเข้าใจ (อย่าบอกว่าทำได้ถ้ายังไม่ได้ทำ)
ลักษณะโค้ดของ Widget ที่จะไปอยู่ใน template (แม่แบบ) มันจะไปสั่งให้แสดง content (เนื้อหา) ของ Widget โดยมันเป็นคำสั่งทั่วไปที่จะแสดงทุกหน้า(ทุก page) อาจมีเงื่อนไข(conditional tags)ของมันประกอบเช่นว่า แสดงเมื่อมีข้อมูลเช่น Widget "Profile" มันก็จะสั่งให้ template แสดงรายละเอียดของเจ้าของ blog
เราจะกำหนดให้มันแสดงหรือไม่แสดงในหน้าไหนก็ได้ตามใจเรา โดยการใส่เงื่อนไข(conditional tags) เพิ่มเข้าไปใน Widget เช่นเงื่อนไขว่า "ถ้าเป็นหน้าแรก(homepage) ให้แสดง Widget" คำว่า "ถ้าเป็นหน้าแรก" ก็คือเงื่อนไขที่เราใส่ให้ Widget นี้ครับ คลิกเพื่อดูรายละเอียดของเงื่อนไขต่างๆ การกำหนดเงื่อนไขการแสดงผลให้หน้าเว็บ
ลักษณะตัวอย่างที่เอาไปประยุกต์ใช้บ่อยๆ เช่น
- ให้แสดงแค่หน้าแรก
- ไม่ให้แสดงในหน้านี้เลย
- ไม่ให้บาง gadget แสดงในหน้านี้
- ให้แสดงเฉพาะหน้าที่กำหนด
อ้อสำคัญ วิธีนี้ใช้ไม่ได้กับ gadget ป้ายกำกับ(Labels) คลังบทความ(Archive) และ ผู้ติดตาม(Followers) กับ gadget พวกนี้ต้องใช้ CSS ครับ
Hide/Display Widget on specific pages for Blogger
1. เราต้องรู้ Widget ID (ก็ ID ของ Gadget นั่นแหละครับ) หรือ Section ID ของเราที่ต้องการแก้ไขการแสดงผล
เพื่อจะได้ไปใส่เงื่อนไขให้ถูกอันน่ะครับ ประมาณว่าอยากโทรหาหญิงก็ต้องรู้เบอร์เค้าสุ่มโทรไปทั่วคงไม่ได้คุย ไปนู่นเลย และ Section ID ก็คือ ID ของพื้นที่แสดงผลส่วนต่างๆคลิกที่นี่เพื่อดูวิธีการหา ID ของ Widget และ Section
2. ไปดู HTML code ของ Widget หรือ Section ที่จะแก้ไข
2.1 ไปที่ Template(แม่แบบ)>Edit HTML (คือคลิกที่ Template พอมาหน้า Template แล้วก็คลิก Edit HTML)
2.2 หา Widget หรือ Section ในกล่อง HTML code โดยกด Ctrl+f (คลิกในกล่อง HTML code ก่อนสักทีนึงนะ search box จะได้อยู่ในกล่อง HTML code) ก็ใส่ ID ที่เราจะไปแก้ไขกด Enter มันก็จะพาเราไปอยู่ที่คำค้นหาจะมีแถบสีแสดงอยู่
2.3 คลิกเพื่อขยาย code ออก (คลิกที่สามเหลี่ยมดำเล็กๆใน code box ทางซ้ายบรรทัดเดียวกับ ID)
2.4. คลิกขยายอีกครั้งที่บรรทัด <b:includable id='main'> (อยู่ถัดไปด้านล่างบรรทัดของ ID)
หน้าตาโค้ดของก็จะออกมาประมาณนี้แต่อาจแตกต่างไปในบาง widget ไม่ต้องตกใจบทความนี้ให้สนใจแค่ 2 บรรทัด คือ <b:includable id='main'>
และ </b:includable> code ที่อยู่ระหว่างสองบรรทัดนี้ก็คือ content ของ widget
3. เลือกเงื่อนไข(conditional tags) โดยเลือกจากบทความนี้ก็ได้ครับ กำหนดเงื่อนไขการแสดงผลให้หน้าเว็บ copy เงื่อนไขที่จะใช้มาเลย
4. วางเงื่อนไขเข้าไปใน code
4.1 วางโค้ดที่เรา copy มาจากขั้นที่ 3. ไว้ต่อจาก <b:includable id='main'>
4.2 วาง </b:if> ไว้ตรงหน้า </b:includable> (อ่าน Note ท้ายบทความก่อนวาง tag นี้)
ตามภาพตัวอย่างด้านล่าง (โค้ดของคุณอาจแตกต่างไปแล้วแต่ widget)
5. คลิก Save Template แล้วก็ไปดูผลงานเลย
Note: บางคนพอใจบางคนยังไม่จบเพราะว่าบาง Template ถึง widget มันไม่แสดงแต่พื้นหลังของมันยังแสดงอยู่ เพื่อแก้ไขตรงนี้ให้เราต้องเปลี่ยนโค้ดข้อ 4.2 </b:if> เป็น
<b:else/>
<style type='text/css'>
#WidgetID {display:none;}/*to hide empty widget box*/
</style>
</b:if>
โดยเปลี่ยน WidgetID เป็น Widget ID ของเรา วางแล้วก็ Save Template ไปดูอีกรอบ
แค่นี้ครับ จบ
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment