Hallo Zusammen,
ich habe ein Problem, welches ich einfach nicht lösen kann. Ich hoffe Ihr könnt mir helfen. Im e@sy business manager funktioniert in der Aufgabenliste der Filter und die Suche nicht. Auf anderen Seiten geht es und ich finde einfach nicht heraus wo ran es liegt. Wenn ich den Filter oder die Suche nutze, wird immer "Keine Einträge gefunden." angezeigt.
Da so etwas ohne Daten immer schwierig nachzuvollziehen ist, hier mal was ich bis jetzt habe:
database.sql:
Code:
CREATE TABLE `tl_ebm_todo` (
`id` int(10) unsigned NOT NULL auto_increment,
`pid` int(10) unsigned NOT NULL default '0',
`sorting` int(10) unsigned NOT NULL default '0',
`tstamp` int(10) unsigned NOT NULL default '0',
`tabelle` varchar(255) NOT NULL default '',
`eid` varchar(10) NOT NULL default '',
`date` varchar(10) NOT NULL default '',
`time` varchar(10) NOT NULL default '',
`activity` varchar(255) NOT NULL default '',
`headline` varchar(255) NOT NULL default '',
`note` text NOT NULL,
`done` char(1) NOT NULL default '',
`priority` int(10) unsigned NOT NULL default '0',
`owner` int(10) unsigned NOT NULL default '0',
`doLink` text NOT NULL,
`user` int(10) unsigned NOT NULL default '0',
`showUsr` char(1) NOT NULL default '',
`authUsrShow` text NULL,
`authUsrMod` text NULL,
`showGrp` char(1) NOT NULL default '',
`authGrpShow` text NULL,
`authGrpMod` text NULL,
PRIMARY KEY (`id`),
KEY `pid` (`pid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
config.php:
PHP-Code:
array_insert(
$GLOBALS['BE_MOD'], 1, array(
'e@sy.Manager' => array(
'tl_ebm_todo' => array(
'icon' => 'system/modules/ebm_todo/html/todo.png',
'tables' => array('tl_ebm_todo')
)
)
)
);
$GLOBALS['EBM_QUEUE']['addTodo'][] = array('ebm_todo', 'addTodo');
$GLOBALS['EBM_QUEUE']['removeTodo'][] = array('ebm_todo', 'removeTodo');
dca.php (gekürtzt):
PHP-Code:
GLOBALS['TL_DCA']['tl_ebm_todo'] = array
(
// Config
'config' => array
(
'dataContainer' => 'Table',
'enableVersioning' => true,
'onload_callback' => array(array('ebm_util', 'testAuthShow'))
),
// List
'list' => array
(
'sorting' => array
(
'mode' => 2,
'flag' => 5,
'filter' => array(array('done != 1')),
'panelLayout' => 'filter;sort,search,limit',
'fields' => array('date', 'time', 'activity')
),
'label' => array
(
'fields' => array('date', 'time', 'headline'),
'format' => '[%s %s] %s',
'label_callback' => array('ebm_todo', 'makeLabel')
),
'global_operations' => array
(
),
'operations' => array
(
'show' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_ebm_todo']['show'],
'href' => 'act=show',
'icon' => 'show.gif'
),
'doSomething' => array
(
'label' => 'doNothing',
'href' => 'do=tl_ebm_todo',
'icon' => 'system/modules/ebm_todo/html/todo.png',
'button_callback' => array('ebm_todo', 'makeButtons')
),
)
),
'fields' => array
(
...
'activity' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_ebm_todo']['activity'],
'exclude' => true,
'filter' => true,
'sorting' => true,
'search' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'maxlength'=>255, 'tl_class'=>'w50')
),
'headline' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_ebm_todo']['headline'],
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'maxlength'=>255, 'tl_class'=>'long')
),
'note' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_ebm_todo']['note'],
'exclude' => true,
'search' => true,
'inputType' => 'textarea',
'eval' => array('rte'=>'tinyMCE', 'tl_class'=>'long')
),
'priority' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_ebm_todo']['priority'],
'exclude' => true,
'filter' => true,
'sorting' => true,
'inputType' => 'select',
'options' => array(1,2,3,4,5,6,7,8,9),
'reference' => &$GLOBALS['TL_LANG']['tl_ebm_todo']['opt_priority'],
'eval' => array('tl_class' => 'w50', 'includeBlankOption' => true)
),
'owner' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_ebm_todo']['owner'],
'exclude' => true,
'filter' => true,
'search' => true,
'sorting' => true,
'inputType' => 'select',
'foreignKey' => 'tl_user.name',
'eval' => array('tl_class' => 'w50', 'alwaysSave' => true)
),
...
)
);
Wenn ich nun nach der Priorität filtern möchte, erzeugt Contao folgenden SQL-String für die Auswahl der Datensätze:
Code:
SELECT * FROM tl_ebm_todo WHERE done != 1 AND priority=NULL ORDER BY date, time, activity LIMIT 0,30
Natürlich kann mit "priority=NULL" nicht das Richtige gefunden werden, wenn ich nach einem Wert filtere. In der Filterbox steht der korrekte Wert (z.B. 4). Leider finde ich den Grund für diess "=NULL" nicht. Wahrscheinlich ist es ganz einfach wenn man es weiß .
Ich wäre für jeden Tipp dankbar.
Viele Grüße,
eS_IT
Lesezeichen