Zum Inhalt springen

Frontend Editing für bestimmte Content-Elemente deaktivieren

Erstellt am 18. Januar 2006 · 9 Antworten · letzte Antwort am 23. Juni 2007

Tags: Frage

jpmschuler ·

Hallo,

FE klappt bei mir wunderbar, selbst mit eigenen Extensions, aber gerade da gibt es ein Problem:

bei meinen eigenen Frontend Extensions hab ich dementsprechend "meine" Editicons (für den Datensatz) eingeblendet und automatisch noch ein editicon für das Frontendplugin.... das soll aber keiner konfigurieren sollen. Das selbe bei einigen HTML-Feldern die ich manuell einfüge für spezielle Unterseiten... diese sollen keinen Stift erhalten.

Das Problem ist ich weiß nicht wie ich das explizit deaktivieren kann.

jpmschuler ·

nichts explizit gefunden, aber auch nicht weiter nach gesucht.

für einige Typen und "manchmal" (kein Scherz) hat es geklappt den Benutzergruppen die kompletten Rechte an dem Typ zu nehmen (z.B. gerade bei HTML ja sinnvoll weil sowas eh kein Redakteur haben sollte).

Aber ne wirklich durchgängige Lösung, z.B. über IDs hab ich nicht gefunden.

Brasiland ·

Hallo,

gibt es hierfür schon eine Lösung oder einen Workarround?

Mich würde außerdem interessieren ob man das admPanel so
konfigurieren kann, dass man es nur bei Datensätze sieht
für die man die notwendigen Zugriffsberechtigungen besitzt.

Gruß
Brasiland

delooks ·

Ich habe das so gelöst:

Habe in der Datei...
typo3\sysext\cms\tslib\class.tslib_content.php
...auf Zeile 7055 den Code geändert von...

$iconImg = $conf['iconImg'] ? $conf['iconImg'] : '<img src="'.TYPO3_mainDir.'gfx/edit_fe.gif" width="11" height="12" border="0" align="top" title="'.t3lib_div::deHSCentities(htmlspecialchars($iconTitle)).'" style="" class="frontEndEditIcons" alt="" />';

auf

$iconImg = $conf['iconImg'] ? $conf['iconImg'] : '<img src="'.TYPO3_mainDir.'gfx/edit_fe.gif" width="11" height="12" border="0" align="top" title="'.t3lib_div::deHSCentities(htmlspecialchars($iconTitle)).'" style="" class="frontEndEditIcons" id="frontEndEditIcon_'.$editUid.'" alt="" />';

Dann kann ich zB. mit ...
#frontEndEditIcon_126{
display:none;
}

...jedes beliebige Icon per CSS ausblenden.

peter1234 ·

ich habe versucht und versucht und habe es jetzt auch geschafft das mit css ganze editpanels ausgeblendet werden können:

Habe in der Datei...
typo3\sysext\cms\tslib\class.tslib_content.php
...in Zeile 6961 folgenden Code

						//	Final
					$labelTxt = $this->stdWrap($conf['label'],$conf['label.']);
					$panel='

								<!-- BE_USER Edit Panel: -->
								'.$formTag.'
									<input type="hidden" name="TSFE_EDIT[cmd]" value="" />
									<input type="hidden" name="TSFE_EDIT[record]" value="'.$currentRecord.'" />
									<table border="0" cellpadding="0" cellspacing="0" border="1" bordercolor="black" class="typo3-editPanel">
										<tr>
											<td nowrap="nowrap" bgcolor="#ABBBB4" class="typo3-editPanel-controls">'.$panel.'</td>'.($labelTxt?'
											<td nowrap="nowrap" bgcolor="#F6F2E6" class="typo3-editPanel-label"><font face="verdana" size="1" color="black">&nbsp;'.sprintf($labelTxt,htmlspecialchars(t3lib_div::fixed_lgd($dataArr[$labelField],50))).'&nbsp;</font></td>':'').'
										</tr>
									</table>
								</form>';
						// wrap the panel
					if ($conf['innerWrap']) $panel = $this->wrap($panel,$conf['innerWrap']);
					if ($conf['innerWrap.']) $panel = $this->stdWrap($panel,$conf['innerWrap.']);
						// add black line:
					$panel.=$blackLine;

durch diesen Code ersetzt:

					$tmp_1234 = ereg_replace('tt_content:', '', $currentRecord);
					
						//	Final
					$labelTxt = $this->stdWrap($conf['label'],$conf['label.']);
					
					$panel='
							
							<div id="frontEndEditPanel_'.$tmp_1234 .'">
							
								<!-- BE_USER Edit Panel: -->
								'.$formTag.'
									<input type="hidden" name="TSFE_EDIT[cmd]" value="" />
									<input type="hidden" name="TSFE_EDIT[record]" value="'.$currentRecord.'" />
									<table border="0" cellpadding="0" cellspacing="0" border="1" bordercolor="black" class="typo3-editPanel">
										<tr>
											<td nowrap="nowrap" bgcolor="#ABBBB4" class="typo3-editPanel-controls">'.$panel.'</td>'.($labelTxt?'
											<td nowrap="nowrap" bgcolor="#F6F2E6" class="typo3-editPanel-label"><font face="verdana" size="1" color="black">&nbsp;'.sprintf($labelTxt,htmlspecialchars(t3lib_div::fixed_lgd($dataArr[$labelField],50))).'&nbsp;</font></td>':'').'
										</tr>
									</table>
								</form>
							</div>  ';
						// wrap the panel
						// edit by peter end
					if ($conf['innerWrap']) $panel = $this->wrap($panel,$conf['innerWrap']);
					if ($conf['innerWrap.']) $panel = $this->stdWrap($panel,$conf['innerWrap.']);
						// add black line:
					// $panel.=$blackLine;

dann kann man wie bei delooks zb. beim content element 126 das EditPanel ausblenden.

#frontEndEditIcon_126{
display:none;
}
anderer ·

hallo zusammen,

vielen dank für diese wunderbare extension.

bei mir scheint die nur mit dem editpanel (kleine edit-leiste) zu funktionieren und nicht mit den editicons (nur der stift am entsprechenden text) - hat jemand das selbe problem entdeckt?

wenn ein element mit der extension dp_editpanel vom FE-edit schützt, kann man die anderen inhaltselemente nur über das editpanel ansteuern - die icons verschwinden im FF und Safari, im FF auch die Links.

gruß

andré