Extension s parametry a službou zároveň
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Pavel Kravčík
- Člen | 1196
Ahoj,
nedává mi to moc smysl a použití @internal funkcí mi nepřijde hezké… sice to funguje…
class Extension extends CompilerExtension
{
public function loadConfiguration()
{
//$builder = $this->getContainerBuilder();
//$this->compiler->loadDefinitions($builder, $this->loadFromFile(__DIR__ . '/config.neon')['services'], $this->name);
$this->compiler->loadConfig(__DIR__ . '/config.neon');
$this->compiler->processParameters();
}
}
Jak správně ovlivnit parametry mimo extension? Klasický příklad s modulem. Přidám do projektu extension, natáhnu z privátního gitlabu a chci aby se mi zobrazil v menu bez jakéhokoliv psaní.
//Extension config
parameters:
menu:
#something
- David Matějka
- Moderator | 6445
cus, obvykle se to resi tak, ze mas bud
- nejakou sluzbu jako MenuItemsProvider, prip. MenuContributor (implementujici nejake rozhrani) a pak nejaka sluzba na spravu menu si vytahne providery/contributory, od kterych posbira ty polozky (tzn resit to v runtime)
- u jednodussich veci muze nejakou konfiguraci vracet primo extension, ktere implementuje nejake rozhrani a druhe extension si vytahne vsechny extensions, ktere ten interface implementuji a posbira od nich data (tzn resit to v compile time)