johannes293: TYPO3 bereinigen: config.doctype und css_styled_content setup

Abend,
Bei dem Versuch, TYPO3 zu bereinigen, sind ein paar Fragen aufgetaucht:

1.) css_styled_content setup
Bei dem css_styled_content-setup habe ich nerfige Kommentare und Tags (bis auf <p class='bodytext'> entfernt,
indem ich einfach "prefixComment = 1 | CONTENT ELEMENT, uid:{field:uid}/{field:CType} " oder zB. "dataWrap = <a id="c{field:uid}"></a> |" geloescht habe,
ohne wirklich die Funktionsweise von der setub.txt-datei zu verstehen.
Da ich aber gerne weiss, was ich tue ;] Folgende Fragen:
 Von wem und wie wird diese Datei in welcher Weise interpretiert, handelt es sich dabei um TypoScript?
Falls nein, welchen Regeln folgt sie?
Was passiert zB. bei Syntaxfehlern in der Datei?
Wenn ich das weiss, werde ich wahrscheinlich verstehen, wie dieses "<p class="bodytext">" zu entfernen ist.

2.)
Wie deaktiviere ich config.doctype bzw. Konfiguriere es so, dass alles auser dem <title>-Tag unangetastet bleibt?
Dazu findet man im Internet wirklich nichts; Deaktiviert das sonst (fast) niemand? -> Welchen Zweck hat das ganze eigentlich?

g johannes

  1. Hi,

    ohne wirklich die Funktionsweise von der setub.txt-datei zu verstehen.

    Dort würde ich auch keinesfalls arbeiten (updates!), sondern entsprechende Angaben im Template überschreiben (...ja, das ist Typoscript). Zur Syntax kann ich Dir noch nicht so viel sagen, an deren Verständnis arbeite ich selber noch ;-)

    Wie deaktiviere ich config.doctype bzw. Konfiguriere es so, dass alles auser dem <title>-Tag unangetastet bleibt?

    Ich habe inzwischen gelernt, dass es günstiger ist, anderherum vorzughen: arbeite nur in einem Subpart Deiner Designvorlage (setze dazu z.B den body in entsprechende Marker), die Default-Headerangaben überschreibst Du nach Wunsch:

    config {

    doctype = <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
        removeDefaultJS = external
        inlineStyle2TempFile = 1
    }

    und weiter im Seitenobjekt:

    page {
        stylesheet = fileadmin/user_upload/css/main.css
        headerData.100 = TEXT
        headerData.100.value = <script language="JavaScript" type="text/javascript" src="/fileadmin/user_upload/js/base.js"></script>
        headerData.110 = TEXT
        headerData.110.value = <!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="/fileadmin/user_upload/css/main_ie7.css" /><![endif]-->

    bodyTag = <body onload="local_start()">
    }

    wobei user_upload nicht der optimale Ort ist, aber daran arbeite ich noch ;-)

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Abend,

      ohne wirklich die Funktionsweise von der setup.txt-datei zu verstehen.
      Dort würde ich auch keinesfalls arbeiten (updates!), sondern entsprechende Angaben im Template überschreiben

      hm... mir wurde vor ein paar Wochen dazu geraten:

      für anfänger ist es empfehlenswert, diese extension zu verwenden (wird mitgeliefert) mit entsprechendem know-how kannst du sie modifzieren oder gar ersetzen (sind aber über 1500 zeilen :))

      auf dauer lohnt das aber, da css_styled_content von irren geschrieben wurde, die html-ausgabe ist teilweise ein frechheit

      Daher stellt sich mal die Frage: inwieweit ist diese Setupdatei von Updates betroffen?
      Annahme: Wenn die Setupdatei geaendert werden muss, da sich irgendetwas grundlegendes geaendert hat, gilt das doch auch fuer den typoscript - code. Wenn man setup.txt bearbeitet und dabei versteht was man tut und nicht nur herumprobiert, kann die Anpassung einer neuen Version der setup.txt - was wohl nicht so oft vorkommt - auch bearbeiten..?

      Wie deaktiviere ich config.doctype bzw. Konfiguriere es so, dass alles auser dem <title>-Tag unangetastet bleibt?
      Ich habe inzwischen gelernt, dass es günstiger ist, anderherum vorzughen: arbeite nur in einem Subpart Deiner Designvorlage (setze dazu z.B den body in entsprechende Marker), die Default-Headerangaben überschreibst Du nach Wunsch:

      Hm, kannst du das begruenden?
      Hier der automatisch erzeugte Header:

      <!DOCTYPE html  
       PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      

      Absoluter Muell
      <html>
      <head>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      Ist OK

      <!--  
       This website is powered by TYPO3 - inspiring people to share!  
       TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.  
       TYPO3 is copyright 1998-2008 of Kasper Skaarhoj. Extensions are copyright of their respective owners.  
       Information and contribution at http://typo3.com/ and http://typo3.org/  
      -->
      

      Brauch ich nicht.
       <link rel="stylesheet" type="text/css" href="typo3temp/stylesheet_8192c2092f.css" />
      OK, koennte irgendwann nuetlich werden, AuftraggeberIn geringfuegige aenderung vornehmen moechte - auch wenn das nicht sehr Effizient ist.

       <title>the title: root</title>  
       <meta name="generator" content="TYPO3 4.2 CMS" />
      

      Ist gut.
      <script type="text/javascript" src="typo3temp/javascript_93077bb238.js"></script>
      Absoluter Muell - Kann (fast) kein Javascript

      Also;
      Warum sollte ich irgendein Modul aktivieren, dass irgendwelche sonnlosen Standardvorgaben macht, die ich grossteils wieder rueckgaengig machen muss?
      Es waere eleganter, Dynamische Werte generieren zu lassen - und ev. das dynamische Stylesheet - den Rest weiss ich zum Zeitpunkt der Erstellung, fuer diesen Zusatzaufwand sehe ich keinen Sinn.

      g johannes

      1. Hi,

        hm... mir wurde vor ein paar Wochen dazu geraten:

        ja, zum Überschreiben schon - aber im eigenen Template via Typoscript. Aber selbstverständlich steht es Dir frei, die Extensions künftig nicht mehr upzudaten...

        Ich habe inzwischen gelernt, dass es günstiger ist, anderherum vorzughen: arbeite nur in einem Subpart Deiner Designvorlage (setze dazu z.B den body in entsprechende Marker), die Default-Headerangaben überschreibst Du nach Wunsch:
        Hm, kannst du das begruenden?

        viele extensions schreiben automatisiert Angaben in en Head.

        Gruesse, Joachim

        --
        Am Ende wird alles gut.
        1. hm... mir wurde vor ein paar Wochen dazu geraten:
          ja, zum Überschreiben schon - aber im eigenen Template via Typoscript. Aber selbstverständlich steht es Dir frei, die Extensions künftig nicht mehr upzudaten...

          richtig, so war das gemeint - mit überschreiben meinte ich in dem verlinkten hinweis nicht im setup-file direkt sondern in einem weiteren typoscript-template ;)

          setup.txt von css_styled_content soll nur als vorlage zum erlernen der syntax dienen ;)

      2. Warum sollte ich irgendein Modul aktivieren, dass irgendwelche sonnlosen Standardvorgaben macht, die ich grossteils wieder rueckgaengig machen muss?

        weil es ein standardmodul ist ;) wie ich dir schon gesagt habe: wenn du das ganze ordentlich haben willst, musst du css_styled_content ersetzen oder soweit anpassen, dass es deinen wünschen entspricht

        folgender schnipsel sollte einen grossteil des unwichtigen mülls entfernen

        config {
         xmlprologue = none
         doctype = xhtml_strict
         xhtml_cleaning = all
         stdWrap.htmlSpecialChars = 1
         uniqueLinkVars = 1
         disableImgBorderAttr = 1
         disablePrefixComment = 1
        }

        ergänzen dazu gäbs noch noch folgendes
        config {
         removeDefaultJS = 1
         noPageTitle = 2
        }

        wobei dazuzusagen ist: dass removeDefaultJS zur folge hat, dass einige auf javascript basierende (ohnehin schwachsinnige) dinge nicht mehr funktioneren - namentlich e-mail-verschlüsselung oder das blur-feature bei den standardmenülösungen

        einfach im hinterkopf behalten

        zum noPageTitle: diesen muss man dann natürlich selbst nachbauen

        Es waere eleganter, Dynamische Werte generieren zu lassen - und ev. das dynamische Stylesheet - den Rest weiss ich zum Zeitpunkt der Erstellung, fuer diesen Zusatzaufwand sehe ich keinen Sinn.

        irgendwann wirst du den sinn dahinter erkennen, nicht alles gleichzeitig machen - das braucht zeit, in typo3 lernt man sich schnell rein, bis man es vollständig verstanden hat, vergehen aber einige monate, da der allein der code für die standard-frontend-ausgabe immens ist

        1. Abend,

          folgender schnipsel sollte einen grossteil des unwichtigen mülls entfernen
          ...

          OK, Danke, werd mal damit anfangen, zu versuchen zu verstehen was genau ich da mache ;) und

          Wenn ich das weiss, werde ich wahrscheinlich verstehen, wie dieses "<p class="bodytext">" zu entfernen ist.
          hierzu sollte dich lib.parseFunc_RTE interessieren ;)

          mir lib.parseFunc_RTE ansehen...

          richtig, so war das gemeint - mit überschreiben meinte ich in dem verlinkten hinweis nicht im setup-file direkt sondern in einem weiteren typoscript-template ;)

          OK, das hab ich falsch verstanden...
          Joachim, auch dir danke.

          g johannes

  2. Da ich aber gerne weiss, was ich tue ;] Folgende Fragen:
    Von wem und wie wird diese Datei in welcher Weise interpretiert, handelt es sich dabei um TypoScript?

    typoscript wird in ein mehrdimensionales php-array übersetzt

    page.10.headerData wird zb in
    $conf[page][10][headerData] übersetzt (achtung, beispiel - es ist schon eine spur komplexer, da bestimmte schlüsselwörter in den keys zu speziellem verhalten führen)

    diese werden dann von der template-engine geparst

    wenn man das verstanden hat, ist typoscript schon um einiges leichter

    Was passiert zB. bei Syntaxfehlern in der Datei?

    ein syntaxfehler in typoscript wird in der regel ignoriert, sofern der syntaxfehler nicht aussieht, als wäre er typoscript

    wenn du satt page.10.headerData page,10.headerData schreibst, wird das halt in [page,10][headerData] übersetzt - nachdem vermutlich keine extension drauf zugreift, läuft der parser dran vorbei und ignoriert es

    Wenn ich das weiss, werde ich wahrscheinlich verstehen, wie dieses "<p class="bodytext">" zu entfernen ist.

    hierzu sollte dich lib.parseFunc_RTE interessieren ;)

    Dazu findet man im Internet wirklich nichts; Deaktiviert das sonst (fast) niemand? -> Welchen Zweck hat das ganze eigentlich?

    typo3 ist ein framework, zur frontendausgabe nutzt du css_styled_content, welches html oder xhtml produziert (so wie die entwickler das gedacht haben)

    wenn du das nicht willst oder es anderes willst, schreibe die extension neu oder passe sie an :) sagte ich aber bereits