I don't find the view groups/tool_latest

I want to control which modules are shown in the group but can not find the view that show the element <li>

In groups/profile/module.php the <li> element is created with the content of the module.

Then we have groups/profile/widgets.php that show the <ul> element which calls the groups/tool_latest view, where I understand the loop is created getting the group_module of the entities.

I could remove the extension plugins in the view from the start.php. But I don't want edit those plugins. I want to control which modules to display or not from a view or action from my theme.

Another alternative is to overwrite all group_module and comment views, but I think it's a bit incorrect.

Where is tool_latest? :) Any ideas?

  • This is one of the advantages of Elgg. To extend a view, it is not necessary that the view exists really. 

    If your need is to remove some group modules, then use the remove_group_tool_option() API.

  • Thanks for your answer, but this function doesn't delete the group module views, but group options.

    I make this (I have not found another way to do this :D):

    <?php
    function remove_all_group_modules($modules_mantener) {
        global $CONFIG;
        $modules_hay = $CONFIG->group_tool_options;
      
        if (!isset($modules_hay) || ($modules_hay == NULL)) {
            return;
        }
     
       foreach($modules_hay as $entity){
          elgg_unextend_view('groups/tool_latest', "$entity->name/group_module");
          if ($entity->name == "forum"){
             elgg_unextend_view('groups/tool_latest', "discussion/group_module");
          }
          if ($entity->name == "activity"){
             elgg_unextend_view('groups/tool_latest', "groups/profile/activity_module");
          }
          if ($entity->name == "subgroups"){
             elgg_unextend_view('groups/tool_latest', "au_subgroups/group_module");
          }
       }

    }

    foreach($modules_mantener as $module){
       elgg_extend_view('groups/tool_latest', "$module/group_module");
    }

    And in start.php

    //TODO: que los recoja de las settings del theme.
    $modules = array("bookmarks","blog");

    //se los pasamos a una función que elimina todos menos estos
    remove_all_group_modules($modules);

Beginning Developers

Beginning Developers

This space is for newcomers, who wish to build a new plugin or to customize an existing one to their liking