---
title: "tw_todolist Änderungen notwendig, suche PHP-Kenner"
url: "https://www.typo3.net/d/58402-tw-todolist-aenderungen-notwendig-suche-php-kenner"
source: "typo3.net"
tags: ["Extensions","Frage","PHP"]
created: "2007-02-24"
last_reply: "2007-02-24"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# tw_todolist Änderungen notwendig, suche PHP-Kenner

Extensions · 1 Antwort · gestartet 2007-02-24

## Eröffnungsbeitrag

**Gin** · 2007-02-24 · [Beitrag #1](https://www.typo3.net/d/58402-tw-todolist-aenderungen-notwendig-suche-php-kenner/1)

Nabend zusammen,

ich sollte diese Frage vielleicht eher in einem PHP-Forum stellen, aber ich dachte, vielleicht hat ja jemand hier bereits Erfahrungen in dem Bereich gesammelt:

Ich möchte die Extension tw_todolist dahingehend modifizieren, dass sie sobald ein ToDO-Punkt erstellt wurde und der Details-Button gedrückt wird nicht das Eingabeformular angezeigt wird, sondern eine Tabelle ohne Formular.
Jetzt kenne ich mich mit PHP nicht aus und denke, daran scheitert es. Folgendes habe ich bereits erfolglos versucht:

Subpart eingefügt ins Template:

```html
<!-- ###TASK_TABLE_DETAILS### -->
<table bgcolor="red" cellspacing="0" cellpadding="0" border="0" id="detailstask">
  <tr>
	<td><h3>###TITEL_LABEL###</h3></td><td>###TITEL_VALUE###</td>
  </tr>
  <tr>
	<td><h3>###DETAILS_LABEL###</h3></td><td>###DETAILS_VALUE###</td>
  </tr>
  <tr>
	<td><h3>###ADMINS_LABEL###</h3></td><td>###ADMINS_VALUE###</td>
  </tr>
  <tr>
	<td><h3>###PRIO_LABEL###</h3></td><td>###PRIO_VALUE###</td>
  </tr>
  <tr>
	<td><h3>###STATUS_LABEL###</h3></td><td><img src="###STATUS_ICON###" />###STATUS_VALUE###</td>
  </tr>
  <tr>
	<td><h3>###START_LABEL###</h3></td><td>###START_VALUE###</td>
  </tr>
  <tr>
	<td><h3>###END_LABEL###</h3></td><td>###END_VALUE###</td>
  </tr>
  
  <form action="###FORM_URL###" method="POST" name="taskdetails" enctype="multipart/form-data" target="_top">  
  <tr>
	<td><input type="submit" name="###BACK_NAME###" value="###BACK_LABEL###" /></td><td></td>
  </tr>
  </form>
</table>
<!-- ###TASK_TABLE_DETAILS### -->
```

Anschließend habe ich die class.tx_twtodolist_pi1.php-Datei untersucht. Hier der original-Code:

```php
/**
	* Return html content showing details of a task
	*
	* @param	string		the task id
 	* @return	string		the content
	*/
	function getShowTask($id='') {
		$id = key($id);
		if (!$id)	
			return $this->getList();
			
		$task = $this->getTask($id);
		
		if ($task) {
			$t = array();
	    		$t["total"] = $this->cObj->getSubpart($this->templateCode,"###TASK_TABLE_SHOW###");
				
			$markerArray = array();
			
			$markerArray["###TITEL_LABEL###"] = $this->pi_getLL('title','Title');
			$markerArray["###DETAILS_LABEL###"] = $this->pi_getLL('details','Details');
			$markerArray["###ADMINS_LABEL###"] = $this->pi_getLL('admins','Officer');
			$markerArray["###PRIO_LABEL###"] = $this->pi_getLL('prio','Priority');
			$markerArray["###STATUS_LABEL###"] = $this->pi_getLL('status','Status');
			$markerArray["###START_LABEL###"] = $this->pi_getLL('start','Start');
			$markerArray["###END_LABEL###"] = $this->pi_getLL('end','End');
			$markerArray["###BACK_LABEL###"] = $this->pi_getLL('back','Back');
			
			
			
			$markerArray["###BACK_NAME###"] = 'task[back]';
			
			$markerArray["###TITEL_VALUE###"] = $task['title'];
			$markerArray["###DETAILS_VALUE###"] = $task['details'];
			$markerArray["###ADMINS_VALUE###"] = $this->getAdminList($task['admins']);
			
			switch($task['priolevel']) {
				case 0:	$markerArray["###PRIO_VALUE###"] = $this->pi_getLL('prio_low','low');
					break;	
				case 1:	$markerArray["###PRIO_VALUE###"] = $this->pi_getLL('prio_normal','normal');
					break;
				case 2:	$markerArray["###PRIO_VALUE###"] = $this->pi_getLL('prio_high','high');
					break;
				case 3:	$markerArray["###PRIO_VALUE###"] = $this->pi_getLL('prio_important','important');
					break;
			}
			
			$path = t3lib_extMgm::siteRelPath('tw_todolist');
			switch($task['status']) {
				case 0:	$markerArray["###STATUS_ICON###"] = $path.'icon_status_new.gif';
					$markerArray["###STATUS_VALUE###"] = $this->pi_getLL('status_new','new');
					break;
				case 1:	$markerArray["###STATUS_ICON###"] = $path.'icon_status_progress.gif';
					$markerArray["###STATUS_VALUE###"] = $this->pi_getLL('status_progress','in progress');
					break;
				case 2:	$markerArray["###STATUS_ICON###"] = $path.'icon_status_cons.gif';
					$markerArray["###STATUS_VALUE###"] = $this->pi_getLL('status_cons','in consultation');
					break;
				case 3:	$markerArray["###STATUS_ICON###"] = $path.'icon_status_done.gif';
					$markerArray["###STATUS_VALUE###"] = $this->pi_getLL('status_done','done');
					break;
				
			}
			
			if ($task['lstart'] && $task['lstart']>0)
				$markerArray["###START_VALUE###"] = $this->formatDate($task['lstart']);
			else
				$markerArray["###START_VALUE###"] ='';
			
			if ($task['lend'] && $task['lend']>0)
				$markerArray["###END_VALUE###"] = $this->formatDate($task['lend']);
			else
				$markerArray["###END_VALUE###"] = '';
				
			
			$markerArray["###FORM_URL###"] = $this->cObj->stdWrap($this->pi_getPageLink($this->cObj->data['pid']),0);
							
			$content = $this->pi_wrapInBaseClass($this->cObj->substituteMarkerArrayCached($t["total"],$markerArray, array(), array()));
			
			return $content;				
		} else
			return 'Could not load Task'.$this->getList();
		
	}
```

Und meine Änderung:

```php
/**
	* Return html content showing details of a task
	*
	* @param	string		the task id
 	* @return	string		the content
	*/
	function getShowTask($id='') {
		$id = key($id);
		if (!$id)	
			return $this->getList();
			
		$task = $this->getTask($id);
		
		if ($task) {
			$t = array();
	    		$t["total"] = $this->cObj->getSubpart($this->templateCode,[u]"###TASK_TABLE_DETAILS###"[/u]);
				
			$markerArray = array();
			
			$markerArray["###TITEL_LABEL###"] = $this->pi_getLL('title','Title');
			$markerArray["###DETAILS_LABEL###"] = $this->pi_getLL('details','Details');
			$markerArray["###ADMINS_LABEL###"] = $this->pi_getLL('admins','Officer');
			$markerArray["###PRIO_LABEL###"] = $this->pi_getLL('prio','Priority');
			$markerArray["###STATUS_LABEL###"] = $this->pi_getLL('status','Status');
			$markerArray["###START_LABEL###"] = $this->pi_getLL('start','Start');
			$markerArray["###END_LABEL###"] = $this->pi_getLL('end','End');
			$markerArray["###BACK_LABEL###"] = $this->pi_getLL('back','Back');
			
			
			
			$markerArray["###BACK_NAME###"] = 'task[back]';
			
			$markerArray["###TITEL_VALUE###"] = $task['title'];
			$markerArray["###DETAILS_VALUE###"] = $task['details'];
			$markerArray["###ADMINS_VALUE###"] = $this->getAdminList($task['admins']);
			
			switch($task['priolevel']) {
				case 0:	$markerArray["###PRIO_VALUE###"] = $this->pi_getLL('prio_low','low');
					break;	
				case 1:	$markerArray["###PRIO_VALUE###"] = $this->pi_getLL('prio_normal','normal');
					break;
				case 2:	$markerArray["###PRIO_VALUE###"] = $this->pi_getLL('prio_high','high');
					break;
				case 3:	$markerArray["###PRIO_VALUE###"] = $this->pi_getLL('prio_important','important');
					break;
			}
			
			$path = t3lib_extMgm::siteRelPath('tw_todolist');
			switch($task['status']) {
				case 0:	$markerArray["###STATUS_ICON###"] = $path.'icon_status_new.gif';
					$markerArray["###STATUS_VALUE###"] = $this->pi_getLL('status_new','new');
					break;
				case 1:	$markerArray["###STATUS_ICON###"] = $path.'icon_status_progress.gif';
					$markerArray["###STATUS_VALUE###"] = $this->pi_getLL('status_progress','in progress');
					break;
				case 2:	$markerArray["###STATUS_ICON###"] = $path.'icon_status_cons.gif';
					$markerArray["###STATUS_VALUE###"] = $this->pi_getLL('status_cons','in consultation');
					break;
				case 3:	$markerArray["###STATUS_ICON###"] = $path.'icon_status_done.gif';
					$markerArray["###STATUS_VALUE###"] = $this->pi_getLL('status_done','done');
					break;
				
			}
			
			if ($task['lstart'] && $task['lstart']>0)
				$markerArray["###START_VALUE###"] = $this->formatDate($task['lstart']);
			else
				$markerArray["###START_VALUE###"] ='';
			
			if ($task['lend'] && $task['lend']>0)
				$markerArray["###END_VALUE###"] = $this->formatDate($task['lend']);
			else
				$markerArray["###END_VALUE###"] = '';
				
			
			$markerArray["###FORM_URL###"] = $this->cObj->stdWrap($this->pi_getPageLink($this->cObj->data['pid']),0);
							
			$content = $this->pi_wrapInBaseClass($this->cObj->substituteMarkerArrayCached($t["total"],$markerArray, array(), array()));
			
			return $content;				
		} else
			return 'Could not load Task'.$this->getList();
		
	}
```

Ich hab also nur den Subpartbereich anders bezeichnet.
Dazu muss man sagen, dass der eingefügte Subpart identisch ist mit dem anderen SHOW, bis auf die Hintergrundfarbe der Tabelle, die ID der Tabelle und dem Namen des Formulars, wollte ja erstmal testen, ob die Änderungen übernommen werden, werden sie aber nicht.

Hat jemand einen Tip?

Vielen Dank Gin

## Antworten

### [#2](https://www.typo3.net/d/58402-tw-todolist-aenderungen-notwendig-suche-php-kenner/2) · Gin · 2007-02-24

Hat sich erledigt, ich hatte einfach nur den falschen Subpart erwischt, der richtige wäre EDIT gewesen....

Gruß
Gin

---

Quelle: „tw_todolist Änderungen notwendig, suche PHP-Kenner“, typo3.net, https://www.typo3.net/d/58402-tw-todolist-aenderungen-notwendig-suche-php-kenner
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
