Content Elemente mit Zugriffsschutz anders layouten
| Autor | Nachricht |
|---|---|
|
Verfasst am: 23. 07. 2009 [22:19]
|
|
|
aemka
Themenersteller
Dabei seit: 23.07.2009
Beiträge: 339
|
Hi, gibt es eine (einfache) Möglichkeit, Content-Elemente, die mit einem Zugriffsschutz versehen wurden, also erst nach Frontend-Login sichtbar werden mit einem Extra-Div zur optischen Hervorhebung zu versehen? Matthias |
|
Verfasst am: 24. 07. 2009 [10:40]
|
|
|
sunixzs
Dabei seit: 18.06.2008
Beiträge: 106
|
Hallo aemka, eine Möglichkeit wäre, dass der Redakteur dem Content-Element einen Rahmen gibt. Bei jedem Content-Element in "Allgemein -> Rahmen" zu finden. Diese Rahmen kann man per CSS formatieren. Evtl. liese sich da auch was über Conditions machen? TYPOSCRIPT [usergroup = *] # Bei eingeloggtem Benutzer Header aendern... lib.stdheader.stdWrap.dataWrap = <div class="meinSpeziellerHeader header-n{cObj:parentRecordNumber}">|</div> [global] Den Wrap für Content-Elemente habe ich gerade nicht parat. Das müsste aber dann ähnlich sein (vllt. so?): TYPOSCRIPT Schönen Gruß PS: Poste bitte mal, wenn Du die Lösung hast. EDIT: Achso, du willst nur Rahmen/DIVs bei Elementen, welche vor dem Login nicht sichtbar waren. Bei meinen Conditions würde das ja nur für alle Elemente gelten. Hm, man könnte im TS bestimmt abfragen, ob ein Feld in der Tabelle tt_content besetzt ist: TYPOSCRIPT page.10 = TEMPLATE page.10 { template = FILE template.file = fileadmin/html/index.html workOnSubpart = DOCUMENT subparts { CONTENT < styles.content.get CONTENT.renderObj.stdWrap.innerWrap.cObject = CASE CONTENT.renderObj.stdWrap.innerWrap.cObject { key.field = fe_group 0=TEXT 0.value = | 1=TEXT 1.value = <div class="group1">|</div> 2=TEXT 2.value = <div class="group2">|</div> } } } Das Problem hier bei wäre, dass es ja mehrere Gruppen geben kann, die kommasepariert im Feld fe_group gespeichert werden. ("1", "2", "1,2", "2,1", ...). Achso, das ist alles nicht getestet. Ich möchte nur Lösungsansätze bringen. [Dieser Beitrag wurde 3mal bearbeitet, zuletzt am 24.07.2009 um 10:53.] |
|
Verfasst am: 24. 07. 2009 [11:40]
|
|
|
aemka
Themenersteller
Dabei seit: 23.07.2009
Beiträge: 339
|
Tausend Dank - ich habe echt selten mal so fundierte Antworten hier erhalten. Ich werde letzteres mal einsetzen. Es wird auch nur 1 FE-Usergruppe geben. Daher sollte das eigentlich funktionieren. Ich werde mal posten, wie es aussieht. |
|
Verfasst am: 21. 08. 2009 [00:22]
|
|
|
aemka
Themenersteller
Dabei seit: 23.07.2009
Beiträge: 339
|
Hi nochmal nun wollte ich das mal testen. Allerdings nutze ich in dem Projekt Templavoila und frage mich wo ich nun ansetzen. Für die Spalte wo das passieren soll, sieht das in TV aktuell so aus - (wo) kann ich denn hier mit meinem CONTENT.renderObj... angreifen? HTML ... <field_colright type="array"> <tx_templavoila type="array"> <title>Rechte Spalte</title> <sample_data type="array"> <numIndex index="0"></numIndex> </sample_data> <eType>ce</eType> <TypoScript><![CDATA[ 10= RECORDS 10.source.current=1 10.tables = tt_content 10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end--> ]]></TypoScript> <oldStyleColumnNumber type="integer">1</oldStyleColumnNumber> </tx_templavoila> ... </field_colright> ... Bzw. ich frage mich - wer rendert bei Templavoila eigentlich? styles.content.get? Ich hatte mir daher das im TS schon mal überlegt, was aber keinen Einfluss hat: TYPOSCRIPT styles.content.get.renderObj.stdWrap.innerWrap.cObject = CASE styles.content.get.renderObj.stdWrap.innerWrap.cObject { key.field = fe_group 0=TEXT 0.value = | 1=TEXT 1.value = <div class="intern">|</div> } Hat noch jemand Ideen? |
|
Verfasst am: 21. 08. 2009 [00:27]
|
|
|
aemka
Themenersteller
Dabei seit: 23.07.2009
Beiträge: 339
|
Ok, ich habe eine Lösung. In TV ändert man gar nichts, sondern bereits auf tt_content Ebene: TYPOSCRIPT tt_content.stdWrap.innerWrap.cObject = CASE tt_content.stdWrap.innerWrap.cObject { key.field = fe_group 0 = TEXT 0.value = | 1 = TEXT 1.value = <div class="intern">|</div> } |



