Ich habe das selbe Problem unter 4.4.0 - da sieht es mit der neusten Version noch schlechter aus. In der Seitendarstellung gibt es bei den Inhaltselementen weder Buttons, noch eine Vorschau (diese erscheint dann z.T. beim Hover; allerdings auch nicht korrekt).
Unter 4.3.3 habe ich bei einem anderen Projekt kb_nescefe 1.0.2 erfolgreich laufen.
Up/Down Buttons im Seitenmodul fehlen nach Udate auf 4.3.3
da durch die Extension eine TYPO3 Core Datei geändert, bzw. angepasst ist, kann es durch aus sein das der Extensionentwickler seine Sachen den neuen Umständen anpassen muss.
In dem Sinne ist es vielleicht wirklich ein Bug, wenn es denn keine Explizite Einstellungsmöglichkeit dafür gibt.
macht am besten einen Bug Report hier,
http://forge.typo3.org/projects/show/extension-kb_nescefe
Hallo karlchen,
das sehe ich ganz genauso. Ich habe den Entwickler mittlerweile mal direkt angemailt. Jetzt schreib ich den Bugreport und widme mich dann dem Vergleich des Originals der Methode tt_content_drawHeader mit der aus der erweiterten Klasse.
Bis später
Harald
Hallo ihr Lieben,
ich habe den Bug gefunden: }😃
Klasse: typo3conf/ext/kb_nescefe/class.ux_tx_cms_layout.php
Methode: tt_content_drawHeader und tt_content_drawHeader_44
Im Unterschied zum Original ist die Variable $out in der erweiterten Klasse von kb_nescefe ein Array und kein String.
Ganz am Ende der Methode wird aber die Eltern-Methode mit dieser Variablen als Parameter aufgerufen, ohne vorher ein imlode(..) zu machen. Wenn ihr dass korrigiert, funzt es. Hier das Workaround für tt_content_drawHeader (Zeilen 180-201). Die Korrektur in tt_content_drawHeader_44 kriegt ihr doch wohl selber hin 😉
Vorher:
if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawHeader'])) {
$_params = array('tt_content',$row['uid']);
foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawHeader'] as $_funcRef) {
$_params = array(
'content' => &$out,
'space' => &$space,
'row' => $row,
'disableMoveAndNewButtons' => $disableMoveAndNewButtons,
'langMode' => $langMode,
);
t3lib_div::callUserFunction($_funcRef,$_params,$this);
}
}
// Wrap the whole header in a table:
return '
<table border="0" cellpadding="0" cellspacing="0" class="typo3-page-ceHeader">'.($space?'
<tr>
<td><img src="clear.gif" height="'.$space.'" alt="" /></td>
</tr>':'').
implode('', $out).'
</table>';
}
Nachher:
$out = implode('', $out); // added line
if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawHeader'])) {
$_params = array('tt_content',$row['uid']);
foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawHeader'] as $_funcRef) {
$_params = array(
'content' => &$out,
'space' => &$space,
'row' => $row,
'disableMoveAndNewButtons' => $disableMoveAndNewButtons,
'langMode' => $langMode,
);
t3lib_div::callUserFunction($_funcRef,$_params,$this);
}
}
// Wrap the whole header in a table:
return '
<table border="0" cellpadding="0" cellspacing="0" class="typo3-page-ceHeader">'.($space?'
<tr>
<td><img src="clear.gif" height="'.$space.'" alt="" /></td>
</tr>':'').
$out.' //modified line
</table>';
Viele Grüße an alle
Harald
P.S. Ich Dummy finde jetzt gleich aml dem "Gelöst-Haken" nicht. Mache micht jetz erstmal an foge.typo3.org wegen dem Bugreport-Update.
hey harald.witt
*Thumbs Up* 🙂
Hallo nochmal an alle,
vergesst bitte alle mittlerweile angestellten Spekulationen. In der angehängten Datei habt ihr die endgültige Lösung für das Problem der verschwundenen Buttons. Habe das Problem nach einigem Mailverkehr gemeinsam mit dem Entwickler gelöst. Danke an Bernhard.
Sorry, dass es so lange gedauert hat. Hatte es etwas verdrängt, dass das Thema in diesem Forum noch offen ist.
Viele Grüße
Harald
Habe gerade Probleme das PDF-Dokument per download zu öffnen. Schicke euch daher das Ganze nochmal als .doc hinterher.
Mit dem Download ist woh in diesem Forum etwas foul. Also paste ich das ganze mal direkt hier rein:
______________________________________________________________
Anpassungen in:
typo3conf/ext/kb_nescefe/class.tx_kbnescefe_layout.php
------------------------------------------------------
Die Buttons für Kopieren und Ausschneiden fehlen.
Als ich noch PHP 5.2 im Einsatz hatte, fehlten auch die Up- und Down-Buttons.
Bug 1:
------
In der Methode insertIntoArray() steht:
list($afterKey) = array_intersect($position, $currentKeys);
Das array_intersect() klappt, aber list() nicht.
Grund: In der Doku von PHP 5.2 steht:
"list() funktioniert nur bei numerischen Arrays und basiert auf der ANNAHME, DASS DIE NUMERISCHEN INDIZES BEI 0 BEGINNEN.
Letzteres ist nicht der Fall, da array_intersect() Indizes aus den Original-Arrays benutzt!
Daher ergibt list() NULL und wir landen bei if($arrayKey) immer im else-Zweig.
Lösung:
$afterKey = array_shift(array_intersect($position, $currentKeys));
Bug2:
-----
In der Methode insertIntoArray() steht:
$post = array_slice($array, $pos+$addOffset, NULL, true);
$post ist danach aber leer. Darin sollten die Buttons sein, die ich vermisse. Grund ist der NULL-Parameter. (BTW: Das verhalten von array_slice() zeigt zumindest in PHP 5.2 sogar unterschiedliches Verhalten bei +0 und -0).
Lösung 1:
$post = array_slice($array, $pos+$addOffset, count($array), true);
Lösung 2:
$post = array_diff($array, $pre);
Lösung 1 ist dabei wegen der Lesbarkeit zu bevorzugen, da es den eigentlichen Sinn der Anweisung besser dokumentiert. Diese Lösung wurde auch vom Entwickler, Bernhard Kraft, als offizielles Bugfix in forge eingestellt.
DIFF:
--------------------------------------------------------------
diff class.tx_kbnescefe_layout.php.orig class.tx_kbnescefe_layout.php
102c102
< list($afterKey) = array_intersect($position, $currentKeys);
---
> $afterKey = array_shift(array_intersect($position, $currentKeys));
107c107
< $post = array_slice($array, $pos+$addOffset, NULL, true);
---
> $post = array_slice($array, $pos+$addOffset, count($array), true);
Mit dem Download ist woh in diesem Forum etwas foul. Also paste ich das ganze mal direkt hier rein:
______________________________________________________________
Anpassungen in:
typo3conf/ext/kb_nescefe/class.tx_kbnescefe_layout.php
------------------------------------------------------
Die Buttons für Kopieren und Ausschneiden fehlen.
Als ich noch PHP 5.2 im Einsatz hatte, fehlten auch die Up- und Down-Buttons.
Bug 1:
------
In der Methode insertIntoArray() steht:
list($afterKey) = array_intersect($position, $currentKeys);
Das array_intersect() klappt, aber list() nicht.
Grund: In der Doku von PHP 5.2 steht:
"list() funktioniert nur bei numerischen Arrays und basiert auf der ANNAHME, DASS DIE NUMERISCHEN INDIZES BEI 0 BEGINNEN.
Letzteres ist nicht der Fall, da array_intersect() Indizes aus den Original-Arrays benutzt!
Daher ergibt list() NULL und wir landen bei if($arrayKey) immer im else-Zweig.
Lösung:
$afterKey = array_shift(array_intersect($position, $currentKeys));
Bug2:
-----
In der Methode insertIntoArray() steht:
$post = array_slice($array, $pos+$addOffset, NULL, true);
$post ist danach aber leer. Darin sollten die Buttons sein, die ich vermisse. Grund ist der NULL-Parameter. (BTW: Das verhalten von array_slice() zeigt zumindest in PHP 5.2 sogar unterschiedliches Verhalten bei +0 und -0).
Lösung 1:
$post = array_slice($array, $pos+$addOffset, count($array), true);
Lösung 2:
$post = array_diff($array, $pre);
Lösung 1 ist dabei wegen der Lesbarkeit zu bevorzugen, da es den eigentlichen Sinn der Anweisung besser dokumentiert. Diese Lösung wurde auch vom Entwickler, Bernhard Kraft, als offizielles Bugfix in forge eingestellt.
DIFF:
--------------------------------------------------------------
diff class.tx_kbnescefe_layout.php.orig class.tx_kbnescefe_layout.php
102c102
< list($afterKey) = array_intersect($position, $currentKeys);
---
> $afterKey = array_shift(array_intersect($position, $currentKeys));
107c107
< $post = array_slice($array, $pos+$addOffset, NULL, true);
---
> $post = array_slice($array, $pos+$addOffset, count($array), true);
Mit dem Download ist woh in diesem Forum etwas foul. Also paste ich das ganze mal direkt hier rein:
______________________________________________________________
Anpassungen in:
typo3conf/ext/kb_nescefe/class.tx_kbnescefe_layout.php
------------------------------------------------------
Die Buttons für Kopieren und Ausschneiden fehlen.
Als ich noch PHP 5.2 im Einsatz hatte, fehlten auch die Up- und Down-Buttons.
Bug 1:
------
In der Methode insertIntoArray() steht:
list($afterKey) = array_intersect($position, $currentKeys);
Das array_intersect() klappt, aber list() nicht.
Grund: In der Doku von PHP 5.2 steht:
"list() funktioniert nur bei numerischen Arrays und basiert auf der ANNAHME, DASS DIE NUMERISCHEN INDIZES BEI 0 BEGINNEN.
Letzteres ist nicht der Fall, da array_intersect() Indizes aus den Original-Arrays benutzt!
Daher ergibt list() NULL und wir landen bei if($arrayKey) immer im else-Zweig.
Lösung:
$afterKey = array_shift(array_intersect($position, $currentKeys));
Bug2:
-----
In der Methode insertIntoArray() steht:
$post = array_slice($array, $pos+$addOffset, NULL, true);
$post ist danach aber leer. Darin sollten die Buttons sein, die ich vermisse. Grund ist der NULL-Parameter. (BTW: Das verhalten von array_slice() zeigt zumindest in PHP 5.2 sogar unterschiedliches Verhalten bei +0 und -0).
Lösung 1:
$post = array_slice($array, $pos+$addOffset, count($array), true);
Lösung 2:
$post = array_diff($array, $pre);
Lösung 1 ist dabei wegen der Lesbarkeit zu bevorzugen, da es den eigentlichen Sinn der Anweisung besser dokumentiert. Diese Lösung wurde auch vom Entwickler, Bernhard Kraft, als offizielles Bugfix in forge eingestellt.
DIFF:
--------------------------------------------------------------
diff class.tx_kbnescefe_layout.php.orig class.tx_kbnescefe_layout.php
102c102
< list($afterKey) = array_intersect($position, $currentKeys);
---
> $afterKey = array_shift(array_intersect($position, $currentKeys));
107c107
< $post = array_slice($array, $pos+$addOffset, NULL, true);
---
> $post = array_slice($array, $pos+$addOffset, count($array), true);