Zum Inhalt springen

pagecontent-eingabemaske-eigene felder einbauen

Erstellt am 6. Dezember 2004 · 1 Antwort · letzte Antwort am 23. Dezember 2004

Tags: Frage

hubert_ ·

hallo typo3 profis,

mich quält da ein problem...

...ich benötige für eine webseite ein zusätzliches feld in der eingabemaske von typo3.
das feld soll bei allen text und text mit bild inhaltselementen neben dem feld header auftauchen.
es geht nicht darum den inhalt des feldes im frontend darzustellen, es soll lediglich ein zusätzlicher wert zu jedem datensatz in der datenbank gespeichert werden. später sollen die datensätze nach dem wert dieses feldes aus der datenbank ausgelesen und wieder dargestellt werden.

was ich bis jetzt gemacht habe:

- neues feld in der datenbank angelegt (tt_content-firmenname)

- typo3sysextcms/tbl_tt_content.php
feld nach dem muster von "header eingefügt"
'firmenname' => Array (
'l10n_mode' => 'prefixLangTitle',
'label' => 'LLL:EXT:cms/locallang_ttc.php:firmenname',
'config' => Array (
'type' => 'input',
'max' => '256'
)
),

- typo3sysextcms/locallang_ttc.xml
zeile: <label index="firmenname">Firmenname:</label>
eingefügt.

- typo3sysextcms/lext_tables.php

ergänzt:
/ ******************************************************************
// This is the standard TypoScript content table, tt_content
// ******************************************************************
$TCA['tt_content'] = Array (
'ctrl' => Array (
'label' => 'header',
'label' => 'firmenname',

bis jetzt tut sich leider nichts in meinem backend, das neue feld ist noch nicht zu sehen.

ist mein weg denn grundsätzlich richtig?

sollten die ergänzungen automatisch übernommen werden oder müsste ich dazu typo3 mit den geänderten dateien neu installieren?

freue mich über jeden tipp!

grüsse,

hubert

waldi ·

Ein Beispiel aus ext_tables.php

<?php
if (!defined ("TYPO3_MODE")) die ("Access denied.");
$tempColumns = Array (
"tx_saticcatalogordering_glob_img_width" => Array (
"exclude" => 1,
"label" => "LLL:EXT:satic_catalog_ordering/locallang_db.php:tt_content.tx_saticcatalogordering_glob_img_width",
"config" => Array (
"type" => "input",
"size" => "4",
"max" => "4",
"eval" => "int",
"checkbox" => "0",
"range" => Array (
"upper" => "1000",
"lower" => "10"
),
"default" => 0
)
),
);
$TCA["tx_saticcatalogordering_table"] = Array (
"ctrl" => Array (
"title" => "LLL:EXT:satic_catalog_ordering/locallang_db.php:tx_saticcatalogordering_table",
"label" => "uid",
"tstamp" => "tstamp",
"crdate" => "crdate",
"cruser_id" => "cruser_id",
"default_sortby" => "ORDER BY crdate",
"enablecolumns" => Array (
"disabled" => "hidden",
),
"dynamicConfigFile" => t3lib_extMgm::extPath($_EXTKEY)."tca.php",
"iconfile" => t3lib_extMgm::extRelPath($_EXTKEY)."icon_tx_saticcatalogordering_table.gif",
),
"feInterface" => Array (
"fe_admin_fieldList" => "hidden, first_name, last_name, company, street, zip_code, city, country, phone, fax, email, sondertext, ordered_catalogs",
)
);

t3lib_div::loadTCA("tt_content");
t3lib_extMgm::addTCAcolumns("tt_content",$tempColumns,1);

t3lib_div::loadTCA("tt_content");
$TCA["tt_content"]["types"][$_EXTKEY."_pi1"]["showitem"]="CType;;4;button;1-1-1, header;;3;;2-2-2,tx_saticcatalogordering_glob_img_width;............

t3lib_extMgm::addPlugin(Array("LLL:EXT:satic_catalog_ordering/locallang_db.php:tt_content.CType", $_EXTKEY."_pi1"),"CType");
?>
In diesem Beispiel wird im Backend ein eingabefeld angezeigt, dass man dann im php-script abfragen kann.

So viel ich mich errinnern kann muss hier definiert werden was im Backend angezeigt wird.