Strict – Declaration of DataGrid::createTemplate() should be compatible with that of Control::createTemplate()
- Mikulas Dite
- Člen | 756
Nette\Application\UI\Control
je „nově“ definovavé jako
protected Nette\Templating\ITemplate createTemplate( $class = NULL )
tzn. doplň do DataGrid tu část s $class = NULL
a bude to zase
kompatibilní.
- Filip Procházka
- Moderator | 4668
Mikuláš ti už odpověděl. Nikdo jiný za tebe CTRL+C
a
CTRL+V
udělat nemůže.
- kokoumes
- Člen | 39
Zdravím,
po delší době se vracím zpět k mému projektu a chyba stále
přetrvává – Interface ‚INamingContainer‘ not found. Dle instrukcí
nahoře jsem doplnil do datagridu $class = NULL
Přesnějš
sem:
<?php /**
* Template factory.
* @return ITemplate
*/
function createTemplate($class = NULL)
{
$template = parent::createTemplate();
if ($this->getTranslator() !== NULL) {
$template->setTranslator($this->getTranslator());
}
$template->registerFilter(‚Nette\Templates\CurlyBracketsFilter::invoke‘);
return $template;
}
?>
Předem díky za jakékoliv nakopnutí.
Editoval kokoumes (28. 11. 2011 11:46)
- bojovyletoun
- Člen | 667
INamingContainer je stará věc. Podle tohoto -komentáře stačí umazat výskyty implements INamingContainer v definicích tříd. Nebo se můžeš podívat na Gridito a Grinder.
Editoval bojovyletoun (28. 11. 2011 12:38)
- kokoumes
- Člen | 39
Díky,
ale objevily se další chyby. Nejdříve jedna deprecated(tu jsem upravil), pak
String::truncate($text,$this->maxLength);
tady mi to hlásí že
nezná Class String no i když úpravu toho řetězce vynechám, tak mi píše
chybu Component ‚dataGrid‘ is not attached to
‚Nette\Application\Control‘. :-( Začínám z toho být zoufalý :-(
<?php
…/_notes2/app/components/DataGrid/DataGrid/DataGridAction.php:75 source ►
Component→ lookup (arguments ►)
/**
* Generates action's link. (use before data grid is going to be rendered)
* @return void
*/
public function generateLink(array $args = NULL)
{
$dataGrid = $this->lookup(‚DataGrid‘, TRUE);
$control = $dataGrid->lookup(‚Nette\Application\Control‘, TRUE);
switch ($this->key) {
case self::WITHOUT_KEY:
$link = $control->link($this->destination); break;
case self::WITH_KEY:
default:
$key = $this->key == NULL || is_bool($this->key) ? $dataGrid->keyName :
$this->key;
?>