Skip to content

Latest commit

 

History

History
143 lines (103 loc) · 4.21 KB

File metadata and controls

143 lines (103 loc) · 4.21 KB

Operations erweitern

Es gibt eine Beispielextension auf Github mit der man operations um ein neues Feld/Eigenschaft erweitern kann.

extend_operations

Note

Diese Extension ist schon etwas älter und läuft nur unter TYPO3 8, nicht unter 9.5! Wahrscheinlich müsst ihr die Extension anpassen, damit sie unter 9.5 läuft.

Wenn euch ein Feld/Eigenschaft fehlt, könnt ihr das mit solch einer Extension nachrüsten. In dieser Beispielextension wird das Model "operation" (der Einsatz) mit einer zusätzlichen Eigenschaft "subtitle" (Untertitel) erweitert. Wenn ihr mehr Felder/Eigenschaften braucht könnt ihr natürlich mehr Felder in der gleichen Art und Weise hinzufügen. Ersetzt "newfield" mit dem Namen eurer neuen Eigenschaft.

Classes/Domain/Model/Operation.php

Neue Getter und Setter hinzufügen. In der gleichen Art könnt ihr das auch für ein anderes Model tun.

<?php

class Operation extends \KN\Operations\Domain\Model\Operation {

    /**
     * newfield
     *
     * @var \string
     */
    protected $newfield;

    /**
     * Returns the newfield
     *
     * @return \string $newfield
     */
    public function getNewfield() {
        return $this->newfield;
    }

    /**
     * Sets the newfield
     *
     * @param \string $newfield
     * @return void
     */
    public function setNewfield($newfield) {
        $this->newfield = $newfield;
    }
}

Configuration/TCA/Overrides/tx_operations_domain_model_operation.php

TCA Konfiguration für die Anzeige der Felder im Backend.

<?php
if (!defined ('TYPO3_MODE')) {
    die ('Access denied.');
}

use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;

// define new fields
$tempColumns = array(
    // --- newfield begin ---
    'newfield' => array(
        'exclude' => 0,
        'label' => 'LLL:EXT:extend_operations/Resources/Private/Language/locallang_db.xlf:tx_extend_operations_domain_model_operation.newfield',
        'config' => array(
            'type' => 'input',
            'size' => 60,
            'eval' => 'trim'
        ),
    ),
    // --- newfield end ---
);

// add all new fields to tca
ExtensionManagementUtility::addTCAcolumns(
    'tx_operations_domain_model_operation',
    $tempColumns
);

// place new field where you need it
ExtensionManagementUtility::addToAllTCAtypes("tx_operations_domain_model_operation", 'newfield', '', 'after:title');

Resources/Private/Language/locallang_db.xlf

Locallang Key für die Übersetzungen der Feldnamen im Backend.

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
    <file source-language="en" datatype="plaintext" original="messages" date="2013-11-11T21:36:44Z" product-name="operations">
        <header/>
        <body>

            <trans-unit id="tx_extend_operations_domain_model_operation.newfield">
                <source>My new field</source>
            </trans-unit>

        </body>
    </file>
</xliff>

ext_tables.sql

Neue Felder für die Datenbank. Installiert die Extension oder nutzt den Datenbank Compare im Install-Tool um die neuen Felder

nun auch hinzuzufügen.

#
# Table structure for table 'tx_operations_domain_model_operation'
#
CREATE TABLE tx_operations_domain_model_operation (
    newfield varchar(255) DEFAULT '' NOT NULL,
);

Leert den Cache im Install-Tool um die neuen Felder im Backend zu sehen. Später könnt ihr die neuen Daten auch im Fluid Template ausgeben lassen. Prüft dazu auch das TypoScript und passt ggf. die Template Pfade an.