Feature #2620
prevent starttime check
| 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
christof.hagedorn@kinea.de
Associated revisions
[Bug 2620] seminar::getOrganizers destructs the organizers at the wrong place, r=Oliver
[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.