Exemple #1
0
 /**
  * $$$ rob pointless getting elements not shown in the table view?
  * $$$ hugh - oops, they might be using elements in group-by template not shown in table
  * http://fabrikar.com/forums/showthread.php?p=102600#post102600
  * $$$ rob in that case lets test that rather than loading blindly
  * $$$ rob 15/02/2011 or out put may be csv in which we want to format any fields not shown in the form
  * $$$ hugh 06/05/2012 added formatAll() mechanism, so plugins can force formatting of all elements
  *
  * @param   JModel  $groupModel  Group model
  *
  * @return array element models
  */
 private function activeContextElements($groupModel)
 {
     $tableParams = $this->getParams();
     if ($this->formatAll() || $tableParams->get('group_by_template') !== '' && $this->getGroupBy() != '' || $this->outputFormat == 'csv' || $this->outputFormat == 'feed') {
         $elementModels = $groupModel->getPublishedElements();
     } else {
         /* $$$ hugh - added 'always render' option to elements, and methods to grab those.
          * Could probably do this in getPublishedListElements(), but for now just grab a list
          * of elements with 'always render' set to Yes, and "show in list" set to No,
          * then merge that with the getPublishedListElements.  This is to work around issues
          * where things like plugin bubble templates use placeholders for elements not shown in the list.
          */
         $alwaysRenderElements = $this->getAlwaysRenderElements(true);
         $showInList = $this->showInList();
         $elementModels = $groupModel->getPublishedListElements();
         $elementModels = array_merge($elementModels, $alwaysRenderElements);
     }
     return $elementModels;
 }