Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten Ansicht
  #1  
Alt 28.05.08, 17:23
Forum Zuschauer
 
Registriert seit: 28.05.08
Beiträge: 1
neue ext.: wie verstecke ich alle Inhaltselemente einer Seite

Hallo!

Ich bin gerade dabei, eine neue Extension fertig zu stellen. Sie heißt cebrowser und ermöglicht es, eine Pagination über die Seiteninhalte von nur einer Seite zu erstellen.
Hintergund ist, dass der ohnehin schon aufgeblähte Seitenbaum meines Auftraggebers nicht noch unübersichtlicher dadurch wird, dass ein Artikel über mehrere Unterseiten führt. Wir haben das Paradigma: 1 Artikel = 1 Seite im Seitenbaum.
Also kann der Redakteur nun mein Plugin auf die Seite stellen und innerhalb von diesem Plugin Pagebreaks zwischen die einzelnen Seiteninhalte einfügen.

Folgendes Problem gab es nun zu lösen.
Wenn das Plugin die Darstellung der Seiteninhaltselemente übernehmen soll, dann dürfen sie nicht schon vorher dargestellt werden. In der ersten Version habe ich daher dem Redakteur gesagt, er soll alle Inhaltselemente auf versteckt setzen. Mein Plugin holt sie sich dann direkt aus der DB ohne nach dem hidden-Flag zu fragen.
Das Problem war aber nun hierbei, dass die Seite nicht mehr korrekt angeteasert wurde. Wir benutzen jp_pageteaser dafür, und wenn das keine sichtbaren Inhaltselemente findet, stellt es einen leeren Teaser-Abschnitt auf die Startseite.
In meiner zweiten Version habe ich eine checkbox in die Seiten-Eigenschaften eingefügt:

[x] let CEBrowser handle Content Elements

Wenn geklickt, wird am Beginn der Typo3-Seitenerstellung eine Funktion aufgerufen, die nach sichtbaren Inhaltselementen auf der Seite sucht. Die gefundenen werden unsichtbar gemacht und ein zusätzliches Flag wird in der Tabelle tt_content gesetzt. Das eigentliche Plugin stellt die gewünschten Inhaltselmente dar und setzt danach alle verstecktene Inhaltselemente, bei denen o.g. Flag gesetzt ist, wieder auf sichtbar. (um "künstlich" versteckte Inhaltselemente von "echt" versteckten zu unterscheiden).
Da diese ganzen Operationen direkt auf der Datenbank aus geführt werden (Update ... SET hidden=1), ist diese Methode extrem unelegant, da sie
1) eine schlechte Perfomance hat und
2) nicht threadsafe ist (wenn eine so präparierte Seite mehrmals quasi gleichzeitig aufgerufen wird, geschehen verrückte Dinge).

Was ich bräuchte, wäre folgendes :
1) eine Objekt/Array zur Laufzeit der Seitenerstellung (vielleicht im $TSFE?), dass alle Seiteninhaltselemente und deren Eigenschaften enthält
2) eine Eigenschaft, die ich darin setzen kann und mit deren Hilfe ich die Elemente "unsichtbar machen" kann (und wenns irgend ein "wrapInCssStyle.style=display:none" oder ähnliches ist - äh, Typoscript ist nicht meine Stärke)
Wenn ich das hätte, könnte ich diese versteck-Geschichte innerhalb des jeweiligen Aufruf-Prozesses und ohne DB-zugriff abwickeln, was doch wesentlich angenehmer wäre.

Trotz intensiver Suche in den internen Variablen von Typo3 zur Laufzeit habe ich nichts dergleichen gefunden. Vielleicht weiß jemand von euch aber mehr? Für entsprechende Tipps bin ich sehr dankbar.

Die xtension selbst habe ich gerade ins Rep hoch geladen. Wenn sie da noch nicht erscheint, findet Ihr sie auch unter meiner Homepage.

Unter Vollgas in der Ausbildung ist sie schon produktiv.

Viele Grüße,
Ralf
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Sponsored Links
Antwort


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are An


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
tt_news: Alle Artikel auf einer Seite anzeigen dennisdd News (tt_news, mininews und Co) 6 03.03.08 14:49
Kann keine Inhaltselemente für neue Seiten anlegen AnnaM TYPO3 4.x Backend 1 14.08.07 11:43
Neue Inhaltselemente lassen sich nicht mehr anlegen cbeier TYPO3 4.x Fragen und Probleme 0 20.05.07 22:15
Neue Seite automatisch einer Gruppe zuordnen Elno TYPO3 4.x Backend 2 13.12.06 13:06
Fehlende Rechte um über TV neue Inhaltselemente anzulegen paukul TYPO3 4.x Fragen und Probleme 1 22.02.06 01:02


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.


Powered by vBulletin® Version 3.6.8 Patch Level 2 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Template-Modifikationen durch TMS