---
title: "ie_clearing + div#footer + adminpanel mitten im Inhaltsbereich"
url: "https://www.typo3.net/d/82021-ie-clearing-divfooter-adminpanel-mitten-im-inhaltsbereich"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage","HTML & CSS"]
created: "2008-09-22"
last_reply: "2008-09-22"
replies: 0
solved: false
page: 1
pages: 1
lang: "de"
---

# ie_clearing + div#footer + adminpanel mitten im Inhaltsbereich

Extensions › Entwicklung · 0 Antworten · gestartet 2008-09-22

## Eröffnungsbeitrag

**Hurix** · 2008-09-22 · [Beitrag #1](https://www.typo3.net/d/82021-ie-clearing-divfooter-adminpanel-mitten-im-inhaltsbereich/1)

Hallo,

Ich schreib grad meine erste Extension für Typo3 und benutz für die Seite eben YAML und den Autoparser.
Das Layout ist ungefähr so:
Code:

```html
<div id="head" />
<div id="col1" /><div id="col3">inhalt</div><div id="col2">
<div id="footer" />
```

Meine Extension erzeugt im col3 den Inhalt. Jetzt hab ich allerdings das Problem, dass mir Inhalt den ich in keiner meiner Zeilen ausgebe oder bearbeite, direkt mittenrein rutscht.
Der Inhalt besteht aus einer Liste, einem Formular und einer Tabelle in dieser Reihenfolge.
Jetzt hab ich aber direkt zwischen dem Formular und der Tabelle folgendes:
Code:

```html
</form>
<div id="ie_clearing"> </div>
<div id="footer">...</div>
<a name="TSFE_ADMIN" />
<table>
```

Wenn ich mir jetzt allerdings den Quelltext der Seite anzeigen lasse, ist der div#footer nicht an dieser Stelle sondern genau da, wo er hingehört; ganz unten, abschließend. #angry# Ich hab auch schon versucht, im Browser Javascript zu deaktivieren, leider hat mir das gar nichts gebracht.

Ich such jetzt im Endeffekt eine Möglichkeit, diese Manipulation zu verhindern/vermeiden.
Wenn mir irgendwer in der Hinsicht helfen könnte, wär ich sehr dankbar.

Hier ist der Quelltext der direkt für die Ausgabe zuständig ist:

```php
function getExposeList($lMarkerArray, $sTemplate)
    {
        $iPageEntrys = (isset($this->lConf['page_entrys']) && !empty($this->lConf['page_entrys'])) ? $this->lConf['page_entrys'] : 5;
        $iPageCounter = ceil(sizeof($lMarkerArray)/$iPageEntrys);
        if(!isset($_GET['p']) || empty($_GET['p']) || !ctype_digit($_GET['p']) || $iPageCounter <= $_GET['p'])
            $iPageNumber = 0;
        else
            $iPageNumber = (int)trim($_GET['p']);

        $this->sTemplatePager = $this->getPagerTemplate($iPageNumber, sizeof($lMarkerArray), $iPageEntrys);                 

        $content = '';
        $sTemplateForm = '';
        /* create table head */
        $sTemplateHead = $this->cObj->getSubpart($sTemplate, '###TEMPLATE_HEAD###');
        $sTemplateHead = preg_replace('/###REQUEST_URI###/', htmlspecialchars($_SERVER['REQUEST_URI']), $sTemplateHead);
        $sTemplateHead = preg_replace('/###TEMPLATE_PAGER###/', $this->sTemplatePager, $sTemplateHead);
        if(!isset($_GET['p']))
            $sTemplateHead = preg_replace(
                '/###PAGER_URI###/',
                strpos($_SERVER['REQUEST_URI'], '?') ? htmlspecialchars($_SERVER['REQUEST_URI']).'&p=' : htmlspecialchars($_SERVER['REQUEST_URI']).'?p=',
                $sTemplateHead
            );
        else
        {
            $path = substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], '?') || strlen($_SERVER['REQUEST_URI'])-1);
            $query = '?';
            foreach($_GET as $key => $val)
            {
                if($key != 'p')
                {
                    if($query != '?') $query .= '&';
                    $query .= urlencode($key).'='.urlencode($val);
                }
            }
            if($query != '?') $query .= '&';
            $query .= 'p=';
            $sTemplateHead = preg_replace('/###PAGER_URI###/', htmlspecialchars($path.$query), $sTemplateHead);
        }
        if(!empty($this->sSorting))
        {
            $sTemplateHead = preg_replace('/###OPTION_SELECTED_'.strtoupper($this->sSorting).'###/', 'selected="selected"', $sTemplateHead);
            $sTemplateHead = preg_replace('/###OPTION_SELECTED_[^#]+###/', '', $sTemplateHead);
        }       
        $head = array(  'rooms'         => 'Zimmer<br />Stadt/Kreis',
                        'area'          => 'Wohnfläche/Nutzfläche<br />Stadtteil/Ort',
                        'price'         => 'Miete/Kaufpreis<br />Straße',
                        'foto'          => 'Foto');
        foreach ($head as $part => $value)
        {
            $sTemplateHead = preg_replace('/###TABLE_HEAD_'.strtoupper($part).'###/', $value, $sTemplateHead);
        }

        /* apply other parts */
        $sTemplateFoot = $this->cObj->getSubpart($sTemplate, '###TEMPLATE_FOOT###');

        /* well.. this is the place to concat the heading formular and pages list with the head of the table */
        $content .= $sTemplateForm.$sTemplateHead;

        /* and now lets parse the table */
        $sTemplateBackup = $this->cObj->getSubpart($sTemplate, '###TEMPLATE_LIST_EXPOSE###');
        $sTemplateExpose = $sTemplateBackup;
        
        // Process subpart for attachments
        // iPageNumber - iPageEntrys
        
        for($i = $iPageNumber*$iPageEntrys;$i<($iPageEntrys*($iPageNumber+1)) && $i<sizeof($lmarkerarray);$i++) smarker="/###REQUEST_URI###/" stemplateexpose="" htmlspecialchars_serverrequest_uri="" iterate="" through="" markerarray="" lvl1="" foreach="" lmarkerarrayi="" as="" setting=""> $value)
            {
                // replace marker with content values
                $sMarker = '/###'.strtoupper($setting).'_VALUE###/';
                if($setting == "uuid")
                {
                    if (strpos($_SERVER['REQUEST_URI'], '?'))
                        $connector = '&uuid=';
                    else
                        $connector = '?uuid=';

                    $value = $connector.$value;
                }
                if(is_array($value) || is_object($value))
                {
                    // if there is a lvl2, iterate through and replace markers
                    foreach ($value as $setting2 => $value2)
                    {
                        $sMarker = '/###'.strtoupper($setting2).'_VALUE###/';
                        $sTemplateExpose = preg_replace($sMarker, $value2, $sTemplateExpose);
                    }
                }
                else
                {
                    $sTemplateExpose = preg_replace($sMarker, $value, $sTemplateExpose);
                }
            }

            // add entry to the content
            $content .= $sTemplateExpose;
            $sTemplateExpose = $sTemplateBackup;
        }
        $content .= $sTemplateFoot;
        return $content;
    }
```

Wie ihr seht verwende ich hier $_GET und $_POST. Ich wär auch sehr Dankbar über einen Rat wie man das richtig/besser macht, oder einen Link zu einem passenden **kurzen** Tutorial. Ich hab nämlich gemerkt, dass die Werte erst verarbeitet/übernommen werden, wenn ich einen NoCache-Refresh im Browser mit nochmaligem Senden der Daten mach.
Auch alle anderen Tipps und Ratschläge die meinen Code angehen, würden mich froin!

[Link zur Seite](http://p20641.typo3server.info/index.php?id=804)

---

Quelle: „ie_clearing + div#footer + adminpanel mitten im Inhaltsbereich“, typo3.net, https://www.typo3.net/d/82021-ie-clearing-divfooter-adminpanel-mitten-im-inhaltsbereich
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
