CoreCommunity ExtensionsIncubatorDistributionsTYPO3 4.5 ProjectsTYPO3 4.6 ProjectsTYPO3 4.7 ProjectsTYPO3 6.0 ProjectsTYPO3 6.1 ProjectsTYPO3 6.2 Projects (+)

Feature #2620

prevent starttime check

Added by Christof Hagedorn over 4 years ago. Updated over 2 years ago.

Status:Closed Start date:2009-02-12
Priority:Should have Due date:
Assignee:- % Done:

0%

Category:Not a directmail issue Spent time: -
Target version:-
Votes: 0

Description

i tried to get help in typo3 irc and on the web, but no one was able to
answer me.

So i hope, that even a small hint of you may save me hours of
frustration, by trying to find the right hook or programming in the
wrong direction.

Background:
I have to send newsletters with directmail. The content is exactly the
same as in the news, which are also shown in the web.
The BE-Users should only add a news in a sysfolder without adding an
additional "page". (I know, that in Version 2.5.3, which i use, we have
to add an additional page, with a ce of the type "insert Dataset" to add
the news)

The main problem is:
The news have a start time in the future at the time, when the BE-User
starts the directmail-wizard. So the page content is still not visible.
So the mails are missing the news.
How can i prevent directmail from hiding the news with a starttime?
(By Hook, Extension, ts or PHP code)

If i can contribute with a documentation of the solution, which i
hopefully can elaborate with your kind help, i would be glad.

Very truly Yours,

Christof

Associated revisions

Revision 15825
Added by Bernd Schönbach over 4 years ago

[Bug 2620] seminar::getOrganizers destructs the organizers at the wrong place, r=Oliver

Revision 16571
Added by Bernd Schönbach over 4 years ago

[Bug 2620] seminar::getOrganizers destructs the organizers at the wrong place, r=Oliver

History

Updated by Christof Hagedorn over 4 years ago

It would also help, if i could choose, when the content page is rendered into a directmail:
a) at time of using the directmail-wizard
b) at time of the sending of the mails (in that case the tt_news will me visible though its starttime)

The Case B would make it possible to coordinate the starttime of a content object and the sendtime of directmails.
Would be a great feature

Another solution would be an auto-update of the dmail DB record field "mailContent" at the time of mass-sending.

Updated by Christof Hagedorn over 4 years ago

if found the possibility to
unset($TCA['tt_content']['ctrl']['enablecolumns']['starttime'])

as desribed in : http://typo3.org/documentation/document-library/tutorials/doc_tut_templselect2/0.0.1/view/1/3/

But how can i restrict the unsetting to a special page?
(The documentation shows only an example to change the process of the whole system)

Updated by Ivan Dharma Kartolo almost 4 years ago

the content rendering is still done by TYPO3. direct_mail reads only the rendered page by calling the page through getURL-function (t3lib_div).

Updated by Christof Hagedorn almost 4 years ago

changed the core function enableFields of class.t3lib_page.php to check the typoscript config variable:
config.disableFields if set to 1:
you can use config.disableFields=1 in tssetup to prevent starttime checks.

i changed the core code on a local project, which is not a good solution of course. i will try to write an extension which makes use of XCLASS or similar, when i find the time. would be great to hear some feedback before i start to. if someone likes to contribute to this, i could open a forge project.

i attach the code, where i just inserted the following statement:
&& $GLOBALS['TSFE']->config['config']['disableFields']!=1)

****************************************
h1. The attached code:

if (is_array($ctrl['enablecolumns'])) {
if (!$this->versioningPreview || !$ctrl['versioningWS'] || $noVersionPreview) { // In case of versioning-preview, enableFields are ignored (checked in versionOL())
if ($ctrl['enablecolumns']['disabled'] && !$show_hidden && !$ignore_array['disabled']) {
$field = $table.'.'.$ctrl['enablecolumns']['disabled'];
$query.=' AND '.$field.'=0';
}
if ($ctrl['enablecolumns']['starttime'] && !$ignore_array['starttime'] && $GLOBALS['TSFE']->config['config']['disableFields']!=1) {
$field = $table.'.'.$ctrl['enablecolumns']['starttime'];
$query.=' AND ('.$field.'<='.$GLOBALS['SIM_ACCESS_TIME'].')';
}
if ($ctrl['enablecolumns']['endtime'] && !$ignore_array['endtime']) {
$field = $table.'.'.$ctrl['enablecolumns']['endtime'];
$query.=' AND ('.$field.'=0 OR '.$field.'>'.$GLOBALS['SIM_ACCESS_TIME'].')';
}

Updated by Olivier Dobberkau almost 4 years ago

  • Category set to Not a directmail issue
  • Status changed from New to Closed

This requirements seems a little bit odd to me. if you want to send certain pages or news a certain time, then have a look at our tt_news to directmail extension.
there we can add a checkbox to the tt_news record. this can be timed then. make sure to have crawler that gets your page and set the caching to a sensible interval.
i will close this issue as this is rather a t3 feature request.

Also available in: Atom PDF