Bu yazımda, statik sayfalara da modül eklemenin mümkün olduğunu göstereceğim. Ekibimize ulaşan bir mobilya & dekorasyon sitesi webmaster'ı, kampanyalarına ilişkin reklamları sayfalarında göstermek istediklerini ancak modül tarafından oluşturulan dinamik sayfalara sabit içerikten başka içerik ekleyemediklerini belirtti.
Çözüm:
İlk olarak skin.ascx dosyasına aşağıdaki kodu ekliyoruz. Div için id ve Regex ifadesine dikkat ederek...
<% If Regex.IsMatch (Request.URL.ToString, "REGEX'i Buraya Yazıyoruz") Then %>
<
div
id
=
"EkstraPanel"
runat
=
"server"
></
div
>
<% End If %>
İfademizde ASP.NET Regex kullanarak istenilen URL ile eşleştirmeyi hedefledik.
http://www.dinamiksite.com/dinamiksayfamiz/tabid/14/yaziTipi/YaziGoster/yazıId/12/Ornek-Sayfa.aspx
Yukarıdaki bağlantıda YaziGoster benzersiz parametre olarak öne çıkıyor.
<% If Regex.IsMatch (Request.URL.ToString, "YaziGoster") Then %>
Girdiğimiz Regex değerinin mutlaka Raw URL ile eşleşmesi gerekiyor. DotNetNuke'de Friendly URL desteği de mevcut. Ancak Friendly URL'lerde sayfaları belirlemekte kullanılan tabid parametresi bulunmuyor.
<!-- <%= Request.URL.ToString %> -->
HTML Comment (<!-- -->) normal görünümde yer almasa da kaynak kodunda ifadenin yer alması için kullanılıyor.
Son örneğimizde ise, ekstra panel yalnızca regex url ile eşleştiğinde ve sayfayı isteyen kişi portal yöneticileri grubunda ise gösteriliyor.
<% If Regex.IsMatch (Request.URL.ToString, "YaziGoster") AND DotNetNuke.Security.PortalSecurity.IsInRoles(PortalSettings.AdministratorRoleName) Then %>
<
div
id
=
"EkstraPanel"
runat
=
"server"
></
div
>
<% End If %>