[Frage] Neue TCA Felder nur für bestimmte Seiten / doktype TYPO3-Version: 7.6.14

  • loewenstall loewensta...
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    09. 12. 2016, 11:23

    Hallo zusammen,

    ich stehe vor einem mehr oder weniger großen Problem (vielleicht bin ich aber auch gerade nur zu eingefahren auf meinen Lösungsweg):

    Es soll in einem Projekt bestimmte Felder NUR für spezielle Seiten geben. Die Felder im TCA hinzufügen ist ja kein Problem aber nicht alle Seiten sollen um diese Felder erweitert werden. Es gab ja mal die Möglichkeit, eigene doktypes hinzuzufügen und das war damals auch schon problematisch - denn: Die eigenen doktypes lassen sich einfach nicht als Link in einer Navigation ausgeben.

    Hat hierfür jemand eine Lösung? Ansonsten: wie kann ich bestimmten Standard Seiten TCA Felder hinzufügen, sodass nicht alle Seiten davon betroffen sind?

    Besten Dank vorab!


  • 1
  • 0 x
    3270 Beiträge
    157 Hilfreiche Beiträge
    09. 12. 2016, 11:56

    Hallo.

    Wenn Du nicht mit eigenen doktype arbeiten hast/willst, aber andere Bedingungen festmachen kannst, dann könnte eine displayCond für diese Felder ein Weg sein:
    https://docs.typo3.org/typo3cms/TCAReference/Reference/Columns/Index.html?highlight=displaycond#displaycond

    Zur Vollständigkeit:
    Mit eigenem Doktype (bzw. für vorhandenen bestimmten doktype) würde der dritte Parameter in addToAllTCAtypes helfen.

    1. /**
    2.   * Makes fields visible in the TCEforms, adding them to the end of (all) "types"-configurations
    3.   *
    4.   * Adds a string $string (comma separated list of field names) to all ["types"][xxx]["showitem"] entries for table $table (unless limited by $typeList)
    5.   * This is needed to have new fields shown automatically in the TCEFORMS of a record from $table.
    6.   * Typically this function is called after having added new columns (database fields) with the addTCAcolumns function
    7.   * FOR USE IN ext_tables.php FILES or files in Configuration/TCA/Overrides/*.php Use the latter to benefit from TCA caching!
    8.   *
    9.   * @param string $table Table name
    10.   * @param string $newFieldsString Field list to add.
    11.   * @param string $typeList List of specific types to add the field list to. (If empty, all type entries are affected)
    12.   * @param string $position Insert fields before (default) or after one, or replace a field
    13.   * @return void
    14.   */
    15. public static function addToAllTCAtypes($table, $newFieldsString, $typeList = '', $position = '') {...}

    Viele Grüße
    Julian

    Kleiner Hinweis:
    das Forum hier ist leider nicht mehr so frequentiert :-(
    Für schnellere Hilfe und mehr Leser, guck mal
    - auf stackoverflow ( https://stackoverflow.com/questions/tagged/typo3 )
    - oder in die slack-Channels ( https://typo3.org/community/meet/chat-slack )

  • BastianBalthasarBux BastianBa...
    Jedi-Ratsmitglied
    0 x
    767 Beiträge
    9 Hilfreiche Beiträge
    15. 12. 2016, 19:37

    wie kommst du denn drauf, dass eigene doktypes nicht im menü ausgegeben werden können?
    das wäre mir jetzt irgendwie völlig neu ...
    hab schon ganze hmenus gebaut, die ausschliesslich aus nicht-standard doktypes bestanden ...

    To err is human; to really screw things up requires the root password.
    https://www.Riccabona.IT/
    https://T3BOARD.TYPO3.org/

  • 1