We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
  • Hi MODxers,

    Just want to share about the sequences of system events, especially when updating or creating resource.

    Before I examine this stuff, I guess that OnDocFormPrerender has been executed before OnDocFormRender. But I was wrong. I also found that the system events of the plugin did not affect Quick Create Resource or Quick Update Resource.


    I'm using MODx 2.2.5 pl. The sequences maybe differ from version to version.


    THE SEQUENCES & VARIABLES PROVIDED
    -----------------------------------------

    A. CREATE NEW RESOURCE

    • OnHandleRequest
    • OnManagerPageInit [$action = 55]
    • OnBeforeManagerPageInit [$action = ARRAY]
    • OnManagerPageBeforeRender [$controller = OBJECT]
    • OnDocFormRender [$id = 0, $resource = OBJECT, $mode = 'new']
    • OnResourceTVFormPrerender [$resource = 0]
    • OnTVInputRenderList
    • OnResourceTVFormRender [$categories = ARRAY, $template = 1, $resource = 0, $tvCounts = ARRAY, $hidden = ARRAY]
    • OnRichTextEditorRegister
    • OnRichTextEditorInit [$editor = TinyMCE, $elements = ARRAY, $id = 0, $resource = OBJECT, $mode = 'new']
    • OnDocFormPrerender [$id = 0, $mode = 'new']
    • OnManagerPageAfterRender [$controller = OBJECT]

    +++

    B. EDIT/UPDATE RESOURCE
    In this example, I edited resource with ID=14

    • OnHandleRequest
    • OnManagerPageInit [$action = 30]
    • OnBeforeManagerPageInit [$action = ARRAY]
    • OnManagerPageBeforeRender [$controller = OBJECT]
    • OnDocFormRender [$id = 14, $resource = OBJECT, $mode = 'upd']
    • OnResourceTVFormPrerender [$resource = 14]
    • OnTVInputRenderList
    • OnResourceTVFormRender [$categories = ARRAY, $template = 1, $resource = 14, $tvCounts = ARRAY, $hidden = ARRAY]
    • OnRichTextEditorRegister
    • OnRichTextEditorInit [$editor = TinyMCE, $elements = ARRAY, $id = 14, $resource = OBJECT, $mode = 'upd']
    • OnDocFormPrerender [$id = 14, $mode = 'upd', $resource = OBJECT]
    • OnManagerPageAfterRender

    +++

    C. SAVE RESOURCE

    • OnBeforeDocFormSave
    • OnDocFormSave



    Hope this help someone who want to create a new plugin...

    Cheers,
    Zaenal
      zaenal.lokamaya