Benutzer-Werkzeuge

Webseiten-Werkzeuge


edv:typo3_ts_tabellen_auflisten

typo3 TS Tabellen 1) auflisten

  • Mit reinem typoScript eine Liste programmieren. Nicht sortierbar, eine sortierbare Liste gibts hier → typo3_ts_tabellen_sort-filter-liste
  • Aus einer DB-Tabelle mit Daten aus zwei Muttertabellen.
  • Bei Auswahlfelder mit index-werten die entsprechenden Locallang-Einträge ausgeben.
  • alles in der Datei setup.txt,
    php wird nicht benötigt, kann aber hinzugezogen werden
:!: Ohne Sortierfunktion: einfacheres Skript

t3x_mff_stundenplan-0_0_0-z-201302080601.t3x

TS-Config

plugin.tx_mffstundenplan_pi1.liste = COA
plugin.tx_mffstundenplan_pi1.liste {
  wrap (
    <div>
      <h2>Stundenplan</h2>
      <TABLE class="tx-mffstundenplan-pi1" border="0" cellpadding="0" cellspacing="0">
      |</TABLE>
    </div>
  )
  10 =  TEXT
  10.wrap = <thead><TR class="head">|</TR></thead>
  10.value (
	<th> uid </th>
	<th> Fb </th>
	<th class="kurz"> Kls </th>
	<th> B </th>
	<th> S </th>
	<th> Lp </th>
	<th> Tag </th>
	<th> Zeit </th>
	<th> Zimmer </th>
  )
  15 < .10
  15.wrap = <tfoot><TR class="foot">|</TR></tfoot>

  20 = COA
  20 {
	wrap = <tbody>|</tbody>
	20 = CONTENT
	20 {
	  table = tx_mffstundenplan_plan
	  select {
		pidInList = {$plugin.stundenplan.std_pid}
		selectFields = tx_mffstundenplan_plan.*, tx_mffstundenplan_klassen.kurz, tx_mffstundenplan_klassen.fachbereich
		join = tx_mffstundenplan_klassen ON (tx_mffstundenplan_klassen.uid = tx_mffstundenplan_plan.klasse) 
		#where = tx_mffstundenplan_klassen.kurz = 'PBB'
		orderBy = tag,ab
	  }
	  renderObj = COA
	  renderObj {
		1 = LOAD_REGISTER
		1.rowClass.cObject = TEXT
		1.rowClass.cObject.dataWrap = {REGISTER:rowClass}+1
		1.rowClass.override = 1
		1.rowClass.override.if.isLessThan = 1
		1.rowClass.override.if.value.data = REGISTER:rowClass
		1.rowClass.prioriCalc = intval

		5 = TEXT
		5.value =  <tr class="row_{REGISTER:rowClass}">
		5.insertData=1

		wrap =  |</tr>

		11 = TEXT
		11 {
		  field = uid
		  wrap = <td class="uid">|</td>
		}

		21 = COA
		21 {
		  5 = TEXT
		  5 {
			field = fachbereich
			wrap = <td class="fachbereich" title="{LLL:EXT:mff_stundenplan/locallang_db.xml:tx_mffstundenplan_klassen.fachbereich.I.|}">
			insertData=1
		  }
		}
		25 = COA
		25 {
		  5 = TEXT
		  5 {
			field = fachbereich
			wrap = {LLL:EXT:mff_stundenplan/locallang_db.xml:tx_mffstundenplan_klassen.fachbereich.I.|}
			insertData=1
		  }
		  stdWrap.crop=10
		}
		27 = TEXT
		27.value=</td>

		31 = TEXT
		31 {
		  field = kurz
		  wrap = <td class="kurz">|</td>
		}

		41 = TEXT
		41 {
		  field = bez
		  wrap = <td class="bez">{LLL:EXT:mff_stundenplan/locallang_db.xml:tx_mffstundenplan_plan.bez.I.|}</td>
		  insertData=1
		}

		51 = TEXT
		51 {
		  field = sem
		  wrap = <td class="sem">{LLL:EXT:mff_stundenplan/locallang_db.xml:tx_mffstundenplan_plan.sem.I.|}</td>
		  insertData=1
		}

		61 = COA
		61 {
		  5 = TEXT
		  5.value = <td class="lehrperson">
		  10 = COA
		  10 {
			2 = TEXT
			2 {
			  field = lehrperson
			  wrap = {DB:fe_users:|:name}
			  insertData=1
			}
			wrap = |
			stdWrap.split{
			  token.char =  32
				cObjNum = 1 |*| 2 || 2 |*| 2
				1.current = 1
				1.dataWrap =  |
				1.crop =1
				1.insertData=1
				2.current = 1
				2.wrap = | 
				2.crop =2
				2.case = lower
				2.insertData=1
			}
		  }
		  15 = TEXT
		  15.value = </td>
		}

		71 = COA
		71 {
		  5 = TEXT
		  5.value = <td class="tag">
		  10 = COA
		  10 {
			5 = TEXT
			5 {
			  field = tag
			  wrap = {LLL:EXT:mff_stundenplan/locallang_db.xml:tx_mffstundenplan_plan.tag.I.|}
			  insertData=1
			}
			stdWrap.crop = 3
		  }
		  15 = TEXT
		  15.value = </td>
		}

		81 = TEXT
		81.value = <td class="ab">
		83 = COA
		83 {
		  5 = TEXT
		  5 {
			field = ab
			wrap = {LLL:EXT:mff_stundenplan/locallang_db.xml:tx_mffstundenplan_plan.ab.I.|}
			insertData=1
		  }
		  wrap = |
		  stdWrap.split{
			token = -
			cObjNum = 1
			returnKey = 0
		  }
		}
		85 = TEXT
		85.value =  -
		87 = COA
		87 {
		  5 = TEXT
		  5 {
			wrap = {LLL:EXT:mff_stundenplan/locallang_db.xml:tx_mffstundenplan_plan.ab.I.|} 
			insertData=1
			current = 1
			setCurrent.field = dauer
			setCurrent.dataWrap = | + {field:ab}
			prioriCalc = intval
		  }
		  wrap = |</td>
		  stdWrap.split{
			token = -
			cObjNum = 1
			returnKey = 1
		  }
		}

		91 = TEXT
		91.value = <td class="zimmer" title="
		92 = COA
		92 {
		  10 = TEXT
		  10 {
			field = zimmer
			wrap = {LLL:EXT:mff_stundenplan/locallang_db.xml:tx_mffstundenplan_zimmer.haus.I.|}
			insertData=1
			split{
				token = ,
				cObjNum = 1
				max = 1
				1.current = 1
				1.wrap = {DB:tx_mffstundenplan_zimmer:|:haus}
				1.insertData=1
			}
		  }
		  stdWrap.split{
			token.char =  32
			cObjNum = 1
			returnKey = 1
		  }
		}
		93 = TEXT
		93.value = ">
		95 = COA
		95 {
		  10 = TEXT
		  10 {
			field = zimmer
			wrap = {LLL:EXT:mff_stundenplan/locallang_db.xml:tx_mffstundenplan_zimmer.haus.I.|}
			insertData=1
			split{
				token = ,
				cObjNum = 1
				max = 1
				1.current = 1
				1.wrap = {DB:tx_mffstundenplan_zimmer:|:haus}
				1.insertData=1
			}
		  }
		  stdWrap.split{
			token.char =  32
			cObjNum = 1
			returnKey = 0
		  }
		}
		97 = TEXT
		97{
			field = zimmer
			wrap = &nbsp;|</td>
			split{
				token = ,
				cObjNum = 1 |*| 2 || 2 |*| 2
				1.current = 1
				1.dataWrap =  |/
				1.wrap = {DB:tx_mffstundenplan_zimmer:|:zimmer}
				1.insertData=1
				2.current = 1
				2.dataWrap = | 
				2.wrap = {DB:tx_mffstundenplan_zimmer:|:zimmer}
				2.insertData=1
			}
		}

	  }
	}
  }
}
plugin.tx_mffstundenplan_pi1._CSS_DEFAULT_STYLE (
  DIV.tx-mffstundenplan-pi1 DIV {padding:0px;border:2px solid #c9ff00;border-width:0 1px 1px 1px;}
  DIV.tx-mffstundenplan-pi1 H2 {margin:3px;}
  TABLE.tx-mffstundenplan-pi1 {border:1px solid black;margin:3px;}
  TABLE.tx-mffstundenplan-pi1 TH {padding:2px;text-align:left;}
  TABLE.tx-mffstundenplan-pi1 TD {padding:2px;text-align:left;}
  TABLE.tx-mffstundenplan-pi1 TR.head TH {border-bottom:1px solid black;}
  TABLE.tx-mffstundenplan-pi1 TR.foot TH {border-top:   1px solid black;padding:3px 2px 1px 2px;}
  TR.row_1 TD{background:#d0d0d0;}
  TR.row_2 TD{background:#e0e0e0;}
  td.uid {}
  td.fachbereich {}
  th.kurz, td.kurz {}
  td.bez {}
  td.lehrperson {}
  td.tag {}
  td.ab {}
  td.zimmer {}
)

PHP

class.tx_mffstundenplan_pi1.php

class tx_mffstundenplan_pi1 extends tslib_pibase {
	var $prefixId      = 'tx_mffstundenplan_pi1';		
	var $scriptRelPath = 'pi1/class.tx_mffstundenplan_pi1.php';
	var $extKey        = 'mff_stundenplan';
	var $pi_checkCHash = true;

	function main($content, $conf) {
		$this->conf = $conf;
		$this->pi_setPiVarDefaults();
		$this->pi_loadLL();
		$this->pi_USER_INT_obj = 1;// 0 = the content is cache-able
		
		$content = '<h1>Liste</h1>';
		$content .= $this->cObj->cObjGetSingle($conf['liste'],$conf['liste.']);
	
		return $this->pi_wrapInBaseClass($content);
	}
}

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
 
edv/typo3_ts_tabellen_auflisten.txt · Zuletzt geändert: 26.01.2018 20:39 (Externe Bearbeitung)