0

I'm using this bit of Typoscript to generate some text. field_test is created via TemplavoilàPlus.

# If field_test is filled in by the redactor,
# its content will be displayed in the frontend.

10 = TEXT
10.if.isTrue.field = field_test
10.value.field = field_test

I'm using several FCE from TV+ and I have many more fields handled via Typoscript. For some FCE, I didn't set field_test in TV+ and thus, it is not displayed in the frontend at all since the redactor can't fill it in in the backend. This is the normal behaviour.

However, for one the FCE, field_test is displayed anyway. This field is not set in TV+ and I can't find it in the XML. It is not displayed in the backend and then can't be filled in.

But it has existed at some point, and has been filled before it was removed from the TV+ FCE.

Now I have its ghost displayed in the frontend. How can I find it and delete it for good?

CCR
  • 154
  • 4
  • 18

2 Answers2

0

you need to identify those CEs which have set field_test and where this field should be empty.

You could edit every CE, change it's type to a type where the field id visible, check for empty and change type back to origin.

or you do some immediate SQL queries in a tool like phpmyadmin:

select * from tt_content where field_test!='' and (CType = ...)
Bernd Wilke πφ
  • 10,390
  • 1
  • 19
  • 38
0

I've found a workaround for my problem.

I simply recreated field_test in TV+, went to the backend to empty the content of that field (which was filled even though the field had been deleted).

Conclusion: When you delete a field in TV+, the content of that field still exist somewhere…

CCR
  • 154
  • 4
  • 18
  • that is 'usual' behaviour of flexform data in TYPO3 as the data is stored as XML in one database field. The XML is extracted as an array, data is modified/added and stored back as XML. in this way no XML field gets deleted. If you write new data (array) to the field the array is merged with the existing. to clean up the XML (delete unused fields) you need to explicit clean up the `pi_flexform' field (overwrite with empty string) and then write the array with active data. – Bernd Wilke πφ Nov 20 '18 at 06:43