2016-05-02 29 views
0

Ich versuche eine Erweiterung zu erstellen, um Felder in einer anderen Erweiterung zu ändern. Meine Erweiterung muss Felder in fe_users über die TSConfig-Seite hinzufügen und deaktivieren.TYPO3 Ändern einer Erweiterung mit eigener Erweiterung

Ive schaute über Google, wie man das mit einer eigenen Erweiterung macht. Aber ich fand nichts Nützliches, mit dem ich arbeiten könnte.

(Herausgegeben)

Der Admin sollte sehen können diese Felder nicht:

  • Firma
  • Namen
  • Mittelname
  • Adresse
  • Postleitzahl
  • Land
  • Telefon
  • Fax
  • www
  • Bild
  • TSConfig
  • Bind eine Domain
  • Redirect nach dem Login
  • starten
  • Stopp
  • Record Type

Diese Felder sollten

  • Kunden hinzugefügt werden (INT, auf dem Display nicht in der Lage zu bearbeiten) manditory
  • swissaxis_id (INT, Eindeutige Nummer), wenn möglich, nur anzeigbar und nicht
  • Editiermöglichkeit
  • shop_rights (Textarea, kein definierter Wert. Die Rechte werden dort serialisiert.)

fe_groups

Diese Felder gespeichert werden sollen nicht an Admin

  • Bind eine Domäne
  • TSConfig
  • Redirect angezeigt nach dem Login
  • Datensatztyp

Ich bin dankbar für jedes mögliche Rückgespräch.

+0

Was meinen Sie mit "deaktivieren" Felder? Sollten sie vor Backend-Nutzern versteckt sein? Sogar Admins? Oder sollten sie sichtbar, aber nicht editierbar sein? Bedeutet das Hinzufügen von Feldern, dass sie auch über Extbase/Fluid verfügbar sind? – sven

+0

Der Admin ist normalerweise der Admin, weil er alles sehen/bearbeiten kann. Gibt es einen Grund, warum Sie keine Backend-Benutzerrollen verwenden können? – sven

+0

Ich erstelle eine Erweiterung, um ein Shopmodul für typo3 zu erstellen. Dafür muss ich die Felder in der Erweiterung setzen und nicht das typo3 selbst. Der Grund dafür ist, dass die Seite eine halbe Seite und ein halber Laden sein wird. –

Antwort

0

Hier ist ein Link, wie Sie neue Felder fe_users hinzufügen: https://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/Index.html https://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/Examples/Index.html

Ich gebe Ihnen ein Beispiel aus einer alten, notdürftig Erweiterung zusatzfelder von mir, dass die „Seiten“ Tabelle ändert. Es ist wirklich alt, bitte überprüfe, ob alles aktuell ist. Sie können auch einen Blick auf jede andere, "echte" Erweiterung ...

ext_emconf.php (vielleicht von extension_builder erstellt)

<?php 

######################################################################## 
# Extension Manager/Repository config file for ext "zusatzfelder". 
# 
# Auto generated 29-08-2011 15:33 
# 
# Manual updates: 
# Only the data in the array - everything else is removed by next 
# writing. "version" and "dependencies" must not be touched! 
######################################################################## 

$EM_CONF[$_EXTKEY] = array(
    'title' => 'Zusatzfelder', 
    'description' => '', 
    'category' => '', 
    'author' => '', 
    'author_email' => '', 
    'shy' => '', 
    'dependencies' => '', 
    'conflicts' => '', 
    'priority' => '', 
    'module' => '', 
    'state' => '', 
    'internal' => '', 
    'uploadfolder' => 0, 
    'createDirs' => '', 
    'modify_tables' => '', 
    'clearCacheOnLoad' => 0, 
    'lockType' => '', 
    'author_company' => '', 
    'version' => '0.0.0', 
    'constraints' => array(
     'depends' => array(
     ), 
     'conflicts' => array(
     ), 
     'suggests' => array(
     ), 
    ), 
    '_md5_values_when_last_written' => 'a:8:{s:9:"ChangeLog";s:4:"5b94";s:10:"README.txt";s:4:"ee2d";s:12:"ext_icon.gif";s:4:"1bdc";s:14:"ext_tables.php";s:4:"474a";s:14:"ext_tables.sql";s:4:"ead9";s:16:"locallang_db.xml";s:4:"7a92";s:19:"doc/wizard_form.dat";s:4:"0cba";s:20:"doc/wizard_form.html";s:4:"29e8";}', 
); 

?> 

ext_tables.sql

CREATE TABLE pages (
     tx_zusatzfelder_contentnav_title_addition tinytext, 
     tx_zusatzfelder_contentnav_title tinytext, 
     tx_zusatzfelder_contentnav_disable int(11) DEFAULT '0' NOT NULL, 
); 

ext_tables.php

<?php 
if (!defined('TYPO3_MODE')) { 
    die ('Access denied.'); 
} 
$tempColumns = array (
    'tx_zusatzfelder_contentnav_title' => array (  
     'exclude' => 0,  
     'label' => 'LLL:EXT:zusatzfelder/locallang_db.xml:pages.tx_zusatzfelder_contentnav_title',  
     'config' => array (
      'type' => 'input', 
      'size' => '30', 
     ) 
    ), 
    'tx_zusatzfelder_contentnav_title_addition' => array (  
     'exclude' => 0,  
     'label' => 'LLL:EXT:zusatzfelder/locallang_db.xml:pages.tx_zusatzfelder_contentnav_title_addition',  
     'config' => array (
      'type' => 'input', 
      'size' => '30', 
     ) 
    ), 
    'tx_zusatzfelder_contentnav_disable' => array (  
     'exclude' => 0,  
     'label' => 'LLL:EXT:zusatzfelder/locallang_db.xml:pages.tx_zusatzfelder_contentnav_disable',   
     'config' => array (
      'type' => 'check', 
      'default' => '0', 
     ) 
    ), 
); 


\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages',$tempColumns,1); 
// http://typo3-blog.net/tutorials/news/addtoalltcatypes.html 
// PS: the "after:"... is for placement in the BE, stopped working last week... 
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('pages','tx_zusatzfelder_contentnav_title;;;;1-1-1','','after:subtitle'); 
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('pages','tx_zusatzfelder_contentnav_title_addition;;;;1-1-1','','after:subtitle'); 
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('pages','tx_zusatzfelder_contentnav_disable;;;;1-1-1','','after:subtitle'); 
?> 

locallang_db.xml

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
<T3locallang> 
    <meta type="array"> 
     <type>database</type> 
     <description>Language labels for database tables/fields belonging to extension 'zusatzfelder'</description> 
    </meta> 
    <data type="array"> 
     <languageKey index="default" type="array"> 
      <label index="pages.tx_zusatzfelder_contentnav_title_addition">Untermenu: Vorlauf Titel (zB. "Mehr zur")</label> 
      <label index="pages.tx_zusatzfelder_contentnav_title">Untermenu: Titellink anderer Text (Standard: Seitentitel; Leerschlag: kein Titel)</label> 
      <label index="pages.tx_zusatzfelder_contentnav_disable">Untermenu ausblenden</label> 
     </languageKey> 
    </data> 
</T3locallang> 

Das ist alles, was Sie brauchen, um neue Felder hinzuzufügen - Sie brauchen nicht einmal den Localang, wenn Sie es einfach vorziehen, 'label' => 'My untranslated Label', in ext_tables.php zu tun.

+1

Während der Code, wie es funktioniert, immer noch funktioniert, sind alle Ihre Klassen veraltet. Auch loadTCA() wird nicht mehr benötigt, da der TCA seit TYPO3 6.2 verfügbar ist. – sven

+0

sven, danke, schrecklich! :-) Ich denke, ich habe es auch gepostet, weil ich vermutete, dass – Urs

+0

Ich habe die Klasse für t3lib_extMgm aktualisiert und loadTCA – Urs