Beispiel Submenu

Das Modul listet alle Unterpunkte des aktuellen Eintrages auf.

Beispiel: Ist der aktuelle Punkt 002, werden die Punkte 002.001, 002.002, 002.003, usw. aufgelistet.


Var cms_Version       : Integer  := 4
Var cms_ModuleVersion : Integer  := 2
Var cms_ShowModule    : String   := 'execmacro="Submenu"'
Var cms_Functions_1   : String   := ''

Include ../sysmod/cms_sub.mod


Procedure cmsMain (nLfdWEB : Integer; cSpacer, cSes, cURL, cParam : String) : String
  cms_cSpacer := cSpacer
  cms_cSes    := cSes
  cms_cURL    := cURL
  cms_cParam  := cParam

  cms_cLan    := cms_GetLan (nLfdWEB)

  ////
  Var nRec : Integer
  Var nLfd : Integer
  Var n    : Integer := 0
  Var db   : Integer := cms_GetTable ('cms_web')

  Var aRecs : Integer []

  cms_nLfdWEB := cms_RealLfd (db, nLfdWEB)

  Access (db, 'cms_web.in2')  .. Position
  nRec := FindRec (db, Str(cms_nLfdWEB), 'cms_web.in2')
  DelMarks (db)

  While nRec>0
    ReadRec(db, nRec)
    If GetRField (db, 'Link_Web') = cms_nLfdWEB
      If GetRField (db, 'Pos_Web') > 0
        SetMark (db, nRec)
      End
      nRec := NextRec (db)
    Else
      nRec := 0
    End
  End

  InitArray (aRecs [NMarks (db)])
  GetMarks (db, aRecs)

  n := 0
  While n < High (1, aRecs)
    nRec := aRecs [n]
    ReadRec (db, nRec)
    nLfd := AutoRecNo (db)
    nLfd := cms_FindByLan (db, nLfd, cms_cLan)
    If nLfd > 0
      ReadRec (db, FindAuto (db, nLfd))
      If cms_InMenu (db) = JA
        cms_WriteText('<a href="'+cms_GetLink (nLfd, 0)+'">')
        cms_WriteText(GetField(db,'Name'))
        cms_WriteText('</a><br><br>')
      End
    End
    n ++
  End

  Subst(cSpacer,'')
  Return cSes
EndProc
eforia® web manager Dokumentation
Stand V 3.01 / 20.12.2010
© Horst Klier
http://www.klier.net
Impressum