[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