scaBreadCrumb

概要: 

scaBreadCrumbユーザーコントロールは、サイト内で訪問したページデータをキープするためにスタイリッシュなパンくずリストナビゲーションメニューを提供します。

対象環境:

Web

使用方法 : 

web form上のメニューとして表示したい場所にscaBreadCrumbをDrag and dropします。通常は、Web Componetとしてこのメニューは表示します。

注意: Work With Patternを使用している場合は、RecentLinks web componentの中で本コントロールは使用可能です。

上の例のようにするには、次のようにコーディングします。

Event Start
    &LinkList = new()
    &LinkListItem = new()
    &LinkListItem.Caption = "Sample page 1"
    &LinkListItem.URL = Home.Link()
    &LinkList.Add(&LinkListItem)
    
    &LinkListItem = new()
    &LinkListItem.Caption = "Sample page 2"
    &LinkListItem.URL = Home.Link()
    &LinkList.Add(&LinkListItem)
    
    &LinkListItem = new()
    &LinkListItem.Caption = "Sample page 3"
    &LinkListItem.URL = Home.Link()
    &LinkList.Add(&LinkListItem)
    

    scaBreadCrumb1.HomeURL = Home.Link() //this URL will be called when the user clicks on the home image.
EndEvent

次にユーザーコントロールのData Propertyに&LinkList変数を割り当てします。toolboxよりコントロールをdrag and dropして Master Pageに設置してください。

既に説明したように Work With PatternのRecentLinksWCより生成されたメニューの代わりに使用する場合は、web formのコンテンツより削除して、ユーザーコントロールをdrag and dropして設置し、そのData Propertyに&RecentLinksItems変数を設定してください。 標準のフリースタイルグリッドの代わりにユーザーコントロールのEventを使用するようにしてください。

Event Start
    // カレントリンクをLoadします。
    &RecentLinksItems.FromXml(&Session.Get(!"RecentLinks"))

    // 現在のカレントが存在する場合は、リストから削除します。
    &i = 1
    Do While &i <= &RecentLinksItems.Count
        &RecentLinksItem = &RecentLinksItems.Item(&i)
        If Trim(&RecentLinksItem.Caption) = Trim(&FormCaption)
            &RecentLinksItems.Remove(&i)
        Else
            &i += 1
        EndIf
    EndDo

    // リストを短くする必要があれば、RecentLinksOptions.Size itemsの表示する数を定義します。
    Do While &RecentLinksItems.Count > RecentLinksOptions.Size - 1
        &RecentLinksItems.Remove(1)
    EndDo

    // 新しいlinkを格納します。
    &RecentLinksItem = new()
    &RecentLinksItem.Caption = Trim(&FormCaption)
    &RecentLinksItem.URL = &Request.ScriptName + !"?" + &Request.QueryString 
    &RecentLinksItems.Add(&RecentLinksItem)

    &Session.Set(!"RecentLinks", &RecentLinksItems.ToXml())

    // linksを表示します。
    /*
    For &i = 1 To &RecentLinksItems.Count
        &RecentLinksItem = &RecentLinksItems.Item(&i)
        Place.Caption = &RecentLinksItem.Caption
        If (&i < &RecentLinksItems.Count)
            Place.Link = Link(&RecentLinksItem.URL)
        Else
            Place.Link = ""
        EndIf

        Load
    EndFor
    */

   scaBreadCrumb1.HomeURL = Home.Link() // このURLは、home imageをクリックした際にjumpします
EndEvent
 

May 18th, 2011: 新しいTooltiptextプロパティをサポートしました。(未設定の場合は、Captionの情報がtooltipとして表示されます。) LinkTarget (default _self) を次のように使用することが可能です。

注意: 新たに追加されたfields(TooltipText CharacterやLinkTarget Character)は、ユーザーコントロールを設定しただけでは生成されません。

    &LinkList = new()
    &LinkListItem = new()
    &LinkListItem.Caption = "Sample page 1"
    &LinkListItem.URL = Home.Link()
    &LinkListItem.TooltipText = "Sample page 1"
    &LinkListItem.LinkTarget = "_blank"
    &LinkList.Add(&LinkListItem)

実行例: