ext. news extended with two fields: now strange cache behaviour - typo3

typo3 7.6.10
news 4.3.0
I have a strange cache behaviour:
I made an extension which extends the news model with a select field "teasercolor" and a checkbox "showimage".
http://pastebin.com/ViPEemr9
In the fluid view, I use these news fields like this:
<div class="overlay {newsItem.teasercolor}">
This seemed to work. But after a while, my teasercolor class disappears from the code. Same with the checkbox value.
When I then delete the fe cache in the backend, it re-appears.
After a while it disappears again. Never seen such a behaviour again.
Has somebody an idea?

have you a clean dependency to ext:news?
do you use Resources/TCA/Overrides/....php?
https://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/StoringChanges/Index.html

Related

TYPO3 news hidePagination

I use this TYPO3 news extension.
I want to disable paging though typoscript. The option for it is plugin.tx_news.settings.hidePagination so I tried this
plugin.tx_news {
settings.hidePagination = 1
}
But this doesn't work. However setting plugin.tx_news.settings.list.paginate.itemsPerPage to a very large value does work. But that isn't a very nice solution.
Have I missed something on how to set hidePagination?
Theres a checkbox in the tx_news plugin.
Additional -> Hide the pagination
It seems to overwrite the TS (unchecked by default).
Does
plugin.tx_news {
settings.hidePagination = 1
}
get called in your template?
You can always check this with
<f:debug><{settings}</f:debug> to see what get's parsed.
The option to hide the pagination only hides the pagination in the frontend and does not show all news entries at one page. You can only set a high number to the list View to show all entries at one page. I think, there is no other solution at this time.
To override the values set in the news plugin flexform, you have to add the field to plugin.txnews.settings.overrideFlexformSettingsIfEmpty.
To add the field in question to the news extension standard list add this to your TS:
plugin.txnews.settings.overrideFlexformSettingsIfEmpty := addToList(hidePagination)

How to stop TYPO3 from stripping <p> tags from RTE content (or touching it at all)

I have a TYPO3 which strips any <p> tags from content I create when the RTE editor is enabled for the field in question before it saves it in the DB. And it seems I cannot find a way to disable this behavior with a TypoScript. As soon as I disable the RTE editor I can save <p> tags and they get correctly rendered in the frontend. They also get correctly rendered in the frontend when I simply add them directly in the database in the tt_content table in the bodytext field.
When I switch to the edit source mode of the RTE I see all <p> tags in place. Before and after a save (also they never make it to the DB) so it looks like they get converted to (linux) line breaks or something and get converted back to <p> tags when the editor loads them in the backend. But those line breaks of course have no effect to in the frontend.
I thought this behavior would be controlled by RTE.default.proc but everything there looks good to me (p is already in the allowed tags and there is no clue why it could be stripped). I've also tried to disable the RTE.default.proc.entryHTMLparser_db and RTE.default.proc.exitHTMLparser_db as I wouldn't mind it if the HTML content as you see it in the edit source mode of the RTE (so with RTE still enabled!) would not be touched at all - in fact I would prefer it - but this had no effect. On the other hand when I add tags to the allowed tags which weren't there before (like <button>) this works so the things I try to add to RTE.default.proc aren't ignored in general.
So how can I stop TYPO3 from stripping my <p> tags from RTE content or touching it at all? I'd prefer a solution with TypoScript but meanwhile I would also be happy about an ugly hack in a sys extension as long as it works...
I'm not sure if this is a bug or not but the solution to my problem lies in p.rmTagIfNoAttrib = 1. At least in my TYPO3 version (v6.1.7 and nearly only built in extensions) I cannot find this setting in the preset TypoScript of the page or the RTE editor so I'm guessing it defaults to 0. In my logic 0 means false so I'd say the default would read as "remove tag if there is no attribute?: no!".
However TYPO3 seems to work after its own logic. Adding the following statement to the page TS sloves my problem and <p> tags are preserved:
RTE.default.proc {
entryHTMLparser_db {
tags {
p.rmTagIfNoAttrib = 1
}
}
}
The reasons for this behavior are explained in the TYPO3 manual:
Many of the transformations performed back and forth in the TYPO3 backend date back to when it was a challenge to incorporate a RTE in a browser. It was then sometimes needed to fall back an a simple <textarea> where rich text had to be presented in a simple enough way so that editors could work with it with no visual help.

How to make TSConfig work in TYPO3 tx_news

In TYPO3 6.1, how do I get the tsconfig for the tx_news news extension to work?
I try to add selectable layouts to news items:
tx_news.templateLayouts {
1 = A custom layout
99 = LLL:fileadmin/somelocallang/locallang.xml:someTranslation
}
This should add the new Layout to the Type field, as in:
or did I get that wrong? Where can that new custom layout be selected?
Also, I'm trying to prefill fields in flexforms (when a new plugin is inserted):
TCEFORM.tt_content.pi_flexform.tx_news.sDEF.categoryConjunction = and
But it does not work yet.
How can this be done?
With tx_news.templateLayouts you override the flexform for the news plugin you insert on a page, not for a news record.
Your second code looks almost right, but you forgot settings: TCEFORM.tt_content.pi_flexform.tx_news.sDEF.settings.categoryConjunction = and
And even though this code is right, it will not work because of a bug with flexform fields that have a dot in their name (this is just stupid).
I think the only way to cleanly modify the flexform, is to write a small extension which overrides the default news flexform.

CKEditor classes being stripped

I have a custom plugin that adds a link with a class attached. When I view this using the Source button it shows the class and looks as it should. However, when I go back to WYSYWIG view and then view the source again the class has been stripped out.
Any idea how to stop this happening?
Thanks in advance for your help.
Check this blog post.
In CKEditor 4.1 RC we've introduced ACF - Advanced Content Filter. You need to integrate your plugin with it, because otherwise special content created by it is stripped.
For CKEditor4 and for simple config.js modification, disabling the "default filters": see this new question/answer.
(copy)
At config.js you can add something like,
CKEDITOR.config.allowedContent=true;
see "Advanced Content Filter" (ACF) and how to enable/disable it.

Empty body content on TYPO3 page

Encountered an issue today where I made tweaks to the a TYPO3 page and the page became blank. The <body> tag was empty!
I fixed it by clearing cache, but I also found another page with the same problem later on.
Doing some research I found that the page is empty on the cache_pages table.
What is causing it? I am using TYPO3 4.5.6
It happened to me. and the cause was, in the fluid template?
Instead of using fluid template, i just use the regular html tag if you didn't initiate the view helper or something in your form.
This usually happens, if you don't have a PAGE TLO.
Make sure your main template includes something like:
page = PAGE
page {
10 = TEXT
10.value = Hello world!
}
You might have cleared it by accident.