[TYPO3-german] TYPO3 4.2.10 - Backend-Modul
Stefan Kleinschmidt
kleini at freakmail.de
Wed Dec 2 17:37:24 CET 2009
Hallo zusammen,
ich baue gerade an meinem ersten Backend-Modul, es funktioniert alles
auch wunderbar... Fast, denn IE 7 und 8 wollen bei meiner Listenansicht
partout keinen vertikalen Scrollbalken im Frame anzeigen (der Frame hat
übrigens die gleichen Eigenschaften wie in allen anderen
Backend-Ansichten: noresize, scrolling="auto" etc.).
Der Code zur Generierung der Seite stammt aus dem Kickstarter in der
Variante, bei der man eine Template-Datei erstellt bekommt. Verwende ich
die andere Variante, weigert sich auch Firefox den Scrollbalken anzuzeigen.
Im Netz habe ich zu dem Problem nichts gefunden, außer einem
unbeantworteten Forenpost, der schon etwas älter ist, wo jemand dasselbe
Problem hatte.
Hatte das Problem auch schon jemand oder kann mir jemand sagen, an
welcher Stelle ich mich blöd anstelle?
Vielen Dank,
Stefan
P.S.:
Anbei die Kern-Methoden des Moduls. Die Template-Datei habe ich nicht
verändert.
function main() {
global
$BE_USER,$LANG,$BACK_PATH,$TCA_DESCR,$TCA,$CLIENT,$TYPO3_CONF_VARS;
// Access check!
// The page will show only if there is a valid page
and if this page may be viewed by the user
$this->pageinfo =
t3lib_BEfunc::readPageAccess($this->id,$this->perms_clause);
$access = is_array($this->pageinfo) ? 1 : 0;
// initialize doc
$this->doc = t3lib_div::makeInstance('template');
$this->doc->setModuleTemplate(t3lib_extMgm::extPath('anuk_pbsurvey_out')
. 'mod1//mod_template.html');
$this->doc->backPath = $BACK_PATH;
$docHeaderButtons = $this->getButtons();
if (($this->id && $access) ||
($BE_USER->user['admin'] && !$this->id)) {
// Draw the form
$this->doc->form = '<form action=""
method="post" enctype="multipart/form-data">';
// JavaScript
$this->doc->JScode = '
<script language="javascript"
type="text/javascript">
script_ended = 0;
function jumpToUrl(URL) {
document.location = URL;
}
</script>
';
$this->doc->postCode='
<script language="javascript"
type="text/javascript">
script_ended = 1;
if (top.fsMod)
top.fsMod.recentIds["web"] = '.intval($this->id).';
</script>
';
// Render content:
$this->moduleContent();
} else {
// If no access or if ID == zero
$docHeaderButtons['save'] = '';
$this->content.=$this->doc->spacer(10);
}
// compile document
$markers['FUNC_MENU'] = t3lib_BEfunc::getFuncMenu(0,
'SET[function]', $this->MOD_SETTINGS['function'],
$this->MOD_MENU['function']);
$markers['CONTENT'] = $this->content;
// Build the <body> for the module
$this->content =
$this->doc->startPage($LANG->getLL('title'));
$this->content.=
$this->doc->moduleBody($this->pageinfo, $docHeaderButtons, $markers);
$this->content.= $this->doc->endPage();
$this->content =
$this->doc->insertStylesAndJS($this->content);
}
/**
* Prints out the module HTML
*
* @return void
*/
function printContent() {
$this->content.=$this->doc->endPage();
echo $this->content;
}
/**
* Generates the module content
*
* @return void
*/
function moduleContent() {
$content = $this->render();
$this->content.=$this->doc->section('',$content,0,1);
}
function render()
{
//Erzeugt eine Tabelle mit doc->table und gibt den
erzeugten String zurück
}
More information about the TYPO3-german
mailing list