---
title: "ve_guestbook - Werte kürzen?"
url: "https://www.typo3.net/d/93851-ve-guestbook-werte-kuerzen"
source: "typo3.net"
tags: ["Extensions","Frage"]
created: "2009-10-22"
last_reply: "2009-10-26"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# ve_guestbook - Werte kürzen?

Extensions · 1 Antwort · gestartet 2009-10-22

## Eröffnungsbeitrag

**Miato** · 2009-10-22 · [Beitrag #1](https://www.typo3.net/d/93851-ve-guestbook-werte-kuerzen/1)

Hallo,

ich hab' eine Frage:

Das ve_guestbook wird normal angezeigt. Die Leute können also Vor- und Nachnamen eintragen, E-Mail-Addi etc.

Bei der Listenansicht wäre es aber nett und aus datenschutzrechtlichen Bedenken auch gut, wenn ich den Nachnamen kürzen könnte. Damit statt Sabine Leutheusser-Schnarrenberger eben nur Sabine L. steht und die Person nicht sofort identifizierbar ist.

Geht das irgendwie?

Im php-code habe ich die Function cutDown gefunden, die wohl sowas schon machen könnte:

```php
/**
	 * Cutting down a string
	 *
	 * @param	string	$text: String that has to be cut down
	 * @return	string	Shorten string
	 */
	function cutDown($text) {

		if ($this->config['wordcut'] < 1)
		return $text;

		if (strlen($text) <= $this->config['wordcut'])
		return $text;

		$splitted_words = explode(' ', $text);

		if (is_array($splitted_words) && count($splitted_words)>0 ) {

			$cutwords = array();

			foreach ($splitted_words AS $word) {
				if (strlen($word)>$this->config['wordcut'])
				$cutwords[] = substr($word, 0, $this->config['wordcut']) . '[..]';
				else
				$cutwords[] = $word;
			}

			return implode(' ', $cutwords);

		}
		else
		return $text;
	}
```

Die Funktion wird z. B. aufgerufen, um generell lange Wörter zu kürzen (die ein CSS-Layout sprengen könnten). Und um den Teaser im Teaser-Modus zu kappen.

Die würde ich gern jetzt für den Nachnamen haben ;-)

Kann mir da jemand auf die Sprünge helfen?

## Antworten

### [#2](https://www.typo3.net/d/93851-ve-guestbook-werte-kuerzen/2) · Miato · 2009-10-26

Ich habe das eben selbst eingefügt. Wer das noch wissen möchte, hier sind meine Schnipsel:

Ich habe dazu die Datei pi1/class.tx_veguestbook_pi1.php angepasst und das sollte man wohl nicht?

Die kleine Funktion sieht so aus:

```php
	/**
	 * Cropping a string (in this case used for the surname)
	 *
	 * @param	string	$sname: String that has to be cropped
	 * @return	string	Shorten string
	 */
	function cutS($sname) {

		if (strlen($surname) > $this->config['surnamecut']) 
			$wordcrop = substr($sname, 0, $this->config['surnamecut']).'...';
		else 
			$wordcrop = $sname;
		
		return $wordcrop;
	}
```

Damit kann man im TS-Setup-Template einen Wert nach diesem Muster einfügen:

surnamecut = 2

Dann muss bei der List-Ausgabe der Einträge diese Funktion auch am entsprechenden Feld aufgerufen werden:

In der Funktion (gleiche Datei) function getItemMarkerArray($row) muss erweitert werden:

```php
function getItemMarkerArray($row) {
$markerArray['###GUESTBOOK_SURNAME###'] = $this->cutS($row['surname']);
```

Im Original wird dort die Funktion cutDown aufgerufen, die habe ich ersetzt, weil sie nicht mehr gebraucht wird.

In der function init($conf) muss nun noch der Wert aus dem TS-Setup-Feld eingetragen werden, sonst kann der Wert nicht ausgelesen werden. Dort muss also eine Zeile hinzugefügt werden:

```php
	//Crop the surname
	$this->config['surnamecut'] = $this->conf['surnamecut'];
```

Jetzt werden alle Nachnamen in der Listen-Ansicht des Gästebuchs abgekürzt auf die Zeichenzahl im setup-Feld und drangehangen ein paar Punkte...

So, das ist natürlich alles nicht update-sicher!

Wie macht man das richtig?

---

Quelle: „ve_guestbook - Werte kürzen?“, typo3.net, https://www.typo3.net/d/93851-ve-guestbook-werte-kuerzen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
