MenuArea Elemanı  

Top  Previous  Next

MenuArea elemanı üretilen DHTML menünün sayfa üzerinde konumlanacağı yeri belirler ve gerekli javascript dosyalarını sayfaya bağlar.

MenuArea

Eleman ihtiyaca göre sayfanın üst tarafında yatay olarak veya sayfanın sol tarafında dikey olarak kullanılabilir.Menü alanını dilediğiniz gibi, menü tasarımına uygun bir şekilde, yeniden boyutlandırabilirsiniz.

Menü tüm uygulama sayfaları veya çoğunluk sayfalar için geçerli olacak ise bu eleman site şablonuna yerleştirilebilir. İstenirse sadece menünün gösterilmesi gereken sayfalara da yerleştirilebilir.

"Menü Konfigürasyonu" Özelliği

En dıştaki panel elemanı üzerinde sağlanan "Menü Konfigürasyonu" özelliği ile Genel Tanımlar sayfasında konfigüre edilmiş olan MenuConfig elemanı ile bir bağ kurulması sağlanır.

MenuArea Elemanın Uyarlanması

MenuArea elemanı içinde 2 adet javascript elemanı bulunmaktadır.

3. parti DHTML menü yazılımını sayfaya bağlayan javascript elemanı

Sol taraftaki javascript elemanı 3. parti tedarikçilerden temin edilmiş olan ve menü javascript fonksiyonları içeren javascript dosyasını sayfaya bağlamaktadır. Mevcut eleman, "Sothink DHTML Menu" fonksiyonlarını içeren stm31.js dosyasına ayarlanmıştır. Ancak bu dosya lisans gerektirdiğinden kütüphanede yer almamaktadır.

Siz dilediğiniz 3. parti DHTML menü yazılımını kullanabilirsiniz. Yapmanız gereken ilgili javascript dosyasını projeye dahi etmek ve MenuArea elemanının içinde sol tarafta bulunan javascript elemanı üzerinden sayfaya bağlamaktır.

Menü Servisini sayfaya bağlayan javascript elemanı

Sağ tarafta bulunan javascript elemanı ise kaynak olarak menü servisini göstermekte ve ona gerekli parametreleri iletmektedir. Normal kullanım şartlarında bu eleman tanımı üzerinde bir değişiklik yapmaya gerek yoktur. Ancak yine de servis parametrelerini incelemekte yarar var.

Elemanın "Harici Script" özelliğinde belirlenmiş olan ve menü javascript dosyasını üreten servisin çağrılma ifadesi şu şekildedir.

GenerateMenu.doms?uid=$vof(/request.RefreshId)&config=%vof(@MenuArea/menuConfig)&_enc=%vof(/charset)

Servis Parametreleri

uid

Benzersiz Kimlik Değeri. Mevcut değer ataması $vof(/request.RefreshId) tanımı ile yapılmıştır. "request" veri kaynağı içinde yer alan "RefreshId" düğümünün değeri MoreMotion tarafından belirlenir ve her yeni oturum açıldığında, oturum sonlandığında ve kullanıcı yetkilere değiştiğinde bu değer de değişir.

config

Genel Tanımlar sayfasına yerleştirilmiş olan MenuConfig elemanının adı. Bu parametre menü konfigürasyonuna ulaşmak için gereklidir.

_enc

Sayfanın kodlama değeri. Menü servisi tarafından oluşturulacak olan javascript dosyasının kodlama değerinin sayfanın kodlama değeri ile uyumlu olması gerekir ve bu parametre sayfanın kodlama değerini menü servisine iletir.

 

Bu parametrelerin değerleri değişmedikçe Menü Servisi çağrılmayacaktır. Eğer başka durumlarda da menünün yeniden üretilmesi isteniyor ise o zaman yeni bir parametre ekleyin ve değerini siz belirleyin.

Çok dilli menü üretimi

Örneğin eğer uygulamanızın birden fazla dili desteklemesi gerekiyor ise o zaman servis parametreleri aşağıdaki gibi

GenerateMenu.doms?uid=$vof(/request.RefreshId)&config=%vof(@MenuArea/menuConfig)&_enc=%vof(/charset)&_lang=$vof(/request.LANG)

 

MenuConfig Elemanının özelliklerinde yer alan menü sorgusu ise aşağıdaki gibi uyarlanabilir.

select

  H as H, 

  @vof(LANG) as CAPTION,

  HREF as HREF, 

  CPNAME as CPNAME 

from

  menu

order by

  H