Zum Inhalt springen

Veröffentlichungsebenen im Admin-Panel

Erstellt am 14. November 2002 · 6 Antworten · letzte Antwort am 1. September 2003

Tags: Frage

Ulrich ·

Liebes Forum,

gibt es eine Einstellung, wo ich die Anzahl der Veröffentlichungsebenen verändern kann? Derzeit sind es nur 2 (Typo3.3)

Viele Grüsse

Ulrich

Ulrich ·

O.K, anscheinend weiss keiner nichts genaues...

Hab mal in die Scripte geschaut und mir eine eigene "Erweiterung" gebaut: ich kann nun mittels Install-Tool(localconf.php)die Anzahl der Veröffentlichungsebenen erhöhen. Falls jemand Interesse hat, wie das geht, würde ich gerne eine kurze Anleitung erstellen.

Gruss ans Forum
Ulrich

via ·

Hallo,

was ist mit Veröffentlichungsebene gemeint? Generelle gilt: Anleitungen sind immer gerene gesehen 🙂

Ulrich ·

Hi via,

wenn ich statt der dynamischen Seitengenerierung statische HTML-Seiten bevorzuge, kann ich standardmässig alle Seiten bis max 2 Ebenen unterhalb der aktuelle Ebene als statische HTML-Seiten mit Hilfe des Admin-Panel veröffentlichen. Typo3 speichert dann diese HTML-Seiten in dem im Install-Tool definierten Verzeichnis (publish_dir).
Nun habe ich aber eine Site mit mehr als drei Ebenen. Nach dem Erzeugen bzw. Verändern einer Reihe von Seiten wäre es doch wünschenswert, nur auf die index-Seite der root-Ebene gehen zu müssen, um alle Seiten unterhalb dieser Ebene zu veröffentlichen, oder? Daher habe ich typo3 so erweitert, dass man bis 10 Ebenen tief veröffentlichen kann.

Ulrich

[ Diese Nachricht wurde geändert von: Ulrich am 2002-11-19 08:34 ]

mwesterm ·

Hallo Ulrich,

ich wäre interessiert da ich hier vor dem gleichen Problem stehe.

Thanks.

Gruss
Martin

[ Diese Nachricht wurde geändert von: mwesterm am 2002-11-19 10:50 ]

Ulrich ·

Hallo Martin:

Zur Info:

Ich verwende typo3.3: hier scheint es problemlos zu gehen.

Leider habe keine Möglichkeit gefunden, im System die Anzahl der Ebenen zu definieren, deswegen habe ich den Quellcode anpepasst.

Step 1:
in typo3/localconf.php unterhalb von $TYPO3_CONF_VARS["FE"]["simulateStaticDocuments"] = '1' folgenden Wert eintragen
$TYPO3_CONF_VARS["FE"]["publish_levels"] = '6';
-----------------------

Step2:
in t3lib/class.t3lib_tsfebeuserauth.php vor "class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth" (ziemlich weit oben im Script, direkt nach dem copyright-Hinweis)

include("typo3conf/localconf.php");

eintragen
-----------------------

Step 3:
im gleichen Script die folgende Funktion anpassen:

-------------------------------

function extGetCategory_publish($out="") {
global $TYPO3_CONF_VARS; //eingefügt von uro am 18.11.02
$out.=$this->extGetHead("publish");
if ($this->uc["TSFE_adminConfig"]["display_publish"]) {
$this->extNeedUpdate=1;
$options="";
//-----eingefügt von uro am 18.11.02------------------
$anzahl_ebenen=0;
for($anzahl_ebenen=0;$anzahl_ebenen<=$TYPO3_CONF_VARS["FE"]["publish_levels"];$anzahl_ebenen++){
$options.='<option value="'.$anzahl_ebenen.'"'.($this->uc["TSFE_adminConfig"]["publish_levels"]==$anzahl_ebenen?" selected":"").'>'.htmlspecialchars($this->extGetLL("div_Levels_$anzahl_ebenen")).'</option>';
}
//-----eingefügt von uro am 18.11.02------------------
/*
$options.='<option value="0"'.($this->uc["TSFE_adminConfig"]["publish_levels"]==0?" selected":"").'>'.htmlspecialchars($this->extGetLL("div_Levels_0")).'</option>';
$options.='<option value="1"'.($this->uc["TSFE_adminConfig"]["publish_levels"]==1?" selected":"").'>'.htmlspecialchars($this->extGetLL("div_Levels_1")).'</option>';
$options.='<option value="2"'.($this->uc["TSFE_adminConfig"]["publish_levels"]==2?" selected":"").'>'.htmlspecialchars($this->extGetLL("div_Levels_2")).'</option>';
*/
$out.=$this->extGetItem("publish_levels", '<select name="TSFE_ADMIN_PANEL[publish_levels]">'.$options.'</select>'.'<input type="hidden" name="TSFE_ADMIN_PANEL[publish_id]" value="'.$GLOBALS["TSFE"]->id.'"><input type="submit" value="'.$this->extGetLL("update").'">');

// Generating tree:
$depth=$this->extGetFeAdminValue("publish","levels");
$outTable="";
$this->extPageInTreeInfo=array();
$this->extPageInTreeInfo[]=array($GLOBALS["TSFE"]->page["uid"],$GLOBALS["TSFE"]->page[title],$depth+1);
$this->extGetTreeList($GLOBALS["TSFE"]->id, $depth,0,$this->getPagePermsClause(1));
reset($this->extPageInTreeInfo);
while(list(,$row)=each($this->extPageInTreeInfo)) {
$outTable.='<tr><td nowrap><img src="clear.gif" width='.(($depth+1-$row[2])*18-).' height=1><IMG src="t3lib/gfx/i/pages.gif" width="18" height="16" align="absmiddle" border=0>'.$this->extFw($row[1]).'</td><td><img src="clear.gif" width="10" height="1"></td><td>'.$this->extFw("...").'</td></tr>';
}
$outTable='
<table border=0 cellpadding=0 cellspacing=0>'.$outTable.'</table>';
$outTable.='<input type="submit" name="TSFE_ADMIN_PANEL[action][publish]" value="'.$this->extGetLL("publish_doit").'">';
$out.=$this->extGetItem("publish_tree", $outTable);
}
return $out;
}

-----------------------------------

Step 4:
in der Datei typo3/lang/LL_tsfe.php das Array "de" ergänzen

"div_Levels_0" => "Diese Seite",
"div_Levels_1" => "+1 Ebene",
"div_Levels_2" => "+2 Ebenen",
"div_Levels_3" => "+3 Ebenen",
"div_Levels_4" => "+4 Ebenen",
"div_Levels_5" => "+5 Ebenen",
"div_Levels_6" => "+6 Ebenen",
"div_Levels_7" => "+7 Ebenen",
"div_Levels_8" => "+8 Ebenen",
"div_Levels_9" => "+9 Ebenen",
"div_Levels_10" => "+10 Ebenen",

Das gleiche Schema kannts Du auch verwenden, wenn Du die Cache-Ebenen löschen willst

Viel Erfolg!

Nachtrag:
Anscheinend gibt es Probleme beim Schreiben der Seiten, wenn zuviele Ebenenen ausgegewählt werden. Das könnte eine Erklärung dafür sein, dass Kaspar nur max. 3 Ebenen standardmässig anbietet....

[ Diese Nachricht wurde geändert von: Ulrich am 2002-11-22 10:30 ]

felix ·

Hallo Ulrich,

danke für deine Anleitung - habe sie gerade mit typo3 3.5 getestet und sie funktioniert 🙂

Ich habe noch eine Anmerkung zu typo3 3.5:

Ulrich schrieb

Step 4:
in der Datei typo3/lang/LL_tsfe.php das Array "de" ergänzen

"div_Levels_0" => "Diese Seite",
"div_Levels_1" => "+1 Ebene",
"div_Levels_2" => "+2 Ebenen",
"div_Levels_3" => "+3 Ebenen",
"div_Levels_4" => "+4 Ebenen",
"div_Levels_5" => "+5 Ebenen",
"div_Levels_6" => "+6 Ebenen",
"div_Levels_7" => "+7 Ebenen",
"div_Levels_8" => "+8 Ebenen",
"div_Levels_9" => "+9 Ebenen",
"div_Levels_10" => "+10 Ebenen",

unter typo3 3.5 heißt die Datei LL_tsfe.php jetzt:

typo3/sysext/lang/locallang_tsfe.php

viele Grüße

Felix