/** * $$$ 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; }