Hallo,
ich komm mit der Fehlermeldung "Cannot use string offset ..." im MultiColumnWizard nicht weiter.
Felddefinition:
PHP-Code:
'ShopDeaktiv' => array
(
'label' => &$GLOBALS['TL_LANG']['xxx']['ShopDeaktiv'],
'inputType' => 'multiColumnWizard',
'search' => true,
'filter' => false,
'save_callback' => array(array('xxx', 'saveActivColumns')),
'load_callback' => array(array('xxx', 'loadActivColumns')),
'eval' =>
array
(
'columnFields' => array
(
'Deaktiviert' => array
(
'label' => &$GLOBALS['TL_LANG']['xxx']['Deaktiviert'],
'exclude' => true,
'filter' => true,
'inputType' => 'checkbox',
'search' => false,
'eval' => array('multiple'=>false)
),
),
'mandatory' => false,
'accesskey'=>'ShopDeaktiv',
'doNotSaveEmpty'=>true,
'columns' =>1,
'buttons' => array('copy' => false, 'delete' => false, 'up' => false, 'down' => false),
),
),
Die sava_callback Funktion:
PHP-Code:
public function saveActivColumns($value, $dc)
{
// aktiv und deaktiv vertauschen
$value = deserialize($value);
$value = $this->switchDeaktivActiv($value);
$value = serialize($value);
$this->updateValue($value, $dc, 'xxx', $this->getKeyFromValueArr($value),'id');
return $value;
}
Debugging im MultiColumnWizard mit echo:
PHP-Code:
protected function validator($varInput)
{
for ($i = 0; $i < count($varInput); $i++)
{
// Walk every column
foreach ($this->columnFields as $strKey => $arrField)
{
echo "<br>+++$varInput[$i][$strKey]<br><br>";
$objWidget = $this->initializeWidget($arrField, $i, $strKey, $varInput[$i][$strKey]);
Ausgabe:
PHP-Code:
+++[Deaktiviert]
Fatal error: Cannot use string offset as an array in /usr/www/users/novels/system/modules/multicolumnwizard/MultiColumnWizard.php on line 200
Hier sollte "Array[Deaktiviert]" anstelle von [Deaktiviert] ausgegeben werden.
Das Problem "Cannot use string offset..." tritt nur auf, wenn keine checkbox aktiviert wurde!
Wie kann ich das Problem fixen.
Danke für eure Hilfe
Daniel
Lesezeichen