[TYPO3-german] TYPO3 4.2.10 - Backend-Modul (Fehler im Kickstarter?)

Stefan Kleinschmidt kleini at freakmail.de
Fri Dec 4 16:43:44 CET 2009


Hallo nochmal,

ich habe mir noch mal genauer andere Extensions angesehen (es gibt ja 
anscheinend eine Menge Varianten) und mir dann eine funktionierende 
Variante ausgesucht.
Die Anfrage kann also als gelöst betrachtet werden.

Mit der main-Routine, die der Kickstarter 0.4.0 erzeugt, scheint es auf 
jeden Fall ein Problem zu geben, es wird zweimal "doc->endDocument()" 
aufgerufen, einmal in jedem Zweig der "main" und einmal in 
"printContent()". Das erzeugt auf jeden Fall zweimal das Endskript und 
das schließende <body>-Tag.

Schönes Wochenende,

Stefan


Stefan Kleinschmidt schrieb:
> 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
>                }
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
>



More information about the TYPO3-german mailing list