2016-05-02 172 views
0

我試圖創建擴展名來修改其他擴展名中的字段。 我的擴展需要通過TSConfig頁面在fe_users中添加和禁用字段。TYPO3使用自己的擴展名更改擴展名

我看了谷歌如何做到這一點與自己的擴展。但我沒有發現任何有用的東西,我可以合作。

編輯

管理員應該能夠看到這些字段:

  • 公司
  • 名稱
  • 中間名
  • 地址
  • 郵編
  • 土地
  • 電話
  • 傳真
  • WWW
  • 圖片
  • TSConfig
  • 綁定域
  • 重定向登錄後
  • 開始
  • 停止
  • 記錄類型

這些領域應加

  • 客戶(INT,不能編輯在顯示屏上)Manditory
  • swissaxis_id(INT,唯一的編號),如果可能的話只顯示和 沒有編輯可能性
  • shop_rights (Textarea,沒有定義的價值。該權利將被保存 有連載。)

fe_groups

這些字段不應顯示任何聯繫

  • 綁定一個域名
  • TSConfig
  • 重定向登錄後會出現
  • 記錄類型

我很感謝任何反饋可能。

+0

你是什麼意思'禁用'字段?它們應該從後端用戶隱藏嗎?即使管理員?還是應該可見但不可編輯?添加字段是否意味着它們也應該可以通過extbase/fluid獲得? – sven

+0

管理員通常是管理員,因爲他可以查看/編輯任何內容。有沒有理由不能使用後端用戶角色? – sven

+0

我正在構建擴展以創建typo3的商店模塊。爲此,我需要在擴展中設置字段而不是typo3本身。原因是,該頁面將是半頁和半個商店。 –

回答

0

這裏是你如何添加新的領域fe_users鏈接:https://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/Index.html https://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/Examples/Index.html

我給你從我的一個老,臨時延長zusatzfelder可修改「頁面」表的例子。這真的很舊,請驗證一切是否最新。您還可以看看其他, 「真正」 的延伸......

ext_emconf.php(也許extension_builder創建)

<?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> 

這就是您需要添加新字段的全部內容 - 如果您只想在ext_tables.php中使用'label' => 'My untranslated Label',,則甚至不需要locallang。

+1

儘管代碼仍然可以正常工作,但您的所有類都已棄用。另外loadTCA()並不是完全不需要的,因爲從TYPO3 6.2開始,TCA就已經可用了。 – sven

+0

斯文,謝謝,太可怕了! :-)我想我也發佈了它,因爲我懷疑 – Urs

+0

我已經更新了類t3lib_extMgm並刪除了loadTCA – Urs