die Zeile von toyde ist korrekt und entfernt die Kommentare - lösch mal cache und schau im Object Browser, ob die Einstellung bei der entsprechenden Seite auch gilt.
überfluessige von Typo3 generierte HTML Elemente im Quelletext entfernen
Hallo,
also laut Object Browser ist die Einstellung gesetzt, sie bewirkt ja auch was :
ein Bsp. ohne config.disablePrefixComment = 1 :
<!-- CONTENT ELEMENT, uid:133/list [begin] -->
<!-- Plugin inserted: [begin] -->
<!--
BEGIN: Content of extension "user_pluser", plugin "user_pluser_pi3"
-->
<div class="user-pluser-pi3">
</div>
<!-- END: Content of extension "user_pluser", plugin "user_pluser_pi3" -->
<!-- Plugin inserted: [end] -->
<!-- CONTENT ELEMENT, uid:133/list [end] -->
und ein Bsp. mit config.disablePrefixComment = 1 an der gleichen Stelle im Quelltext :
<!--
BEGIN: Content of extension "user_pluser", plugin "user_pluser_pi3"
-->
<div class="user-pluser-pi3">
</div>
<!-- END: Content of extension "user_pluser", plugin "user_pluser_pi3" -->
man sieht es sind weniger Kommentare ,aber die die ich weg haben moechte sind trotzdem da?
🙂
versuchs mal mit
tt_content.stdWrap.dataWrap =
Du mußt in der Extension
return $this->pi_wrapInBaseClass($content);
durch
return $content;
ersetzen,
weder
config.disablePrefixComment = 1
noch
tt_content.stdWrap.dataWrap =
haben darauf Einfluß.
das ist nicht korrekt, da dies in Abhängigkeit von 'disablePrefixComment' gesetzt wird:
if(!$GLOBALS['TSFE']->config['config']['disablePrefixComment']) {
$content = '
<!--
BEGIN: Content of extension "'.$this->extKey.'", plugin "'.$this->prefixId.'"
-->
'.$content.'
<!-- END: Content of extension "'.$this->extKey.'", plugin "'.$this->prefixId.'" -->
';
}
Also reicht es aus
config.disablePrefixComment=1
zu setzen.
Ich bin mir nicht sicher ob ein Unterschied zwischen config und page.config was ausmacht.
Lieber steffenk,
um die Ausgabe des DIV-tags um die PlugIn-Ausgabe zu unterbinden,
reicht "disablePrefixComment" eben nicht aus.
Lies bitte nochmal genau nach,
um was es in diesem thread geht.
Lieber jenses,
genau das reicht aus. Der obige Ausschnitt stammt aus der Funktion pi_wrapInBaseClass und zeigt, das dort der Wert 'disablePrefixComment' abgefragt wird und der Kommentar nur gesetzt wird, wenn dieser Wert nicht gesetzt ist.
Ich habe genau gelesen worum es geht 😉
jenses schrieb... um die Ausgabe des DIV-tags um die PlugIn-Ausgabe zu unterbinden ...
der gute Mann will nur seinen Plugin-Inhalt ausgeben (als Plaintext, ohne div außendrum)
und nun schau nochmal in pi_wrapInBaseClass 😉
Hallo,
obwohl mir das Bsp. von steffenk auch einleutet scheint es trotdem allein mit
config.disablePrefixComment=1
nicht zu funktionieren was es hingegen mit dem Beispiel von jensen tatsaechlich tut!
Ich habe mir jetzt die Klasse pi_wrapInBaseClass nicht nochmal angeschaut aber
1.
if(!$GLOBALS['TSFE']->config['config']['disablePrefixComment']) {
2.
$content = '
3.
4.
5.
<!--
6.
7.
BEGIN: Content of extension "'.$this->extKey.'", plugin "'.$this->prefixId.'"
8.
9.
-->
10.
'.$content.'
11.
<!-- END: Content of extension "'.$this->extKey.'", plugin "'.$this->prefixId.'" -->
12.
13.
';
14.
}
dieser Auszug muesste doch eigtl. wirklich die Ausgabe des ungewuenschten Codes bei
config.disablePrefixComment=1
verhindern?!?
Totzdem schonmal
Danke Danke!
Vor dem if-Part steht noch :
$content = '<div class="'.str_replace('_','-',$this->prefixId).'">
'.$str.'
</div>
';
Dieser Code wird ausgeführt, wenn config.disablePrefixComment=0 ist.
ich glaub, wir verstehen uns falsch.
Um das div zu verhindern, muss man die wrapInBaseClass weglassen.
Um sie zu benutzen, aber den Kommentar auszuschalten, muss man
config.disablePrefixComment=1
nutzen.
Wenn Du das hast und die Kommentare erscheinen trotzdem, dann greift die Anweisung nicht, ich vermute, das Du das hast mit
page.config.disablePrefixComment=1
Lass das page mal weg und schaus Dir nach Cache löschen nochmal an.
Hab auch dieses Problem.
mit config.disablePrefixComment=1 bekommt man das definitiv nicht hin.
Ich hab versucht, dafür eine Extension zu schreiben, die die Function pi_wrapInBaseClass in tslib überschreibt, aber da sind keine Hooks oder XCLASS um das zu realisieren.
Weiß jemand vielleicht, wie man die Funktion überschreiben kann?
Gruß Daniel
Die Funktion sollte so aussehen:
function pi_wrapInBaseClass($str) {
$content = $str;
if(!$GLOBALS['TSFE']->config['config']['removePluginDivs']) {
$content = '<div class="'.str_replace('_','-',$this->prefixId).'">'.$str.'</div>';
}
if(!$GLOBALS['TSFE']->config['config']['disablePrefixComment']) {
$content = '
<!-- BEGIN: Content of extension "'.$this->extKey.'", plugin "'.$this->prefixId.'" -->
'.$content.'
<!-- END: Content of extension "'.$this->extKey.'", plugin "'.$this->prefixId.'" -->
';
}
return $content;
}
Aber ich will ja net im Source rumfummeln, sondern das sauber über ne Extension einbinden. :-)
Hallo,
habe den Thread vor kurzem gefunden und dafür eine Extension geschrieben, die jetzt im TER verfügbar ist: Better pibase (better_pibase).
Dies überwacht die Datei class.tslib_pibase.php und ersetzt, sobald diese geändert wurde (beispielsweise durch update) diese Funktion wieder (und nur diese).
Viel Spaß damit und lasst etwas von euch hören.
Nicole