---
title: "wenn colPos = 2 nicht leer, dann"
url: "https://www.typo3.net/d/40445-wenn-colpos-2-nicht-leer-dann"
source: "typo3.net"
tags: ["Allgemein","Frage"]
created: "2006-03-29"
last_reply: "2009-08-17"
replies: 5
solved: false
page: 1
pages: 1
lang: "de"
---

# wenn colPos = 2 nicht leer, dann

Allgemein · 5 Antworten · gestartet 2006-03-29

## Eröffnungsbeitrag

**axo** · 2006-03-29 · [Beitrag #1](https://www.typo3.net/d/40445-wenn-colpos-2-nicht-leer-dann/1)

ein herzliches hallo ans forum,
und bitte nicht schlagen, falls die antwort zur frage zu einfach ist.
ich suche bereits seit geraumer zeit nach folgender lösung für eine kundin:

sie hat ein paar seiten, die ziemlich lange texte (5-10 scroll-seiten) enthält. jetzt will sie die möglichkeit haben, die ersten beiden seiten, sozusagen als 'teaser', in die 'normal'-spalte einpflegen, und unten dran einen 'weiter' - link haben, der bei interesse weitere inhalte aus der 'rechts'-spalte anzeigt, falls vorhanden.

mit php würde ich das trivialerweise so lösen:

```php
$content = $contentElementsFromColpos0; // immer colPos=0 anzeigen.
if(!empty( $contentElementsFromColpos2)  ) {
  if ( isset($_REQUEST['weiter']) ) {
    $content .= $contentElementsFromColpos2; // zusätzlichen inhalt anzeigen.
  } else {
     $content .= " weiter ... "; // link zu weiter.
  }
} else {
   // do nothing
}
```

... aber das geht doch sicher auch mit typoScript alleine, oder?

grüße
axo

## Antworten

### [#2](https://www.typo3.net/d/40445-wenn-colpos-2-nicht-leer-dann/2) · Michaelh74 · 2006-03-30

Hi axo,

so auf die Schnelle, fällt mir folgende Lösung ein:

Du legst für die besagten Seiten jeweils eine Unterseite an. Läßt auf der Hauptseite immer die Einträge der Spalte Normal anzeigen. Für die Unterseite erstellst Du ein extension Template in dem dann die Ausgabe der Spalte Normal + der Spalte Rechts definiert ist. Der weiter Link würde dann in diesem Fall immer von der Hauptseite auf die Unterseite verweisen.

So weit ich mich erinnern kann, gibt es auch ne Extension, die Seiteninhale automatisch auf mehrere Seiten verteilt. Das wär auch ne Lösung.

Viel Glück!
Michael

### [#3](https://www.typo3.net/d/40445-wenn-colpos-2-nicht-leer-dann/3) · axo · 2006-03-31

hmmm... derzeit löst es meine kundin eh so ähnlich - sie erzeugt einfach eine neue seite - eine ebene drunter - versteckt diese im menü (not in menu) und verweist dann darauf. die lösung mit den neuen seiten gefällt mir irgendwie nicht. vor allem weil es  relativ umständlich ist, immer eine neue seite anzulegen, und außerdem weil sich die anzahl an seiten vervielfacht. irgendwie muss es doch mit TypoScript gehen... tt_news macht das doch auch irgendwie, allerdings machen die das, soweit ich sehe, mit ".crop", und das kann ich wohl nicht bringen ;) ...

da ich letztens gesehen habe, dass die ausgabe von eigenen php-skripten trotzdem im cache landet, tendiere ich inzwischen zur PHP_SCRIPT lösung... dazu müsste ich nur noch herausfinden, wie man eine GET-variable registriert. naja, heute bin ich zu müde dazu... mal gucken, was der morgige tag bringt :)

### [#4](https://www.typo3.net/d/40445-wenn-colpos-2-nicht-leer-dann/4) · axo · 2006-04-02

hi,

das ganze ist doch ziemlich einfach, wenn man die lösung dann sieht ;)

```typoscript
config.linkVars = weiter
config.weiter = 0
# ... ein paar hundert zeilen weiter dann...
[global]
  seite.10.marks.MAIN_CONTENT.select.where = colPos = 0
[globalVar = GP:weiter= 1]
  seite.10.marks.MAIN_CONTENT.select.where = colPos IN (0,2) 
[end]
```

... jetzt fehlt nur noch das mini-php-skript, das nachguckt, ob sich unter colPos = 1 inhalt versteckt und dementsprechend einen weiter-link generiert oder nicht.
mal gucken, ob ich's ohne zusätzliche db-queries hinbekomme ;)

### [#5](https://www.typo3.net/d/40445-wenn-colpos-2-nicht-leer-dann/5) · axo · 2006-04-02

so, und der vollständigkeit halber der komplette code, für die, die's interessiert:

```php
<?php
/**
 * @desc 
 * checks whether the user has left some additional content
 * in the 'left' or 'right' content column, and if so, 
 * generates a link to it. 
 * @author axo < axo (at) axolander (dot) de>
 * @since 02.04.2006
 * @access public
 *
*/
$queryParams = array(
  'selectFields' => 'COUNT(*) as num',
  'where' => $conf['where'],  
);
		
$content = "<pre>" . print_r($this, true) . "</pre>";
$content = '';
$numberOfRows = 10;
list($numberOfRows) = $GLOBALS['TYPO3_DB'] -> sql_fetch_row($this -> exec_getQuery('tt_content',$queryParams));

if ($numberOfRows > 0) {
	if (t3lib_div::_GP($conf['GPVarName'])) {
 		$param = array( );
 		$text = $conf['back'];
 	} else {
 		$param = array($conf['GPVarName'] => 1);
 		$text = $conf['continue'];
 	} 		
 	$content = '<p style="text-align:right;">'.$this ->  getTypoLink($text, $GLOBALS['TSFE'] -> id, $param) . '</p>';
} else {
	$content = '';
}
?>
```

```typoscript
## Config
axoConfig.normal = colPos = 0
axoConfig.weiter = colPos IN (0,1,2)
axoConfig.weiterExists = colPos IN (1,2)

## SETUP 
config.linkVars = weiter
config.weiter = 0
 ...
seite = PAGE
 ...
seite.10.marks {
   ... 
  CONTENT = CONTENT
  CONTENT {
    table = tt_content
    select.orderBy = colPos ASC, sorting
    select.where = {$axoConfig.normal}
  }
   ...
  WEITER = PHP_SCRIPT 
  WEITER {
    file = fileadmin/test_weiter.php
    where = {$axoConfig.weiterExists}
    continue = weiter
    back = zurück
    GPVarName = weiter
  }        
}
 ... 
[global]
  seite.10.marks.CONTENT.select.where = {$axoConfig.normal}
[globalVar = GP:continue = 1]
config.linkVars >
 seite.10.marks.CONTENT.select.where = {$axoConfig.weiter}
[end]
 ...
```

... nicht besonders elegant, aber erledigt.

grüße
axo

### [#6](https://www.typo3.net/d/40445-wenn-colpos-2-nicht-leer-dann/6) · Alex · 2009-08-17

Hier die elegante Variante:

<http://www.typo3forum.net/forum/typo3-3-x-fragen-probleme/12000-leerem-datensatz-anderen-inhalt-ausgeben.html>

---

Quelle: „wenn colPos = 2 nicht leer, dann“, typo3.net, https://www.typo3.net/d/40445-wenn-colpos-2-nicht-leer-dann
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
