Bug #24170
closedNo inline relation to tables with tabs possible
Added by Georg Ringer almost 14 years ago. Updated over 9 years ago.
0%
Description
It seems it is not possible anymore to create inline relations to tables which use tabs.
At least the following bugs need to be solved:
- Height is wrong
- Tabs can not be switched, firebug says "DTM_mouseOver is not defined"
- if record is saved, the related records are saved on the current page but are not selected in the parent record
- if appearance => collapseAll => 1 is set, it is not possible to open the irre record. firebug says "DTM_array is not defined" + "$(element) is null"
i just checked a 4.4.2 and it works there
(issue imported from #M16524)
Files
inline-before.gif (31 KB) inline-before.gif | Administrator Admin, 2010-11-23 10:28 | ||
inline-after.gif (9.87 KB) inline-after.gif | Administrator Admin, 2010-11-23 10:29 | ||
T3X_testirre-0_0_0-z-201012151113.t3x (18.1 KB) T3X_testirre-0_0_0-z-201012151113.t3x | Administrator Admin, 2010-12-15 11:15 | ||
0016524.patch (1.78 KB) 0016524.patch | Administrator Admin, 2011-01-22 18:03 |
Updated by Georg Ringer almost 14 years ago
ok can'T reproduce it on another installation, will do a further check tomorrow
Updated by Georg Ringer almost 14 years ago
there is now a testextension. how to reproduce:
1) create a record "IRRE Test record"
2) fill the relation #3. it shouldn't work
3) disable divider2tabs in ext_tables.php, delete cache
4) try again. it should work now
Updated by Georg Ringer almost 14 years ago
Ok at least I can open the inline records again by adding following JS to templates/alt_doc.html inside <div id="docbody">
----------------------------------------------------------------
<script type="text/javascript">
var DTM_array = new Array();
var DTM_origClass = new String();
// if tabs are used in a popup window the array might not exists
if(!top.DTM_currentTabs) {
top.DTM_currentTabs = new Array();
}
function DTM_activate(idBase,index,doToogle) { //
// Hiding all:
if (DTM_array[idBase]) {
for(cnt = 0; cnt < DTM_array[idBase].length ; cnt++) {
if (DTM_array[idBase][cnt] != idBase+"-"+index) {
document.getElementById(DTM_array[idBase][cnt]+"-DIV").style.display = "none";
document.getElementById(DTM_array[idBase][cnt]+"-MENU").attributes.getNamedItem("class").nodeValue = "tab";
}
}
}
// Showing one:
if (document.getElementById(idBase+"-"+index+"-DIV")) {
if (doToogle && document.getElementById(idBase+"-"+index+"-DIV").style.display == "block") {
document.getElementById(idBase+"-"+index+"-DIV").style.display = "none";
if(DTM_origClass=="") {
document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tab";
} else {
DTM_origClass = "tab";
}
top.DTM_currentTabs[idBase] = 1;
} else {
document.getElementById(idBase+""+index+"-DIV").style.display = "block";
if(DTM_origClass=="") {
document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tabact";
} else {
DTM_origClass = "tabact";
}
top.DTM_currentTabs[idBase] = index;
}
}
}
function DTM_toggle(idBase,index,isInit) { //
// Showing one:
if (document.getElementById(idBase+"-"+index+"-DIV")) {
if (document.getElementById(idBase+"-"+index+"-DIV").style.display == "block") {
document.getElementById(idBase+"-"+index+"-DIV").style.display = "none";
if(isInit) {
document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tab";
} else {
DTM_origClass = "tab";
}
top.DTM_currentTabs[idBase+"-"+index] = 0;
} else {
document.getElementById(idBase+"-"+index+"-DIV").style.display = "block";
if(isInit) {
document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tabact";
} else {
DTM_origClass = "tabact";
}
top.DTM_currentTabs[idBase+"-"+index] = 1;
}
}
}
function DTM_mouseOver(obj) { //
DTM_origClass = obj.attributes.getNamedItem('class').nodeValue;
obj.attributes.getNamedItem('class').nodeValue += "_over";
}
function DTM_mouseOut(obj) { //
obj.attributes.getNamedItem('class').nodeValue = DTM_origClass;
DTM_origClass = "";
}
</script>
this is taken from db_layout.php
Updated by Oliver Hader almost 14 years ago
Hi Georg,
I could not reproduce this with the current SVN Trunk of the Core and the IRRE Tutorial (https://svn.typo3.org/TYPO3v4/Extensions/irre_tutorial/trunk) - I've added tabs to the tutorial. Can you please recheck the behaviour on your system thanks...
Updated by Oliver Hader almost 14 years ago
Hm... however... I could reproduce with your extension that implements a 1:n CSV approach - which is also part of the irre_tutorial. Strange...
Updated by Oliver Hader almost 14 years ago
Ok, could reproduce this in 4.5 - the bug does not exist in 4.3 or 4.4.
During the AJAX call to render a new IRRE child, JavaScript for handling the tabs is transferred but not evaluated correctly...
Updated by Oliver Hader almost 14 years ago
The reason is, that the pageRender now takes care of adding the file "tabmenu.js" with the method pageRenderer->addJsFile().
Thus, this has to be considered in general in t3lib_TCEforms_inline as well...
See t3lib_TCEforms_inline->getHeadTags() which just checks for template->JStop but not for template->getPageRenderer()->jsFiles
Updated by Ernesto Baschny almost 14 years ago
Any solution to that problem Olly? RC1 will be released saturday afternoon, would be great to have that fixed. Thanks!
Updated by Oliver Schlöbe over 9 years ago
Hey there, this seems to be still present in the 6.2.x branch. Getting the error
Uncaught ReferenceError: DTM_array is not defined
when using tabs inside of IRRE records.