/** * * @param tx_rnbase_util_FormTool $formTool * @param array $options * @return string */ public function makeClearLink(tx_rnbase_model_base $item, tx_rnbase_util_FormTool $formTool, $options = array()) { $out = $formTool->createSubmit('showDetails[' . $this->identifier . '][clear]', isset($options['label']) ? $options['label'] : '###LABEL_BTN_NEWSEARCH###', isset($options['confirm']) ? $options['confirm'] : '', $options); return $out; }
/** * Liefert die passenden Überschrift für die Tabelle * * @param array $columns * @param array $options * @param tx_rnbase_util_FormTool $formTool * @return array */ private static function getHeadline($columns = array(), $options, $formTool) { global $LANG; $arr = array(); if ($options->getCheckbox()) { $arr[] = ' '; // Spalte für Checkbox } if ($options->getAddRecordSprite()) { $arr[] = ' '; } foreach ($columns as $column => $data) { if ((int) $data['nocolumn']) { continue; } if ((int) $data['notitle']) { $arr[] = ''; continue; } $label = $LANG->getLL(isset($data['title']) ? $data['title'] : $column); if (!$label && isset($data['title'])) { $label = $LANG->sL($data['title']); } //es gibt die Möglichkeit sortable zu setzen. damit wird //nach dem title eine sortierung eingeblendet. //in $data['sortable'] sollte ein prefix für das feld stehen, sprich //der alias der tabelle um damit direkt weiterabeiten zu können. //einfach leer lassen wenn auf einen prefix verzichtet werden soll if (isset($data['sortable'])) { $label = $formTool->createSortLink($column, $label); } $arr[] = $label ? $label : $data['title']; } if ($options->getLinker()) { $arr[] = $LANG->getLL('label_action'); } return $arr; }
/** * * @param array $menuObjs * @param tx_rnbase_util_FormTool $formTool * @return array */ protected function initSubMenu(&$menuObjs, $formTool) { $items = $this->getSubMenuItems(); if (!is_array($items)) { return; } $menuItems = array(); foreach ($items as $idx => $tabItem) { $menuItems[$idx] = $tabItem->getSubLabel(); $menuObjs[$idx] = $tabItem; $out = $tabItem->handleRequest($this->getModule()); if ($out) { $this->showMessage($out, $tabItem); } } $menu = $formTool->showTabMenu($this->getModule()->getPid(), 'mn_' . $this->getFuncId(), $this->getModule()->getName(), $menuItems); return $menu; }
function setState() { if ($this->init) { return; } $sizes = $this->getLimits(); $menu = tx_rnbase_util_FormTool::showMenu($this->pid, $this->getDataName() . '_limit', $this->modName, $sizes); $this->setSetting('limit', $menu['value']); $this->setSetting('limitMenu', $menu['menu']); $count = $this->listSize; $results_at_a_time = $this->getSetting('limit'); $totalPages = ceil($count / $results_at_a_time); // Wir zeigen erstmal maximal 200 Einträge in diesem Menu. Bei sehr großen Listen // kommt es sonst zu Speicher-Problemen $pages = array(); for ($i = 0; $i < $totalPages; $i++) { if ($i > 200) { break; } $pages[$i * $results_at_a_time] = 'Seite ' . $i; } $menu = tx_rnbase_util_FormTool::showMenu($this->pid, $this->getDataName() . '_offset', $this->modName, $pages); $this->setSetting('offset', $menu['value']); $this->setSetting('offsetMenu', $menu['menu']); $this->init = TRUE; }
/** * Link zur Detailseite erzeugen * * @param Tx_Rnbase_Domain_Model_Base $item * @param tx_rnbase_util_FormTool $formTool * @param int $currentPid * @param Tx_Rnbase_Domain_Model_DataInterface $options * @return string */ public function makeLink($item, $formTool, $currentPid, $options) { $uidkey = $options->getShowDetailsKey() ? $options->getShowDetailsKey() : 'showDetails[' . $item->getTableName() . ']'; $label = $options->hasShowDetailsLabel() ? $options->getShowDetailsLabel() : '###LABEL_SHOW_DETAILS###'; return $formTool->createSubmit($uidkey . '[' . $item->uid . ']', $label); }