Index: t3lib/class.t3lib_tceforms.php =================================================================== --- t3lib/class.t3lib_tceforms.php (Revision 9080) +++ t3lib/class.t3lib_tceforms.php (Arbeitskopie) @@ -921,11 +921,14 @@ } // If the record has been saved and the "linkTitleToSelf" is set, we make the field name into a link, which will load ONLY this field in alt_doc.php - $PA['label'] = t3lib_div::deHSCentities(htmlspecialchars($PA['label'])); + $label = t3lib_div::deHSCentities(htmlspecialchars($PA['label'])); if (t3lib_div::testInt($row['uid']) && $PA['fieldTSConfig']['linkTitleToSelf'] && !t3lib_div::_GP('columnsOnly')) { $lTTS_url = $this->backPath.'alt_doc.php?edit['.$table.']['.$row['uid'].']=edit&columnsOnly='.$field.'&returnUrl='.rawurlencode($this->thisReturnUrl()); - $PA['label'] = ''.$PA['label'].''; + $label = '' . $label . ''; } + + // wrap the label with help text + $PA['label'] = $label = t3lib_BEfunc::wrapInHelp($table, $field, $label); // Create output value: if ($PA['fieldConf']['config']['form_type']=='user' && $PA['fieldConf']['config']['noTableWrapping']) { @@ -933,23 +936,20 @@ } elseif ($PA['palette']) { // Array: $out=array( - 'NAME'=>$PA['label'], + 'NAME' => $label, 'ID'=>$row['uid'], 'FIELD'=>$field, 'TABLE'=>$table, - 'ITEM'=>$item, - 'HELP_ICON' => $this->helpTextIcon($table,$field,1) + 'ITEM'=>$item ); $out = $this->addUserTemplateMarkers($out,$table,$field,$row,$PA); } else { // String: $out=array( - 'NAME'=>$PA['label'], + 'NAME'=>$label, 'ITEM'=>$item, 'TABLE'=>$table, 'ID'=>$row['uid'], - 'HELP_ICON'=>$this->helpTextIcon($table,$field), - 'HELP_TEXT'=>$this->helpText($table,$field), 'PAL_LINK_ICON'=>$thePalIcon, 'FIELD'=>$field ); @@ -4820,8 +4820,8 @@ // Wrapping a single field: $this->fieldTemplate=' - ###FIELD_HELP_ICON### - ###FIELD_NAME######FIELD_HELP_TEXT### +   + ###FIELD_NAME### @@ -5096,7 +5096,6 @@ '' . '' . $content['ITEM'] . - $content['HELP_ICON'] . '' . ''; } Index: t3lib/class.t3lib_befunc.php =================================================================== --- t3lib/class.t3lib_befunc.php (Revision 9080) +++ t3lib/class.t3lib_befunc.php (Arbeitskopie) @@ -2482,8 +2482,14 @@ /** * Returns help-text icon if configured for. - * TCA_DESCR must be loaded prior to this function and $BE_USER must have 'edit_showFieldHelp' set to 'icon', otherwise nothing is returned + * TCA_DESCR must be loaded prior to this function and $BE_USER must + * have 'edit_showFieldHelp' set to 'icon', otherwise nothing is returned * Usage: 6 + * + * Please note: since TYPO3 4.5 the UX team decided to not use CSH in its former way, + * but to wrap the given text (where before the help icon was, and you could hover over it) + * Please also note that since TYPO3 4.5 the option to enable help (none, icon only, full text) + * was completely removed. * * @param string Table name * @param string Field name @@ -2496,7 +2502,7 @@ if (is_array($TCA_DESCR[$table]) && is_array($TCA_DESCR[$table]['columns'][$field]) && (isset($BE_USER->uc['edit_showFieldHelp']) || $force)) { if ($BE_USER->uc['edit_showFieldHelp'] == 'icon') { - $text = self::helpText($table, $field, $BACK_PATH, ''); + $text = self::helpText($table, $field); $text = '' . $GLOBALS['LANG']->hscAndCharConv($text, FALSE) . ''; } return '' . t3lib_iconWorks::getSpriteIcon('actions-system-help-open', array('class' => 'typo3-csh-icon')) . $text.''; @@ -2513,11 +2519,11 @@ * * @param string Table name * @param string Field name - * @param string Back path + * @param string Back path, deprecated since TYPO3 4.5, will be removed in TYPO3 4.7, because not used at all * @param string DEPRECATED: Additional style-attribute content for wrapping table (now: only in function cshItem needed) * @return string HTML content for help text */ - public static function helpText($table, $field, $BACK_PATH, $styleAttrib = '') { + public static function helpText($table, $field, $BACK_PATH = '', $styleAttrib = '') { global $TCA_DESCR, $BE_USER; $output = ''; @@ -2529,7 +2535,7 @@ } // add description text if ($data['description'] || $arrow) { - $output = '

' . nl2br(htmlspecialchars($data['description'])) . $arrow . '

'; + $output = '

' . nl2br(htmlspecialchars($data['description'])) . $arrow . '

'; } // put header before the rest of the text @@ -2540,6 +2546,36 @@ return $output; } + /** + * API function that wraps the text / html in help text, so if a user hovers over it + * the help text will show up + * This is the new help API function since TYPO3 4.5, and uses the new behaviour + * (hover over text, no icon, no fulltext option, no option to disable the help) + * + * @param string $table The table name for which the help should be shown + * @param string $field The field name for which the help should be shown + * @param string $text the text which should be wrapped with the help text + * @return string the HTML code ready to render + * @api public + */ + public static function wrapInHelp($table, $field, $text = '') { + // get the help text that should be shown on hover + $GLOBALS['LANG']->loadSingleTableDescription($table); + $helpText = self::helpText($table, $field); + if ($helpText) { + // if no text was given, just use the regular help icon + if ($text == '') { + $text = t3lib_iconWorks::getSpriteIcon('actions-system-help-open'); + } + + $helpText = '' . $GLOBALS['LANG']->hscAndCharConv($helpText, FALSE) . ''; + $text = '' . $text . ''; + + $text = '' . $text . $helpText . ''; + } + return $text; + } + /** * API for getting CSH icons/text for use in backend modules. Index: typo3/template.php =================================================================== --- typo3/template.php (Revision 9080) +++ typo3/template.php (Arbeitskopie) @@ -1578,11 +1578,14 @@ $this->pageRenderer->addExtOnReadyCode(' Ext.getBody().on({ click: { - delegate: "a.typo3-csh-link", + delegate: "a", scope:this, fn:function(event, link) { - event.stopEvent(); - top.TYPO3.ContextHelpWindow.open(link.rel); + var element = Ext.fly(link); + if (element.hasClass("typo3-csh-link") || element.hasClass("t3-help-link")) { + event.stopEvent(); + top.TYPO3.ContextHelpWindow.open(link.rel); + } } } }); Index: typo3/stylesheets/structure/element_csh.css =================================================================== --- typo3/stylesheets/structure/element_csh.css (Revision 9080) +++ typo3/stylesheets/structure/element_csh.css (Arbeitskopie) @@ -10,4 +10,12 @@ a.typo3-csh-link:hover span.typo3-csh-inline { display: block; +} + +.t3-help-link span.t3-help-inline { + display: none; +} + +a.t3-help-link:hover span.t3-help-inline { + display: block; } \ No newline at end of file Index: typo3/sysext/t3skin/stylesheets/structure/element_csh.css =================================================================== --- typo3/sysext/t3skin/stylesheets/structure/element_csh.css (Revision 9080) +++ typo3/sysext/t3skin/stylesheets/structure/element_csh.css (Arbeitskopie) @@ -119,4 +119,126 @@ div.typo3-view-help img.c-inlineimg { margin-left: 10px; +} + + +/*** new help code ***/ +.t3-help-teaser { + border-bottom: 1px dotted #434343; +} +table.t3-help-inline { + margin: 3px 4px 20px 0px; + padding: 0; +} + +table.t3-help-inline a.t3-help-link { + float: none; + margin-right: 0; +} + +a.t3-help-link .t3-help-inline { + display: none; + padding: 0px; + position: absolute; + width: 200px; + z-index: 100; +} + +a.t3-help-link .t3-help-inline.show-right { + right: 10px; +} + +table.t3-help-inline a.t3-help-link, +table.t3-help-inline span.t3-row-header, +span.t3-help-inline span.t3-row-header, +a.t3-help-link span.t3-help-inline span.t3-row-header { + display: block; +} + +a.t3-help-link:hover .t3-help-inline { + display: block; +} + +.t3-help-inline h2.t3-row-header { + margin: 0; + height: auto; +} + +.t3-help-inline p.t3-help-short { + padding: 3px; +} + +table.t3-help-inline a.t3-help-link { + height: 16px; +} + +table.t3-help-inline tr td h4 { + margin-top: 0px; + margin-bottom: 0px; +} + +table.t3-help-inline span.paragraph, +a.t3-help-link span.t3-help-inline span.paragraph { + display: block; + padding: 3px; +} + +img.t3-help-icon { + vertical-align: middle; +} + +div.t3-view-help h1 { + margin-bottom: 0px; + padding: 10px; +} + +div.t3-view-help h2 { + margin-top: 0; + padding: 4px 2px 4px 10px; +} + +div.t3-view-help h3 { + padding: 5px 10px; +} + +div.t3-view-help h4 { + padding: 2px 10px; +} + +div.t3-view-help { + margin: 0; + width: 100%; +} + +div.t3-view-help p { + margin: 4px 4px 12px 10px; +} + +div.t3-view-help div.c-toc { + padding-left: 6px; +} + +div.t3-view-help div.c-toc p { + margin: 0; +} + +div.t3-view-help div.c-toc ul { + padding: 2px 5px; +} + +div.t3-view-help div.c-toc ul li ul { + margin-left: 10px; +} + +div.t3-view-help div.c-toc ul li { + padding: 2px; +} + +div.t3-view-help .manual-title, +div.t3-view-help .introduction { + padding: 0 12px 6px; +} + +div.t3-view-help img.c-inlineimg { + margin-left: 10px; } \ No newline at end of file Index: typo3/sysext/t3skin/stylesheets/visual/element_csh.css =================================================================== --- typo3/sysext/t3skin/stylesheets/visual/element_csh.css (Revision 9080) +++ typo3/sysext/t3skin/stylesheets/visual/element_csh.css (Arbeitskopie) @@ -35,6 +35,39 @@ white-space: normal; } +/** new CSH code **/ +table.t3-help-inline { + background-color: #ffffff; + border: 1px solid #a2aab8; +} + +.t3-help-inline { + box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3); + line-height: 16px; +} + +a.t3-help-link .t3-help-inline { + background: #ffffff; + color: #000000; + font-weight: normal; +} + +div.t3-help-inline p.t3-help-short { + border: #b6b6b6 1px solid; + border-top: none; +} + +img.t3-help-icon { + cursor: help; +} + +a.t3-help-link { + white-space: normal; +} + + /* view_help.php */ #typo3-view-help-php { } Index: typo3/sysext/setup/ext_tables.php =================================================================== --- typo3/sysext/setup/ext_tables.php (Revision 9080) +++ typo3/sysext/setup/ext_tables.php (Arbeitskopie) @@ -74,22 +74,11 @@ 'label' => 'LLL:EXT:setup/mod/locallang.xml:edit_wideDocument', 'csh' => 'edit_wideDocument', ), - 'edit_showFieldHelp' => array( - 'type' => 'select', - 'items' => array ( - '0' => 'LLL:EXT:setup/mod/locallang.xml:edit_showFieldHelp_none', - 'icon' => 'LLL:EXT:setup/mod/locallang.xml:edit_showFieldHelp_icon', - 'text' => 'LLL:EXT:setup/mod/locallang.xml:edit_showFieldHelp_message', - ), - 'label' => 'LLL:EXT:setup/mod/locallang.xml:edit_showFieldHelp', - 'csh' => 'edit_showFieldHelp', - ), 'titleLen' => array( 'type' => 'text', 'label' => 'LLL:EXT:setup/mod/locallang.xml:maxTitleLen', 'csh' => 'maxTitleLen', ), - 'edit_RTE' => array( 'type' => 'check', 'label' => 'LLL:EXT:setup/mod/locallang.xml:edit_RTE',