#1  
Alt 29.11.07, 16:08
Forum Newbie
 
Registriert seit: 06.12.06
Beiträge: 21
neues Feld Subtitel als variables Pflichtfeld

Hallo zusammen,
ich muss für mein Studium eine kleine Extension schreiben, die ein neues Feld "Subtitle" hinzufügt. Dieses Feld soll ein Pflichtfeld werden, wenn das Feld "Header" nicht ausgefüllt ist.

Dazu habe ich das neue Feld über "ext_tables.php" angelegt und auf required gesetzt.
siehe folgendes:
PHP-Code:
<?php
if (!defined ('TYPO3_MODE'))    die ('Access denied.');
$tempColumns = Array (
        
"tx_test_test" => Array (              ## WOP:[fields][1][fields][1][fieldname]
                
"exclude" => 1,  ## WOP:[fields][1][fields][1][excludeField]
                
"label" => "LLL:EXT:test/locallang_db.xml:tt_content.tx_test_test",          ## WOP:[fields][1][fields][1][title]
                
"config" => Array (
                        
"type" => "input",      ## WOP:[fields][1][fields][1][type]
                        
"size" => "30"## WOP:[fields][1][fields][1][conf_size]
                        
"eval" => "required",   ## WOP:[fields][1][fields][1][conf_required]
                
)
        ),

);

t3lib_div::loadTCA("tt_content");
t3lib_extMgm::addTCAcolumns("tt_content",$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes("tt_content","tx_test_test;;;;1-1-1");
?>
das würde auch gut funktionieren, nur soll das Feld nur ein Pflichtfeld sein, wenn das Feld "Header" nicht ausgefüllt ist. Dazu habe ich die Datei class.tx_test_eval.php angelegt und rufe diese in der "ext_tables.php" auf:
PHP-Code:
<?php
if (!defined ('TYPO3_MODE'))    die ('Access denied.');
$tempColumns = Array (
        
"tx_test_test" => Array (              ## WOP:[fields][1][fields][1][fieldname]
                
"exclude" => 1,  ## WOP:[fields][1][fields][1][excludeField]
                
"label" => "LLL:EXT:test/locallang_db.xml:tt_content.tx_test_test",          ## WOP:[fields][1][fields][1][title]
                
"config" => Array (
                        
"type" => "input",      ## WOP:[fields][1][fields][1][type]
                        
"size" => "30"## WOP:[fields][1][fields][1][conf_size]
###folgende Zeile
                
"eval" => "required",   ## WOP:[fields][1][fields][1][conf_required]
### ersetzte ich mit:
                
"eval" => "tx_test_eval",

                )
        ),

);

t3lib_div::loadTCA("tt_content");
t3lib_extMgm::addTCAcolumns("tt_content",$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes("tt_content","tx_test_test;;;;1-1-1");
?>
Leider bekomme ich weder die Abfrage hin, ob das Feld "Header" ausgefüllt ist, noch die Fehlermeldung, dass das Feld "Subtitle" nicht ausgefüllt ist.

Hoffentlich kann mir jemand weiterhelfen, wie ich zum einen eine Fehlermeldung (PopUp) ausgeben kann, das das Feld "Subtitle" nicht ausgefüllt ist und wie ich die Abfrage nach dem "Header" formulieren kann.

Vielen Dank für jeden Tipp
__________________
gruß blau
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Sponsored Links
Unterstützen Sie das Forum und buchen Sie Ihren Webspace beim
T3N Testsieger, dem Webhoster der auch dieses Forum hostet!


  #2  
Alt 30.11.07, 11:48
Forum Newbie
 
Registriert seit: 06.12.06
Beiträge: 21

Ich befürchte, das die oben genannte Beschreibung des Problems nicht so ganz verständlich war.
Ich versuche dies nochmal zu schildern.

Ich muss eine Backend Extension schreiben, die ein neues Feld "Subtitle" in die Backend Formulare hinzufügt.
Dieses Feld muss ausgefüllt werden (Pflichtfeld), wenn das Feld „Header“ nicht ausgefüllt ist. Wenn das Feld „Header“ ausgefüllt wird, soll das neue Feld kein Pflichtfeld mehr sein.

Grundsätzlich besteht die Möglichkeit Inputfelder als Pflichtfelder über den TCA Eintrag „eval" => "required" zu definieren. Dabei wird die Standardfehlermeldung von TYPO3 ausgegeben.
Mein Problem besteht aber darin, das ich zum einen diese Meldung ändern muss und zum anderen das Feld nur ein „Pflichtfeld“ sein soll, wenn das Feld „Header“ im Backend nicht ausgefüllt wurde.

Mein bisheriger Ansatz bestand darin, eine Backend Extension anzulegen und über die Datei „ext_tables.php“ das Feld mit hinzuzufügen und als Pflichtfeld zu definieren:

PHP-Code:
<?php
if (!defined ('TYPO3_MODE'))    die ('Access denied.');
$tempColumns = Array (
        
"tx_test_test" => Array (              ## WOP:[fields][1][fields][1][fieldname]
                
"exclude" => 1,  ## WOP:[fields][1][fields][1][excludeField]
                
"label" => "LLL:EXT:test/locallang_db.xml:tt_content.tx_test_test",          ## WOP:[fields][1][fields][1][title]
                
"config" => Array (
                        
"type" => "input",      ## WOP:[fields][1][fields][1][type]
                        
"size" => "30"## WOP:[fields][1][fields][1][conf_size]
                        
"eval" => "required",   ## WOP:[fields][1][fields][1][conf_required]
               
)
        ),

);

t3lib_div::loadTCA("tt_content");
t3lib_extMgm::addTCAcolumns("tt_content",$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes("tt_content","tx_test_test;;;;1-1-1");
?>
Zudem habe ich herausgefunden, dass ich darin auch die Zeile:
"eval" => "required",
mit folgender ersetzten kann
"eval" => "tx_test_eval",
und dadurch eine eigens angelegte Datei aufrufen kann. In diesem Fall habe ich die Datei „class.tx_test_eval.php“ erstellt.

In dieser Datei wollte ich die Abfrage erstellen, sowie die Fehlermeldung ausgeben.
Leider habe ich aber Schwierigkeiten, zum einen die Abfrage zu formulieren und zum anderen die Fehlermeldung auszugeben. Ich dachte dabei an folgendes:
1. Wird das Feld „Header“ ausgefüllt, muss das neue Feld „Subtitle“ nicht gefüllt werden --> keine Meldung, sondern der Datensatz soll im Backend normal gespeichert werden.
2. Wird das Feld „Header“ nicht ausgefüllt, muss das neue Feld „Subtitle“ überprüft werden und wenn kein Eintrag vorhanden ist, soll eine Meldung ausgegeben werden: „Dieses Feld muss ausgefüllt werden“. Zudem soll der Datensatz im Backend solange das Feld nicht ausgefüllt wurde nicht gespeichert werden können.

Vielleicht gibt es auch einen anderen Lösungsansatz. Ich bin für jeden Tipp sehr dankbar.
__________________
gruß blau
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
neues Feld in tt_content soll nur erscheinen, wenn zugeh. Extension ausgewählt Kurt51 Extension modifizieren oder neu erstellen 3 23.10.07 19:53
Variables 2. Menü Donpiano GMENU, HMENU, TMENU und Co. 2 08.07.07 15:56
tt_address neues Feld mit ugriffsrecht nur für Admin hinzufügen bjs1977 TYPO3 4.x Backend 27 17.06.07 16:24
tt_news - neues Feld wie "Related news" jannsen Extension modifizieren oder neu erstellen 0 20.02.07 23:23
Neues Feld im Pageheader Patrick007 Extension modifizieren oder neu erstellen 0 11.11.05 13:48


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:06 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165