magnify

Vorlagen-Auswahl begrenzen

Armin Bartsch, Mittwoch, 11. März 2009

Kleine Änderung am Code ermöglicht die Anzahl der Vorlagen bei der Erstellung einer neuen Seite begrenzen.

Erhöhen Sie die Übersicht der Vorlagen-Auswahl

Bisher habe ich keine Möglichkeit gefunden mit TypoScript die Anzahl der Vorlagen zu begrenzen, so das immer alle Vorlagen angezeigt die im "Storange Folder" angelegt wurden. Allerdings ist es häufiger wünschenswert die gezeigten Vorlagen zu begrenzen bzw. vorzugeben welche Vorlagen angezeigt werden sollen.

Ich habe eine einfache Möglichkeit umgesetzt um über einen Eintrag in der TSCONFIG Vorlagen anzugeben die zur Auswahl stehen sollen. Da der Eintrag in der TSCONFIG erfolgt, können die Angaben für Gruppen, User und Seiten festgelegt werden.

Anpassungen

Getestet mit der Version 1.1.1.

class.tx_templavoila_mod1_wizards.php

Öffnen Sie die Datei EXT:templavoila/mod1/class.tx_templavoila_mod1_wizards.php, bitte sichern Sie vor Änderungen die Datei!

Ersetzen Sie folgenden Code:

  1. $res = $TYPO3_DB->exec_SELECTquery (
  2.           "$tTO.*",
  3.           "$tTO LEFT JOIN $tDS ON $tTO.datastructure = $tDS.uid",
  4.           "$tTO.parent=0 AND $tTO.pid=".intval($storageFolderPID)." AND $tDS.scope=1".
  5.             t3lib_befunc::deleteClause ($tTO).t3lib_befunc::deleteClause ($tDS).
  6.             t3lib_BEfunc::versioningPlaceholderClause($tTO).t3lib_BEfunc::versioningPlaceholderClause($tDS)
  7.         );

durch

  1. $newID = $this->createPage (t3lib_div::_GP('data'), $positionPid);
  2.         $TSconfig = t3lib_BEfunc::getModTSconfig($newID, 'mod.web_txtemplavoilaM1.createPageWizard.template_see');
  3.         $fieldNames = isset ($TSconfig['value']) ? $TSconfig['value'] : '0';
  4.         $res = $TYPO3_DB->exec_SELECTquery (
  5.           "$tTO.*",
  6.           "$tTO LEFT JOIN $tDS ON $tTO.datastructure = $tDS.uid",
  7.           "$tTO.pid=".intval($storageFolderPID)." AND $tDS.scope=1  ".(empty($fieldNames) ? '' : 'AND tx_templavoila_tmplobj.uid IN('.htmlspecialchars($fieldNames).')')."" .
  8.             t3lib_befunc::deleteClause ($tTO).t3lib_befunc::deleteClause ($tDS).
  9.             t3lib_BEfunc::versioningPlaceholderClause($tTO).t3lib_BEfunc::versioningPlaceholderClause($tDS)
  10.         );

TSCONFIG

Jetzt müssen Sie nur noch Angaben welche Vorlagen angezeigt werden sollen, tragen Sie die id der Vorlagen ein. Wenn Sie keinen Eintrag vornehmen oder 0, werden alle Vorlagen angezeigt.

  1. mod.web_txtemplavoilaM1.createPageWizard {
  2.  template_see = 21,26
  3. }
magnify

Kommentare

Ins Gästebuch eintragen
Kein Kommentar vorhanden

MERKLISTE

Login

Anmelden

Sponsored by:

ideenwerft webhosting

Wunschzettel