โดยจะกล่าวถึงโครงสร้างทั่วไปสำหรับวิธีกำหนดเงื่อนไขให้คำสั่งต่างๆ เพื่อ ซ่อนหรือแสดงเครื่องมือบางอย่างในหน้าที่กำหนด หรือเปลี่ยนแปลงลักษณะพื้นหลังรวมทั้งรายละเอียดในหน้าต่างๆ ของบล็อกนั้น
ซึ่งถ้าหากเข้าใจบทความนี้แล้วก็จะช่วยให้ควบคุมเครื่องมือและลักษณะต่างๆ ของบล็อกได้สะดวกยิ่งขึ้น โดยสามารถทำได้ดังนี้
ลักษณะของเงื่อนไขเบื้องต้น
โดยทั่วไปแล้วเงื่อนไขสำหรับการแสดงผลของ Blogger นั้นจะมีลักษณะคือ
<b:if cond='เงื่อนไข'>
คำสั่ง
</b:if>
ความหมายคือ
ถ้าหน้าที่ผู้เข้าชมกำลังเปิดอยู่นั้นตรงกับ 'เงื่อนไข' ที่เลือกไว้
ก็จะเกิดการทำงานตาม คำสั่ง ที่เรากำหนด
ประเภทของเงื่อนไขที่ทำงานเมื่อตรงตามสิ่งที่เราระบุ
มีผลคือคำสั่งเหล่านั้นจะทำงานก็ต่อเมื่อ ระบบตรวจสอบแล้วพบว่าเงื่อนไข 'ตรง' กับสิ่งที่เราเลือกไว้ ซึ่งมีหลายชนิดดังนี้
1. Index (list) pages
ทำงานเมื่อเปิดรายการบทความ รวมทั้งการเปิดหน้าแรก การเข้าใช้ป้ายกำกับและคลังบทความของบล็อก
<b:if cond='data:blog.pageType == "index"'>
2. Post (item) pages
ทำงานเมื่อเปิดเนื้อหาบทความแบบเต็ม
<b:if cond='data:blog.pageType == "item"'>
3. Static pages
ทำงานเมื่อเข้าสู่หน้าเว็บอิสระของบล็อก
<b:if cond='data:blog.pageType == "static_page"'>
4. Archive pages
ทำงานเมื่อเข้าสู่คลังบทความของบล็อก
<b:if cond='data:blog.pageType == "archive"'>
5. Homepage
ทำงานเมื่อเปิดหน้าแรก
<b:if cond='data:blog.url == data:blog.homepageUrl'>
6. Specific page/URL
ทำงานเมื่อ URL ตรงตามระบุ
<b:if cond='data:blog.url == "PUT_URL_HERE"'>
7. Post and static pages
ทำงานเมื่อเปิดเนื้อหาบทความแบบเต็มหรือเข้าสู่หน้าเว็บอิสระ
<b:if cond='data:blog.url == data:post.url'>
8. Label-search pages
ทำงานเมื่อเลือกใช้ป้ายกำกับ
<b:if cond='data:blog.searchLabel'>
9. First post
ทำงานเมื่อเป็นบทความอันแรก
<b:if cond='data:post.isFirstPost'>
มีผลคือคำสั่งเหล่านั้นจะทำงานก็ต่อเมื่อ ระบบตรวจสอบแล้วพบว่าเงื่อนไข 'ไม่ตรง' กับสิ่งที่เราเลือกไว้
ทำได้โดยเปลี่ยนจากโค้ดในบรรทัดกำหนดเงื่อนไขจาก == ให้เป็น != เช่น
ให้คำสั่งนั้นทำงานเมื่อ 'เปิด' เนื้อหาบทความแบบเต็ม เขียนว่า
<b:if cond='data:blog.pageType == "item"'>
คำสั่ง
</b:if>
ให้คำสั่งนั้นทำงานเมื่อ 'ไม่ได้เปิด' เนื้อหาบทความแบบเต็ม
หรือก็คือคำสั่งจะทำงานในหน้าอื่นๆ ทั้งหมดแต่ยกเว้นเฉพาะขณะเปิดบทความแบบเต็ม เขียนว่า
<b:if cond='data:blog.pageType != "item"'>
คำสั่ง
</b:if>
ทำได้โดยใช้ <b:else/> คั่นระหว่างคำสั่ง
มีผลคือถ้าคำสั่งที่อยู่เหนือ <b:else/> ไม่ทำงานก็จะให้คำสั่งที่อยู่ใต้อ <b:else/> ทำงานแทน
ตัวอย่างเช่น
<b:if cond='data:blog.pageType == "item"'>
คำสั่งที่ 1
<b:else/>
คำสั่งที่ 2
</b:if>
ความหมายคือเมื่อเปิดหน้าเนื้อหาบทความแบบเต็มจะทำให้ 'คำสั่งที่ 1' ทำงาน แต่เมื่ออยู่ในหน้าอื่นๆ จะทำให้ 'คำสั่งที่ 2' ทำงานแทน
Credit: http://www.bloggersentral.com/2010/08/targeting-specific-pages-with.html
ทำงานเมื่อเปิดรายการบทความ รวมทั้งการเปิดหน้าแรก การเข้าใช้ป้ายกำกับและคลังบทความของบล็อก
<b:if cond='data:blog.pageType == "index"'>
2. Post (item) pages
ทำงานเมื่อเปิดเนื้อหาบทความแบบเต็ม
<b:if cond='data:blog.pageType == "item"'>
3. Static pages
ทำงานเมื่อเข้าสู่หน้าเว็บอิสระของบล็อก
<b:if cond='data:blog.pageType == "static_page"'>
4. Archive pages
ทำงานเมื่อเข้าสู่คลังบทความของบล็อก
<b:if cond='data:blog.pageType == "archive"'>
5. Homepage
ทำงานเมื่อเปิดหน้าแรก
<b:if cond='data:blog.url == data:blog.homepageUrl'>
6. Specific page/URL
ทำงานเมื่อ URL ตรงตามระบุ
<b:if cond='data:blog.url == "PUT_URL_HERE"'>
7. Post and static pages
ทำงานเมื่อเปิดเนื้อหาบทความแบบเต็มหรือเข้าสู่หน้าเว็บอิสระ
<b:if cond='data:blog.url == data:post.url'>
8. Label-search pages
ทำงานเมื่อเลือกใช้ป้ายกำกับ
<b:if cond='data:blog.searchLabel'>
9. First post
ทำงานเมื่อเป็นบทความอันแรก
<b:if cond='data:post.isFirstPost'>
ประยุกต์ให้เงื่อนไขทำงานก็ต่อเมื่อไม่ตรงตามสิ่งที่ระบุ
มีผลคือคำสั่งเหล่านั้นจะทำงานก็ต่อเมื่อ ระบบตรวจสอบแล้วพบว่าเงื่อนไข 'ไม่ตรง' กับสิ่งที่เราเลือกไว้
ทำได้โดยเปลี่ยนจากโค้ดในบรรทัดกำหนดเงื่อนไขจาก == ให้เป็น != เช่น
ให้คำสั่งนั้นทำงานเมื่อ 'เปิด' เนื้อหาบทความแบบเต็ม เขียนว่า
<b:if cond='data:blog.pageType == "item"'>
คำสั่ง
</b:if>
ให้คำสั่งนั้นทำงานเมื่อ 'ไม่ได้เปิด' เนื้อหาบทความแบบเต็ม
หรือก็คือคำสั่งจะทำงานในหน้าอื่นๆ ทั้งหมดแต่ยกเว้นเฉพาะขณะเปิดบทความแบบเต็ม เขียนว่า
<b:if cond='data:blog.pageType != "item"'>
คำสั่ง
</b:if>
เงื่อนไขที่สลับการทำงานเมื่อต่างจากสิ่งที่ระบุ
ทำได้โดยใช้ <b:else/> คั่นระหว่างคำสั่ง
มีผลคือถ้าคำสั่งที่อยู่เหนือ <b:else/> ไม่ทำงานก็จะให้คำสั่งที่อยู่ใต้อ <b:else/> ทำงานแทน
ตัวอย่างเช่น
<b:if cond='data:blog.pageType == "item"'>
คำสั่งที่ 1
<b:else/>
คำสั่งที่ 2
</b:if>
ความหมายคือเมื่อเปิดหน้าเนื้อหาบทความแบบเต็มจะทำให้ 'คำสั่งที่ 1' ทำงาน แต่เมื่ออยู่ในหน้าอื่นๆ จะทำให้ 'คำสั่งที่ 2' ทำงานแทน
Credit: http://www.bloggersentral.com/2010/08/targeting-specific-pages-with.html
2 ความคิดเห็น:
แล้วจะต้องวางไว้ตรงไหน ? คำสั่งถึงจะทำงานคะ
โดยทั่วไปนั้นวางไว้หลังจาก
]]></b:skin>
ก็สามารถทำงานได้แล้วครับ
ซึ่งสามารถดูตัวอย่างที่โค้ดไม่ยาวมากนักได้ตามลิงก์ข้างล่างนี้
http://tip.maxlayout.com/2012/02/hide-all-posts-from-blogger-homepage.html
แสดงความคิดเห็น
หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น