จัดเตรียม ASP.NET HttpHandler เพื่อช่วยในการสร้างไฟล์ sitemap.xml แบบไดนามิก
นอกจากนี้ยังมีส่วนขยายเฉพาะของ Umbraco สำหรับ Sitemapify ที่รองรับการสร้างแผนผังเว็บไซต์จากเนื้อหา Umbraco CMS ดู Sitemapify.Umbraco สำหรับเอกสารเพิ่มเติม
Install-Package Sitemapify
กระบวนการติดตั้งควรอัปเดตไฟล์ web.config ของคุณเพื่อรวม httphandler เพื่อประมวลผลคำขอไปยัง sitemap.xml
ซึ่งควรมีลักษณะคล้ายกับ:
< configuration > < system .webServer> < handlers > < add name = " Sitemapify " path = " sitemap.xml " verb = " GET " type = " Sitemapify.SitemapifyHttpHandler, Sitemapify " /> handlers > system .webServer> configuration >
ตัวจัดการแผนผังไซต์สามารถปรับแต่งได้โดยการเปลี่ยนการกำหนดค่าพื้นฐานผ่านคลาสการกำหนดค่าคงที่ของ Sitemapify.Configure
Sitemapify . Configure ( c => c
. UsingContentProvider ( new YourContentProvider ( ) )
. UsingCacheProvider ( new YourCacheProvider ( ) )
. UsingDocumentBuilder ( new YourDocumentBuilder ( ) )
) ;
Sitemapify แบ่งออกเป็นผู้ให้บริการที่รับผิดชอบองค์ประกอบของการสร้างแผนผังเว็บไซต์
ISitemapifyContentProvider
) การใช้งานผู้ให้บริการเนื้อหาจะจัดเตรียม Sitemapify ด้วยคอลเลกชันของออบเจ็กต์ SitemapUrl
ที่เป็นตัวแทนของโหนดเพื่อส่งออกภายในแผนผังเว็บไซต์
public interface ISitemapContentProvider
{
IEnumerable < SitemapUrl > GetSitemapUrls ( ) ;
bool Cacheable { get ; }
DateTime CacheUntil { get ; }
}
ISitemapifyCacheProvider
)การใช้งานผู้ให้บริการแคชช่วยให้สามารถปรับแต่งกลไกการแคชที่ใช้ในการปรับการนำส่งแผนผังเว็บไซต์ไปยังเบราว์เซอร์ได้อย่างเหมาะสม เมื่อสร้างเอกสารแผนผังเว็บไซต์แล้ว เอกสารดังกล่าวจะถูกแคชผ่านการใช้งานที่กำหนดค่าไว้ของอินเทอร์เฟซนี้
public interface ISitemapCacheProvider
{
void Add ( XDocument sitemapContent , DateTimeOffset ? expires ) ;
bool IsCached { get ; }
XDocument Get ( ) ;
void Remove ( ) ;
}
ISitemapDocumentBuilder
) การใช้งาน ISitemapDocumentBuilder
ช่วยให้สามารถปรับแต่งเอกสารแผนผังเว็บไซต์ได้อย่างสมบูรณ์ การใช้งานเริ่มต้นจะสร้างเอกสารแผนผังเว็บไซต์ที่สอดคล้องโดยสมบูรณ์โดยอิงตาม sitemap.xsd อย่างเป็นทางการ
public interface ISitemapDocumentBuilder
{
XDocument BuildSitemapXmlDocument ( IEnumerable < SitemapUrl > sitemapUrls ) ;
}
Sitemapify.Umbraco เวอร์ชันนี้รองรับ Umbraco 8.1+ สำหรับการรองรับ Umbraco v7.* โปรดดูเวอร์ชัน 0.5.2
ขั้นแรกให้ติดตั้งส่วนขยาย Umbraco:
Install-Package Sitemapify.Umbraco
เมื่อคุณติดตั้ง Sitemapify.Umbraco แล้ว คุณสามารถสร้างส่วนประกอบเพื่อกำหนดค่า Sitemapify เพื่อใช้ "Umbraco Content Provider" ที่มีอยู่เพื่อสร้าง URL แผนผังไซต์ที่สร้าง sitemap.xml
public class SitemapifyComponent : IComponent
{
public void Initialize ( )
{
Configure . With ( config => config . UsingContentProvider ( new SitemapifyUmbracoContentProvider ( ) ) ) ;
}
public void Terminate ( ) { }
}
คุณจะต้องสร้าง UserComposer เพื่อลงทะเบียนส่วนประกอบ
public class SitemapifyComposer : IUserComposer
{
public void Compose ( Composition composition )
{
composition . Components ( ) . Append < SitemapifyComponent > ( ) ;
}
}
ตามค่าเริ่มต้น ผู้ให้บริการเนื้อหา Umbraco จะค้นหาคุณสมบัติของโหนดเนื้อหาที่มีชื่อเฉพาะ เพื่อพิจารณาว่าควรรวมโหนดใดโหนดหนึ่งไว้ในไฟล์แผนผังไซต์ที่สร้างขึ้นหรือไม่ ชื่อคุณสมบัติเหล่านี้คือ:
umbracoNaviHide
- True/False เพื่อตรวจสอบว่าโหนดนี้รวมอยู่ด้วยหรือไม่ (ค่าเริ่มต้น: false)sitemapifyExcludeChildren
- จริง/เท็จ เพื่อกำหนดว่าจะละเว้นโหนดย่อยทั้งหมดที่อยู่ใต้โหนดนี้ (ค่าเริ่มต้น: เท็จ)หากคุณต้องการแก้ไขนามแฝงคุณสมบัติเหล่านี้ คุณสามารถแทนที่ได้ผ่านการตั้งค่าแอปพลิเคชัน:
< appSettings > < add key = " Sitemapify.Umbraco:ExcludedFromSitemapPropertyAlias " value = " newPropertyAlias " /> < add key = " Sitemapify.Umbraco:ExcludedChildrenFromSitemapPropertyAlias " value = " anotherPropertyAlias " /> appSettings >