it-swarm.com.de

Wie kann ich das Erstellungsdatum für einen Artikel im Frontend bearbeiten lassen?

Ich weiß nicht, wie ich das Erstellungsdatum eines Artikels nach dem Update auf Joomla 3.8.10 im Frontend bearbeiten kann.

Bisher habe ich das Bearbeitungsformular des Artikels überschrieben

com_content -> form> edit #line 120:

<?php echo $this->form->renderField('created'); ?>

wie in diesem Artikel vorgeschlagen: Wie 'Erstellungsdatum' vom Frontend aus zu bearbeiten, und alles war in Ordnung.

Dies funktioniert jedoch nicht mehr mit Version 3.8.10.

Wie kann ich es tun?

1
Stuart

Das Feld Created im Frontend-Artikelformular enthält den Filter unset. Dieser Filter verhindert, dass der Feldwert gespeichert wird. Sie können den Filter mit einem Inhalts-Plugin ändern. Im folgenden Beispiel wird das Attribut showtime auch auf true gesetzt, falls Sie die Uhrzeit wie in anderen Datumsfeldern eingeben möchten.

defined('_JEXEC') or die;

use Joomla\CMS\Form\Form;
use Joomla\CMS\Plugin\CMSPlugin;

class PlgContentExample extends CMSPlugin
{
    protected $app;

    public function onContentPrepareForm(Form $form, $data)
    {
        if ($this->app->isClient('site') && $form->getName() === 'com_content.article')
        {
            $form->setFieldAttribute('created', 'filter', 'user_utc');
            $form->setFieldAttribute('created', 'showtime', 'true');
        }

        return true;
    }
}

Beachten Sie, dass die Vorlagenüberschreibung zum Rendern des Felds weiterhin erforderlich ist.

1
Sharky