Ergebnis 1 bis 5 von 5

Thema: MetaData "UploadData" bei Videos hinzufügen

  1. #1
    Contao-Nutzer
    Registriert seit
    05.06.2020.
    Beiträge
    15

    Standard MetaData "UploadData" bei Videos hinzufügen

    Hallo,
    in der google search console wird beanstandet, dass die eingebetteten Videos kein Feld "uploadDate" haben.

    Soweit ich das verstehe müsste das in in die Metadaten rein, dort gibt es so ein Feld aber nicht. KI empfiehlt mir dafür das Lizenz Feld zu zweckentfremden, das ist aber mit vielen manuellen Änderungen verbunden (Template der Videoausgabe anpassen, "DCA-Anpassung" und dafür neue php Dateien erstellen, Sprachdatei anpassen, ...). Scheint mir für ein Attribut das google als "kritisch" einstuft, viel manueller Aufwand. Gibt es hier nicht eine vorgefertgte Lösung von Contao?

    Danke

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.138
    Partner-ID
    10107

    Standard

    In Contao selbst gibt es aktuell keine Möglichkeit bei Dateien ein "Upload Datum" zu definieren. Das könntest du dir aber per DCA Anpassung hinzufügen und dann per Template Anpassung evt. ausgeben lassen (am besten via JSON-LD Metadaten).
    » sponsor me via GitHub or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    05.06.2020.
    Beiträge
    15

    Standard

    ok danke, ich habe bei der dca/tl_conent.php folgendes hinzugefügt:
    Code:
    	$GLOBALS['TL_DCA']['tl_content']['fields']['uploadDate'] = array
    	(
    		'label'     	   => ['Upload Date', 'Date when the file was uploaded'],
    		'exclude'   	   => true,
    		'inputType' 	   => 'text',
    		'eval'      	   => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50'],
    		'sql'       	   => "varchar(10) NOT NULL default ''",
    		'save_callback' => [['tl_content_callback', 'setUploadDate']]
    		'load_callback' => [
            function ($value, DataContainer $dc) {
                $fileModel = \Contao\FilesModel::findByUuid($dc->activeRecord->playerSRC);
                return $fileModel ? date('Y-m-d', $fileModel->tstamp) : '';
            }
    	);
    aber wie kriege ich das nun in den erzeigten Quelltext?

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.138
    Partner-ID
    10107

    Standard

    In Twig Templates mit
    PHP-Code:
    {% do add_schema_org() %} 
    https://docs.contao.org/dev/framewor...sponse-context

    Aber evt. wirst du dir da eine eigene Twig Funktion bauen müssen, die dir alle Daten zusammenbaut. Weil es müssen ja vermutlich noch mehr JSON-LD Daten dazu kommen - nicht nur ein Datum?
    » sponsor me via GitHub or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    05.06.2020.
    Beiträge
    15

    Standard

    da sind schon andere strukturierte Daten vorhanden, aber das uploadDate eben nicht. Im player.html.twig steht:

    Code:
    {% extends "@Contao/content_element/_base.html.twig" %}
    {% use "@Contao/component/_figure.html.twig" %}
    
    {% block content %}
        {% if as_editor_view %}
            {% block editor_view %}
                <ul>
                    {% for source_file in source_files %}
                        <li>
                            <span>{{ source_file.name }}</span>
                            <span class="size">({{ source_file.fileSize|format_bytes }})</span>
                        </li>
                    {% endfor %}
                </ul>
            {% endblock %}
        {% else %}
            {{ block('figure_component') }}
        {% endif %}
    {% endblock %}
    
    {% block media %}
        <{{ figure.media.type }}{{ figure.media.attributes }}>
            {% for source_attributes in figure.media.sources %}
                {% do csp_source('media-src', source_attributes.src) %}
                <source{{ source_attributes }}>
            {% endfor %}
        </{{ figure.media.type }}>
    {% endblock %}
    
    {# Add metadata #}
    {% block metadata %}
        {% for source_file in source_files %}
            {% do add_schema_org(source_file.schemaOrgData|default) %}
    		<p>Upload Date: {{ source_file.schemaOrgData.uploadDate|default('Kein Datum') }}</p>
        {% endfor %}
    {% endblock %}
    also in der drittletzten Zeile habe ich das eingefügt. Es erscheint aber nichts.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •