Hallo,
ich betätige mich gerade an meinem ersten Typo3 Projekt und habe
vor diesem Hintergrund zu Testzwecken Seiteninhalt für den Spaltentyp "rechts" (CType = 2 in tt_content) erzeugt um zu sehen ob eine zuvor definierte TypoScript Regel zieht.
Da dies der Fall war löschte ich sogleich die Inhalte wieder,
mußte aber feststellen das diese weiterhin im FE angezeigt wurden. Anfänglich habe ich das auf den cache zurückgeführt, aber selbst nachdem ich sämtliche mir bekannten Möglichkeiten
(Backend Cache und im install tool vorhandene DB Säuberungsmaßnahmen) vorgenommen habe blieb der content im FE bestehen.
Der, bzw. die betroffenen Datensätze sind in der Tabelle tt_content mit deleted = 1 gekennzeichnet. Die einzig mir verbleibende Aktion ist nun, diese DS direkt in der DB zu löschen. Da dies imho nicht der richtige Weg sein kann, meine Nachfrage hier, was ich übersehen/falsch gemacht haben könnte.
Thx,
FazzyX
Hallo,
werden eventuell noch weitere Informationen benötigt ?
Ich verwende Typo3 in der Version 3.8.0 und php 5.0.4
Ist es eventuell möglich das der Fehler in Zusammenhang mit der verwendeten php Version stehen kann.
Das zuständige query muß ja bei einer Abfrage die Spalte deleted berücksichtigen, was bei mir anscheinend nicht der Fall ist. Kann man das query einsehen, bzw. in welchem file finde ich es ?
Thx,
FazzyX
Kenne das Problem, zeig mir mal dein typoScript von dem tt_content bzw. gleich den ganzen posten.
Liegt meistens am TS
humpun
Hallo humpun,
erstmal schönen Dank für den response !
ich poste mal nur die scheinbar entscheidenen Stellen (tt_content), da das komplette TS 270 Zeilen umfasst und somit den Lesefluss in diesem Thread beeinträchtigen könnte.
[...]
10.marks {
[...]
INHALT = CONTENT
INHALT {
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
} #INHALT
[...]
RECHTS = COA_INT
RECHTS.10 = CONTENT
RECHTS.10 {
table = tt_content
select.orderBy = sorting
select.where = colPos = 2
} #RECHTS.10
RECHTS.20 = CONTENT
RECHTS.20 {
table = tt_content
select.orderBy = sorting
select.pidInList = 109
} #RECHTS.20
[...]
Das so mal die möglicherweise relevanten Teile. Falls es notwendig wird das TS doch Zusammenhängend abzubilden, werde ich es hier verlinken.
Der Hinweis auf tt_content war aber schon mal gut, ein Ergebnis kann ich schon erzielen indem ich ein
select.where = deleted = 0
im INHALT Bereich einfüge, allerdings ist das natürlich nur bedingt befriedigend, da es ja an mehreren Stellen
eingefügt werden müßte.
Eine Suche um dies Global anzupassen blieb erfolglos, z.B. habe ich mal im includierten static "content (default)" template danach gesucht.
Mich wundert es aber schon, da ich davon ausgehe, das dies als default eingestellt sein sollte.
btw. Ein tt_content.table.select.where = deleted = 0 bringt es leider nicht, vielleicht auch einfach zu naiv gedacht 😉
Eine, bzw. zwei Fragen noch am Rande.
Wie editiert "Ihr" TS ? Über das BE oder in einem (Lieblings)Editor und dann per C & P ins BE.
Da ich es gewohnt bin mit sourcecode zu arbeiten stören mich einige Dinge, z.B. die Verwendung der tab Taste zwecks Einrücken, was mir immer den Fokus aus dem setup Fenster haut.
Dann wird ziemlich schnell aus so ein bischen TS "Spaghetticode", gibt es hier einen Kniff eventuell Bereiche
auszulagern, sozusagen den kompletten code in einzelne Bestandteile (Module) zerlegen und abzulegen und eventuell per include einbinden zu können ?
Ich weiß zwar das der ObjectBrowser eine schöne Hilfe in Hinsicht der Übersicht oder auch der Fehlersuche ist,
aber das ist nicht das was ich meine, bzw. suche.
Thx,
FazzyX
Hallo,
habe ich das evtl. falsch verstanden ?
Es geht um den tt_content Bereich der teile des includierten content (default) überschreibt, richtig ?
Dies wäre dann folgender Abschnitt.
tt_content.text.20 {
textStyle >
wrap = <p>|</p>
}
tt_content.menu.20.2 {
special = directory
special.value.field = pages
stdWrap.wrap = <font face="arial" size="1"> | </font>
}
# Das Suchformular anpassen
tt_content.search.30 {
target = _self
badMess = Bitte geben Sie ein Suchwort an !
layout = <img src="clear.gif" width="10" height="1" alt="" />###FIELD###<br />
stdWrap.wrap >
dataArray.10 {
label.lang.de =
type = *sword = input, 15 ,30
}
dataArray.20 {
valueArray >
type = scols = hidden
value = pages.title-subtitle-keywords-description:tt_content.header-bodytext-imagecaption
}
image = IMAGE
image.file = GIFBUILDER
image.file {
XY = 50,20
backColor = #F0DFC1
10 = TEXT
10.text = SUCHE
10.font.file = fileadmin/fonts/TAHOMA.TTF
10.fontColor = #993300
10.fontSize = 11
10.offset = 0,15
}
}
Thx und sry das im vorherigen Post das code Element vergessen wurde einzusetzen, läßt sich nachträglich auch nicht mehr editieren
FazzyX
Ich habe die Stelle gefunden die dafür verantwortlich ist, dass
gelöschte Datensätz trotzdem noch angezeigt werden.
select.where = colPos = 0
Was beschreibt, dass nur DS mit der Spaltendefinition "Normal"
angezeigt werden sollen.
Nehme ich dies aus TS raus, werden auch als gelöscht makierte
DS nicht mehr angezeigt.
Nur was sagt mir das jetzt ? Habe ich evtll. an andere Stelle noch
einen Fehler der nur durch diesen Eintrag ausgelöst wird, oder ist dieser Eintrag
schlichtweg falsch ?
Ich möchte ja schon Einfluss auf die Spaltendefinition nehmen.
Vielleicht kann mich jemand noch mal unterstützen.
Thx
FazzyX
Nach langer Recherche konnte ich dies wie folgt lösen.
select.where = hidden = 0 and deleted = 0 and colPos = 0
Ich hatte dies immer untereinander stehen was nicht den gewünschten Erfolg brachte.
Mir erschließt sich trotzdem nicht die Logik, dass ich eine sql Anweisung bei
meiner Content Ausgabe angeben muss von der ich erwarte das sie sowieso schon
so ausgeführt wird, quasi Standard sein sollte oO
Grüße,
Fazzyx