MenuConfig Elemanı  

Top  Previous  Next

MenuConfig elemanı menünün nasıl üretileceğini belirler. Eleman "Genel Tanımlar" sayfasına yerleştirilmeli ve özelikleri belirlenmelidir.

CompProps

 

Güvenlik Bölgesi Adı

Eğer menü seçeneklerinin güncel kullanıcı yetkilerine göre üretilmesi gerekiyor ise proje içinde bir güvenlik bileşeni (örneğin "mor.Security") konfigüre edilmeli ve güvenlik bileşeni tarafından tanımlanmış olan Güvenlik Bölgesinin adı bu özellikte verilmelidir.

Not: Bu ad çoğunlukla "main" olarak belirlenir.

Bağlantı Adı

Menü servisi menü seçeneklerini bir ilişkisel veri tabanından alır. Bu özellikte seçeneklerin elde edileceği veritabanı için "mor > RelDBConnection" elemanı ile tanımlanmış olan bir bağlantının adı verilmelidir.

Menü Sorgusu (SQL)

Menü seçeneklerini sağlayacak olan SQL Sorgusu.
 
Örnek Sorgu:

select

  H as H,  -- Menü Hiyerarşisi

  CAPTION as CAPTION, -- Seçenek Metni

  HREF as HREF, -- Seçenek Köprü Değeri

  CPNAME as CPNAME -- Kontrol Noktası Adı

from

  menu

order by

  H -- Hiyerarşiye göre artan sırada sıralı

Menü servisi, sonuç kümesinde bazı alanların yer almasını bekler. Bu alanlar:

H : Menü Hiyerarşisi. Bu zorunlu alan her seviye için 01 - 99 arası sayılardan oluşan sabit 2 karakterlik veri içermelidir.

Örnek Hiyerarşi Alanı Değerleri:

Hiyerarşi Değeri

Açıklaması

01

Birici seviyenin "01" sıra numaralı seçeneği

01.02

"01" sıra numaralı birinci seviye seçeneğin altında bulunan "02" sıra numaralı seçenek

01.03.01

"01" sıra numaralı birinci seviye seçeneğin altında bulunan "03" sıra numaralı ikinci seviye seçeneğinin altında bulunan "01" sıra numaralı seçenek.

Ayrıca sorgu bu alana göre artan sırada sıralanmalıdır.

Not: Eğer "Refrerans Alan(lar)" özelliğinin değeri "2. ID ve PARENT_ID Alanları" ise o zaman sonuç kümesi içinde "H" alanı yerine "ID" ve "PARENT_ID" alanları bulunmalıdır.

CPNAME : Kontrol Noktası Adı. Zorunlu değildir. Eğer menü seçeneğinin üretilmesi güncel kullanıcının yetkisine göre olacak ise bu alan güvenlik sisteminde tanımlı olan bir kontrol noktası değeri taşımalıdır.

HREF : Seçenek köprü değeri. Servis, HREF alan değerinin nasıl kullanılacağı konusunda bir sorumluluk üstlenmez. Sadece eğer bu alan sonuç kümesi içinde yer alıyorsa ve alan değeri "rand=" metni ile sonlanıyor ise o zaman bu sembolun değerine "getRand()" adlı javascript fonksiyonunu ekleyerek seçeneğin üzerine her tıklandığında sunucuya yeni bir istekte bulunulmasını sağlamış olur.

 
Sonuç kümesinde daha fazla alan olabilir ve bu alanların değerleri Menü JScript bölümleri içinde MScipt kodlamaları ile serbestçe kullanılabilir.

 
Menü JScript Bölümleri

Menü JScript bölümleri,  DHTML menüyü oluşturacak olan javascript dosyasının dinamik olarak örüldüğü bölümlerdir. Bu bölümler esas olarak javascript kodlarını ve kod parçalarını dinamik olarak belirlemeyi sağlayan MScript fonksiyonlarını içerir.

Menü servisi, menü örülmesine yardımcı olacak bazı MScript sembolleri sağlar. Bu semboller şunlardır:

MScript Sembolü

Açıklaması

menuLevel

Menü seçeneğinin seviyesini numara olarak verir.

firstInLevel

Eğer seçenek kendi seviyesi içindeki ilk seçenek ise "true" aksi takdirde "false" değeri verir.

menuDisabled

Kullanıcının CPNAME alanında belirtilen kontrol noktası üzerinde yetkisi yoksa ve "Yetkisiz Menüleri Etkisiz Olarak Göster" özelliğinin değeri "true" ise "true" değeri verir.

hasChildren

Menü seçeneği, alt seçenekler içeriyor ise "true" aksi halde "false" değeri verir.

H

Hiyerarşi değerini verir.

CPNAME

Varsa Kontrol noktası adını verir.

Sorgu sonuç kümesinde yer alan diğer alanlar

Menü sorgusunun döndürdüğü sonuç kümesinde yer alan tüm alanların adları birer MScript sembolü olarak kullanılabilir.

 

Üst

Menü javascript dosyasının en üstüne yerleştirilecek olan bölüm.

Menü Bölüm Başlangıcı

Bu bölümde yer alan kodlar her menü seçeneği öncesinde yer alır.

Menü Seçeneği

Bu bölümde yer alan kodlar menü seçeneğini belirleyen kodlardır.

Menü Bölüm Bitimi

Bu bölümde yer alan kodlar her menü seçeneği sonrasında yer alır.

Alt

Menü javascript dosyasının en altına yerleştirilecek olan bölüm.

Refererans Alan(lar)

Bu özellik ile menü ağacını oluşturmak için kullanılacak yöntem belirlenebilir. "1. H Alanı" seçilirse menü, sonuç kümesinde yer alan "H" alanının değerine göre yukarıda allatıldığı gibi oluşturulur.

Eğer "2. ID ve PARENTD_ID Alanları" seçeneği seçilirse o zaman sonuç kümesi içinde bu alanlar mevcut olmalıdır."PARENT_ID" alanı menü seçeneğinin ait olduğu üst seçeneğin kayıt numarasını ("ID" alanının değeri) belirler. Eğer bir seçeneğin "PARENT_ID" değeri "-1" ise o en üst seviye seçenek demektir.

ID ve PARENT_ID alanlarına göre düzenlenmiş örnek sorgu:

select

  ID as ID,  -- Menü seçenek kimliği

  PARENT_ID as PARENT_ID, -- Bağlı olduğu üst seçeneğin kimliği
  CAPTION as CAPTION, -- Seçenek metni

  HREF as HREF, -- Seçenek köprü değeri

  CPNAME as CPNAME -- Kontrol Noktası adı

from

  menu

order by

  CAPTION 

 
Yetkisiz Menüleri Etkisiz Olarak Göster

Bu özelliğin değeri "false" olarak bırakılır ise o zaman kullanıcının yetkisinin olmadığı menü seçenekleri menüye dahil edilmez. Eğer kullanıcının toplamda hangi seçeneklerin olduğunu görmesi ancak kullanamaması isteniyor ise o zaman bu özelliğe "true" değeri verilebilir.