Im Joomla Administrator-Bereich kann beim Editieren eines Beitrags das Erstellungsdatum (Override Created Date) angeben bzw. angepasst werden.
Legt man im Joomla-Frontend einen Beitrag an, kann leider das Erstellungsdatum nicht verändert werden. Dieses wird automatisch auf das aktuell Datum/Uhrzeit gesetzt.
Um dieses Datum auch im Frontend eingeben zu können, sind folgende Änderungen nötig:
Achtung: Dieses Änderungen sind natürlich beim nächsten Versionsupdate von Joomla wieder weg.
1. Sprachdatei erweitern
/language/de_DE/de_DE.com_content.ini (für die deutsche Sprache)
Um diese Zeile erweitern:
CREATED DATE=Erstelldatum ändern
2. HTML Formular kopieren
Diese Datei
/components/com_content/views/article/tmpl/form.php
kopieren nach
/templates/NAME DES TEMPLATES/html/com_content/article/form.php
3. HTML Formular anpassen
Ca. ab Zeile 8 folgende Zeilen neu einfügen:
$created =& JFactory::getDate($this->article->created); $created->setOffset($config->getValue('config.offset')); $created = $created->toFormat();
Ungefähr in der Zeile 153 sollte folgender Code stehen:
<td> <input type="text" id="created_by_alias" name="created_by_alias" size="50" maxlength="100" value="<?php echo $this->article->created_by_alias; ?>" class="inputbox" /> </td> </tr>
Direkt darunter muss dieser Code eingefügt werden:
<tr> <td class="key"> <label for="created"> <?php echo JText::_( 'CREATED DATE' ); ?>: </label> </td> <td> <?php echo JHTML::_('calendar', $created, 'created', 'created', '%Y-%m-%d %H:%M:%S', array('class'=>'inputbox', 'size'=>'25', 'maxlength'=>'19')); ?> </td> </tr>
4. Speicherfunktion anpassen
In der Datei /components/com_content/models/article.php
ab ca. Zeile 310 sollte folgender Code stehen:
$date =& JFactory::getDate($article->publish_down, $mainframe->getCfg('offset')); $article->publish_down = $date->toMySQL(); }
Darunter muss folgender Code eingefügt werden
//ADD OVERRIDE CREATED DATE //Handle empty date if (trim($article->created) == JText::_('Never') || trim( $article->created ) == ''){ $article->created = $article->publish_up; }else{ //Append time if not added to publish date if (strlen(trim($article->created)) <= 10) { $article->created .= ' 00:00:00'; } $date =& JFactory::getDate($article->created, $mainframe->getCfg('offset')); $article->created = $date->toMySQL(); }
–> Fertig
Eine Anleitung für Joomla 1.x ist hier verfügbar
Override Created Date im Frontend eingeben (Joomla 1.x)
hi,
danke für hack. unglaublich, dass so etwas noch nicht in der core-version von joomla drin ist.
habe alles nach anleitung eingefügt. die ansicht beim erstellen im frontend ist so wie sie sein sollte.
trotzdem wird nach dem speichern das aktuelle datum und zeit eingefügt.
an was kann das liegen?
nutze joomla 1.5.22
@efkay: Ich hatte dasselbe Problem.
Habe dann in der Datei /components/com_content/models/article.php
in der Zeile 282 folgende Zeile auskommentiert:
$article->created = gmdate(‚Y-m-d H:i:s‘);
Dann sollte es funktionieren.
I need my authors to be able to change the created date in frontend…
Is this the solution?
I cant completly translate to english or french and don’t really understand how and if this is what I need
Thanks
Yes! With this tutorial you can change the „Created Date“ in frontend…
Hello,
Thank You for this nice tutorial! Will this method work with Joomla! 1.7?
I’m not 100% sure. But I don’t think so.
Weiss niemand, wie man das in Joomla 2.5 macht?