TYPO3.CMS 6.2 Extension entwickeln: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(extension sf_register (inkl. fe_users) mit neuer extension um eine Spalte erweitern)
(extension sf_register (inkl. fe_users) mit neuer extension um eine Spalte erweitern)
Zeile 1: Zeile 1:
== extension sf_register (inkl. fe_users) mit neuer extension um eine Spalte erweitern ==
+
== extension sf_register um eine Spalte erweitern ==
  
'''Aufgabe''' ist sf_register zu erweitern so das es eine weitere Spalte in der Tabelle fe_users gibt  
+
'''Aufgabe''' ist sf_register zu erweitern, so das es eine weitere Spalte in der Tabelle fe_users gibt, die im Frontend (Beim Registrieurungsprozess) und im Backend angezeigt wird
 +
 
 +
'''Achtung''' um hier nicht zu viel zu dokumentieren ist ausschließlich der Registrierungsprozess abgebildet, nicht das Bearbeiten eines Users, dies muß analog umgesetzt werden
  
 
'''Grundlage''' ist typo362 [6.2.15] mit Distribution ''Aimeos web shop distribution''
 
'''Grundlage''' ist typo362 [6.2.15] mit Distribution ''Aimeos web shop distribution''
Zeile 62: Zeile 64:
  
  
=== ext_emconf.php ===
+
=== Configuration/TCA/Overrides/fe_users.php ===
 +
mit TCA Typo3 mitteilen um was es sich für eine Spalte handelt, zusätzlich schon mal die Backend Sprachdatei (locallang_be.xml) angeben
 
<source lang=php>
 
<source lang=php>
 +
<?php
 +
 +
defined('TYPO3_MODE') or die();
 +
 +
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 +
 +
$temporaryColumns = array(
 +
    'agency' => array(
 +
        'exclude' => 0,
 +
        'label' => 'LLL:EXT:ncregisterplus/Resources/Private/Language/locallang_be.xml:fe_users.agency',
 +
        'config' => array(
 +
            'type' => 'input',
 +
            'size' => '20',
 +
            'max' => '50',
 +
            'eval' => 'trim',
 +
        )
 +
    ),
 +
);
 +
 +
ExtensionManagementUtility::addTCAcolumns('fe_users', $temporaryColumns);
 +
ExtensionManagementUtility::addToAllTCAtypes('fe_users', 'agency', '', 'after:username');
 +
ExtensionManagementUtility::addToAllTCAtypes(
 +
        'fe_users', '--div--;LLL:EXT:ncregisterplus/Resources/Private/Language/locallang_be.xml:fe_users.div.registration,
 +
agency'
 +
);
  
 
</source>
 
</source>
  
  
=== ext_emconf.php ===
+
=== Resources/Private/Language/locallang_be.xlf ===
<source lang=php>
+
<source lang=xml>
 
+
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 +
<!--
 +
    locallang_be - relevant fürs Backend
 +
    netz.coop eG
 +
-->
 +
<xliff version="1.0">
 +
    <file source-language="de" datatype="plaintext" original="messages" date="2015-09-18T11:47:32Z" product-name="ncregisterplus">
 +
        <header/>
 +
        <body>
 +
            <trans-unit id="fe_users.div.registration" xml:space="preserve">
 +
<source>Registration</source>
 +
            </trans-unit>                   
 +
            <trans-unit id="fe_users.agency" xml:space="preserve">
 +
<source>Abteilung</source>
 +
            </trans-unit>
 +
        </body>
 +
    </file>       
 +
</xliff>
 
</source>
 
</source>

Version vom 19. September 2015, 14:01 Uhr

extension sf_register um eine Spalte erweitern

Aufgabe ist sf_register zu erweitern, so das es eine weitere Spalte in der Tabelle fe_users gibt, die im Frontend (Beim Registrieurungsprozess) und im Backend angezeigt wird

Achtung um hier nicht zu viel zu dokumentieren ist ausschließlich der Registrierungsprozess abgebildet, nicht das Bearbeiten eines Users, dies muß analog umgesetzt werden

Grundlage ist typo362 [6.2.15] mit Distribution Aimeos web shop distribution

ext_emconf.php

Das Übliche, wichtig ist natürlich hier anzugeben das sf_register Voraussetzung ist

<?php

$EM_CONF[$_EXTKEY] = array(
    'title' => 'registerplus',
    'description' => '',
    'category' => 'plugin',
    'author' => 'netz.coop eG',
    'author_email' => 'code[at]netz.coop',
    'state' => 'alpha',
    'internal' => '',
    'uploadfolder' => '0',
    'createDirs' => '',
    'clearCacheOnLoad' => 0,
    'version' => '0.0.1',
    'constraints' => array(
        'depends' => array(
            'typo3' => '6.2',
            'sf_register' => '6.2.7'
        ),
        'conflicts' => array(
        ),
        'suggests' => array(
        ),
    ),
);

ext_tables.sql

Die Spalte als Sql

#
# Table structure for table 'fe_users'
#
CREATE TABLE fe_users (
	agency varchar(50) DEFAULT '',
);


ext_tables.php

hier dem TCA mitteilen das es eine neue Spalte zu zeigen gibt

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

$TCA['fe_users']['interface']['showRecordFieldList'] .= ',agency';


Configuration/TCA/Overrides/fe_users.php

mit TCA Typo3 mitteilen um was es sich für eine Spalte handelt, zusätzlich schon mal die Backend Sprachdatei (locallang_be.xml) angeben

<?php

defined('TYPO3_MODE') or die();

use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;

$temporaryColumns = array(
    'agency' => array(
        'exclude' => 0,
        'label' => 'LLL:EXT:ncregisterplus/Resources/Private/Language/locallang_be.xml:fe_users.agency',
        'config' => array(
            'type' => 'input',
            'size' => '20',
            'max' => '50',
            'eval' => 'trim',
        )
    ),
);

ExtensionManagementUtility::addTCAcolumns('fe_users', $temporaryColumns);
ExtensionManagementUtility::addToAllTCAtypes('fe_users', 'agency', '', 'after:username');
ExtensionManagementUtility::addToAllTCAtypes(
        'fe_users', '--div--;LLL:EXT:ncregisterplus/Resources/Private/Language/locallang_be.xml:fe_users.div.registration,
		agency'
);


Resources/Private/Language/locallang_be.xlf

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<!--
    locallang_be - relevant fürs Backend
    netz.coop eG
-->
<xliff version="1.0">
    <file source-language="de" datatype="plaintext" original="messages" date="2015-09-18T11:47:32Z" product-name="ncregisterplus">
        <header/>
        <body>
            <trans-unit id="fe_users.div.registration" xml:space="preserve">
		<source>Registration
           </trans-unit>                    
           <trans-unit id="fe_users.agency" xml:space="preserve">
Abteilung
           </trans-unit>
       </body>
   </file>        

</xliff> </source>