johannes293: typo3: Zugriff auf Seiten - content

Abend,
Ich experimentiere mit typo3 und habe meinen halben Nachmittag mit dem Versuch verpulvert, folgende frage zu loesen; daher frage ich jetzt einmal hier nach:

Ich habe bei Typo3 im Backend einige Seiten hinzugefuegt. Wie sage ich typo3 in typoscript, einfach den gesamten Textinhalt (via backend hinzugefuegt) auszugeben? Wie greife ich auf diesen Text zu?
Und wie greife ich auf das Menue zu?
Und zwar ohne irgendwelche Extensions wie Tempvoila oder sonstwas. einfach nur text ausgeben.

g johannes

  1. Ich habe bei Typo3 im Backend einige Seiten hinzugefuegt. Wie sage ich typo3 in typoscript, einfach den gesamten Textinhalt (via backend hinzugefuegt) auszugeben? Wie greife ich auf diesen Text zu?

    anname dein html-template liegt im verzeichnis fileadmin/meintempate/index.html und sieht etwas so aus

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    <head>
     <meta http-equiv="content-type" content="text/html; charset=utf-8" />
     <title>titel</title>
     <link rel="stylesheet" type="text/css" href="css/screen.css" media="screen, projection" />
    </head>
    <body>
    <!-- ###BODY### -->
     <div id="content">
     <!-- ###CONTENT### -->
      <p>lorem ipsum</p>
     <!-- ###CONTENT### -->
     </div>
    <!-- ###BODY### -->
    </body>
    </html>

    dann kannst du so darauf zugreifen:

    page = PAGE
    page.10 = TEMPLATE
    page.10 {
     template = FILE
     template.file = fileadmin/{$const.templatedir}/index.html
     workOnSubpart = BODY
     subparts {
      CONTENT = TEXT
      CONTENT.value = <p>weee!</p>
     }
    }

    das gibt dir mal ein primitives "weee!" statt dem blindtext aus

    mit css-styled-content kannst du dir bequem die inhaltselemente holen - dafür bei "include static" das  css styled content nicht vergessen ;)

    styles.content.get für die normale spalte, styles.content.getRight für die rechte spalte usw

    CONTENT = TEXT < styles.content.get

    alternativ kannst du die inhalte auch selbst mit dem CONTENT-obekt abfragen und nicht die methode von css_styled_content verwenden - wie das geht, dannst du dir bei css_styled_content abschauen - das static-template der extension muss aber vorhanden sein (und die extension natürlich aktiv)

    /typo3/sysext/css_styled_content/static/setup.txt

    styles.content.get = CONTENT
    styles.content.get {
     table = tt_content
     select.orderBy = sorting
     select.where = colPos=0
     select.languageField = sys_language_uid
    }

    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

    Und wie greife ich auf das Menue zu?

    beschäftige dich mit dem menü-objekt, konret mit TMENU/HMENU (die weise entscheidung, wenn du vernüntiges menü willst - halte dich nach möglichtkeit fern von GMENU)

    Und zwar ohne irgendwelche Extensions wie Tempvoila oder sonstwas. einfach nur text ausgeben.

    ohne extension kannst du unmöglich text ausgeben, typo3 kann das nicht (wirklich) - css_styled_content gehört zur grundausstattung und reicht vollig aus - von templatevoila solltest du um deines codes willen die finger lassen :)

    1. Hi,

      ohne extension kannst du unmöglich text ausgeben, typo3 kann das nicht (wirklich) - css_styled_content gehört zur grundausstattung und reicht vollig aus

      dem kann ich nach meinen ersten 2 Typo-Wochen zustimmen, es sei denn, Du willst alle contents mit sql-Abfragen holen, dann gehts auch ohne css_styled_content  ;-)

      he, wie kriegt man die blöden Anker-Tags in css_styled_content weg ;-)

      Gruesse, Joachim

      --
      Am Ende wird alles gut.
      1. he, wie kriegt man die blöden Anker-Tags in css_styled_content weg ;-)

        wie schon gsagt: setup.txt von css_styled_content ansehen - da steht all dieser schwachsinn drin - nur suchen wer den schwachsinn macht und dann im typoscript wieder überschreiben bzw löschen:

        lib.stdheader.stdWrap.dataWrap >
        tt_content.stdWrap.dataWrap >

        1. Hi Suit,

          wie schon gsagt: setup.txt von css_styled_content ansehen - da steht all dieser schwachsinn drin

          hehe, und:
          #dataWrap = <a id="c{field:uid}"></a> |
          hinfort isses...

          Danke und Gruesse, Joachim

          --
          Am Ende wird alles gut.
          1. #dataWrap = <a id="c{field:uid}"></a> |
            hinfort isses...

            im übrigen: das sinnlose a-element hast du jetzt los, allerdings kannst du so nicht mehr zu den content-elementen springen (per inhaltsverzeichnis)  - sinnvoll ist die sache schon, nur äusserst unglücklich umgesetzt

            wenn du dieses feature brauchts, bedenke dass du den nötigen anker entfernt hast und behalts im hinterkopf

            ich hab c{field:uid} als id in die überschrift des jeweiligen content-elements gerendert - dafür brauchst du ein paar zeilen typoscript - viel spass beim rätseln

    2. Erstmal Dankte fuer die ausfuehrliche Antwort, bin wieder etwas motiviert!

      das gibt dir mal ein primitives "weee!" statt dem blindtext aus

      Das funktioniert auch.

      mit css-styled-content kannst du dir bequem die inhaltselemente holen - dafür bei "include static" das  css styled content nicht vergessen ;)

      Nicht vergessen,

      CONTENT = TEXT < styles.content.get

      funktioniert trotzdem nicht... :(
      cache geloescht, css-styled-content bei Include static (from extensions) beim Template gesetzt...
      Ich habe deinen Code benutzt, bis eben darauf, dass ich folgendes geschrieben habe:
       subparts {
          CONTENT = TEXT < styles.content.get
       }
      woran koennte das denn liegen?

      g johannes

      1. funktioniert trotzdem nicht... :(

        Sorry, war zu unspezifisch:
        Die Seite wird anscheinend geparst, jedoch der Kontext nicht eingefuegt.
        Die Ausgabe lautet:

        <!DOCTYPE html  
         PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
        <html>  
        <head>  
         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />  
          
        <!--  
         This website is powered by TYPO3 [...]  
        -->  
          
         <link rel="stylesheet" type="text/css" href="typo3temp/stylesheet_8192c2092f.css" />  
         <title>the title: root</title>  
         <meta name="generator" content="TYPO3 4.2 CMS" />  
        [...]  
        </head>  
        <body>  
          
         <div id="content">  
          
         </div>  
          
        </body>  
        </html>  
        
        
        1. Die Ausgabe lautet:
          [code lang=html]<!DOCTYPE html
          PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

          config.doctype solltest du noch entsprechend umstellen xhtml_strict oder xhtml_trans

          da du offenbar config.xhtml_cleaning aktiv hast

          1. da du offenbar config.xhtml_cleaning aktiv hast

            Hm...
            Nachdem ich dazu nichts gefunden habe, wie ist typo denn dbz. aufgebaut?
            Ich wuerde mir gerne genauer anschauen wer was wann eibaut, der besser: verpfuscht und abschalten.

            g johannes

            1. da du offenbar config.xhtml_cleaning aktiv hast
              Hm...
              Nachdem ich dazu nichts gefunden habe, wie ist typo denn dbz. aufgebaut?

              die systematik ist etwa so

              • irgend ein schwindiger automatismus (oder jemand ohne ahnung von irgendwas) produziert etwas, das xhtml sein soll
              • xhtml_cleaning läuft drüber und versucht das ganze zu korrigieren

              Ich wuerde mir gerne genauer anschauen wer was wann eibaut, der besser: verpfuscht und abschalten.

              sieh dir einfach einen code mal an, den typo3 für dich produziert - da ist redundanter müll ende nie drin

              in jedem p-element ist eine klasse "bodytext" in jeder tabelle eine klasse "contenttable" usw

              vor und nach jedem content-element, plugin oder sonstwas findest du ein paar html kommentare die total unsinnig sind und nur den quelltext aufblähen usw

              all diesen sinnlosen schmafu kann man unterdrücken bzw entfernen oder entsprechend der eigenen vernunft anpassen

              1. all diesen sinnlosen schmafu kann man unterdrücken bzw entfernen oder entsprechend der eigenen vernunft anpassen

                Ja. Und -korregiere mich bitte, falls das nicht stimmt - ich werde wohl nicht umhinkommen, mir
                * /typo3/sysext/css_styled_content/static/setup.txt
                * index.php und
                * das TypoScript-Handbuch
                genauer anzusehen...
                Ist wohl nicht so gedacht, dass man das ganz einfach zurechtbiegen kann...

                g johannes

                1. Ja. Und -korregiere mich bitte, falls das nicht stimmt - ich werde wohl nicht umhinkommen, mir
                  * /typo3/sysext/css_styled_content/static/setup.txt

                  unbedingt mal ansehen

                  * index.php und

                  nicht wirklich interessant

                  * das TypoScript-Handbuch

                  auch nicht, da steht nur müll drin :D

                  kauf dir lieber das "Das TYPO3 Profihandbuch" von Addison-Wesley - da ist zwar auch einiges an unbrauchbarem müll drin, aber etwa 2/3 sind sehr hilfreich

                  Ist wohl nicht so gedacht, dass man das ganz einfach zurechtbiegen kann...

                  doch sicher - wenns konkrete fragen zum zurechtbiegen gibt, einfach fragen :D

                  1. kauf dir lieber das "Das TYPO3 Profihandbuch" von Addison-Wesley - da ist zwar auch einiges an unbrauchbarem müll drin, aber etwa 2/3 sind sehr hilfreich

                    hmm... danke fuer den TIpp, wenn ich mal bei Kasse bin schau ich mir das an...
                    Oder, was noch besser waere, sowas auf Englisch - Kennst du zufaellig etwas empfahlenswertes?
                    Bis dahin - und das kann dauern - kennst du empfehlenswerte Online-Sachen?
                    g johannes

                    1. Oder, was noch besser waere, sowas auf Englisch - Kennst du zufaellig etwas empfahlenswertes?

                      es ist in der tat so, dass deutschsprachige dokus zu typo3 zahlreicher am markt sind als englischsprachige ;)

                      Bis dahin - und das kann dauern - kennst du empfehlenswerte Online-Sachen?

                      nein ;) die online-dokus sind zu 95% gefährlich - 20 zeilen typoscript wobei eine die lösung für das beschriebene problem ist - die anderne 19 zeilen sind entweder nutzlos oder machen ganz was anderes

      2. subparts {
            CONTENT = TEXT < styles.content.get
        }
        woran koennte das denn liegen?

        daran dass ich mist gebaut habe :D

        CONTENT < styles.content.get

        1. CONTENT < styles.content.get

          ES funktioniert - danke!

          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

          Gibt es solche Projekte?
          Oder kann man das zb. mit Smarty ersetzen?
          Geht das auch bei anderen CMS?
          So koennte ich gleich mehrere CMS auf einen schlag lernen...

          g johannes

          1. Gibt es solche Projekte?

            css_styled_content ist so ein projekt - du möchtest nicht wissen, wie das früher war :D

            da aber jeder seine eigenen vorstellungen hat, wie ordentlicher code auszusehen hat, ist es schwierig sich da zu einigen - 95% der typo3-entwickler haben übrigens keine ahnung von html oder css - wenn dir also etwas gegen den strich geht: ändere es selbst, wie gesagt mit typoscript kannst du nahezu beliebig an der ausgabe herumdrehen

            Oder kann man das zb. mit Smarty ersetzen?

            zahlt sich nicht aus, die template-engine die typo3 mitliefert ist gut genug, alternative engines haben zwar vorteile, solange du aber das wesen von t3 nicht verstanden hast, nutze sie nicht - es macht die sache nur unnötig kompliziert (sprich: du kommst schneller zu einem ergebnis, der code ist aber noch wilder als vorher :D)

            Geht das auch bei anderen CMS?

            geht was?

            So koennte ich gleich mehrere CMS auf einen schlag lernen...

            übertreibs nicht - bleib bei einem cms und beschränke dich darauf, das ist genug arbeit

            für meinen teil, ich muss mich mit einer anzahl an cms' abmühen, die ich an meinen händen nicht abzählen kann - darunter sind welche mit kleinen nachteilen, schlechte und extrem schlechte ;) typo3 ist das "geringste übel" ;)