[addon header] Doplnok Header
- romiix.org
- Člen | 343
Používam u seba neštandardný spôsob tvorby komponent.
Skús pri vytvorení komponenty Header dopísať riadok:
->setAssetsCollector($this->context->assetsCollector->collector)
Napíš prosím či to pomohlo nech to dopíšem do dokumentácie.
- marek-m
- Člen | 66
Uz to je ok, ale zakomponuj tam aj basePath, takto to nespravne funguje v podadresaroch (css, js, favicon.ico), subezne v dokumentacii radsej napis tvorbu komponenty, nieje potrebne sa odvolavat na HeaderControl. Dalo by sa nejako globalne vypnut vytvaranie meta informacii a podobne? Ja osobne tiete veci radsej nastavujem v sablone. Tak ako si na fore pisal, css patri do sablony a ja na meta informacie tiez takyto nazor.
- romiix.org
- Člen | 343
marek-m napsal(a):
Uz to je ok, ale zakomponuj tam aj basePath, takto to nespravne funguje v podadresaroch (css, js, favicon.ico),
Čo presne nefunguje, resp. nefunguje podla očakávania?
subezne v dokumentacii radsej napis tvorbu komponenty, nieje potrebne sa odvolavat na HeaderControl.
To by bolo asi užitočné.
Dalo by sa nejako globalne vypnut vytvaranie meta informacii a podobne?
Čo presne si pod tým predstavuješ?
Ja osobne tiete veci radsej nastavujem v sablone. Tak ako si na fore pisal, css patri do sablony a ja na meta informacie tiez takyto nazor.
viez co by bolo super, tak ako mas makro css a js bolo by dobre ak by si dal makro napr. aj pre title, keywords, description …
Má to svoju logiku. Nastavenie týchto vecí priamo v šablóne by mohlo byť ako alternatíva niekedy vhodné. Ja osobne som to zvykol napr. titulok plniť rovno v presentri. Ale napr. teraz keď už používam Nette\Database by som si vedel predstaviť že by to bolo priamo v šablóne. Napr.:
{* nastavenie hlavičky *}
{title}{$row->title}{/title}
{description}{$row->description}{/description}
{* ... *}
{* výpis na stránku *}
<h1>{$row->title}</h1>
<div>{$row->description}</div>
{$row->text}
Domyslím to a keď budem mať trochu času pustím sa do toho.
… prípadne očakávam ďalšie podnety.
- michalSK
- Člen | 1
Dobrý deň!
Snažím sa rozchodiť doplnok header, vyzerá super ;), ale dostal som chybu:
Class \RM\AssetsCollector\Compilers\CssSimpleMinificator has not been found.
Všetko som inštaloval cez composer, môj composer.json vyzerá takto:
{
"name": "vrtak-cz/nette-doctrine-sandbox",
"description": "Sandbox for Nette & Doctrine",
"config": {
"vendor-dir": "./libs"
},
"require": {
"nella/doctrine": "@dev",
"nella/console": "@dev",
"doctrine/migrations": "@dev",
"nette/tester": "@dev",
"kdyby/html-validator-panel": "dev-master",
"rm/header": "dev-master"
}
}
Čo som spravil nesprávne?
Vopred ďakujem za odpoveď
- romiix.org
- Člen | 343
Teraz hneď nemôžem zisťovať kde je problém. Prvé čo mi napadlo bolo
aktualizovať composer balíček. To som spravil, skús to prosím znovu.
Dostanem sa k tomu neskôr, daj prosím vedieť či to (ne)pomohlo.
- enumag
- Člen | 2118
Tak jsem tenhle doplněk konečně vyzkoušel. Během zkoušení jsem objevil několik problémů, nějaké opravy máš na GitHubu jako pull request. Pak na mne ale začaly vyskakovat další chyby typu:
Warning
file_put_contents(E:/Projects/sandbox/cache/E:\Projects\sandbox\app\AdminModule\templates\js\netteForms.d9156b93ae34824093985c957e9b4639.js): failed to open stream: Invalid argument
Kromě toho v kódu využíváš konstantu WWW_DIR, na které by doplňky rozhodně viset neměly. Já tuto konstantu např. vůbec neměl definovanou. A co jsem koukal do tvého kódu tak by se odstraňovala dost blbě.
Je mi líto, ale ač je to hezký koncept, práci s tímto doplňkem vzdávám. Nechce se mi ho forkovat a komplet přepisovat – máš tam funkce, které mi připadají zbytečné takže by to bylo stejně opravené jen napůl. Raději si tedy napíšu vlastní, přesně s tím co potřebuji, v některých částech se u tebe inspiruju.
Editoval enumag (8. 12. 2012 22:59)
- danielseek
- Člen | 42
Tak jsem se vrhl do toho, čeho se štítil enumag:
Nepočítáš vůbec se serverem běžícím na windows, který používá jako
oddělovač adresářů \ místo /. Proto ten problém, který popisuje
enumag.
$filename = explode(„/“,self::addToFileName($source,$md5)); //Tohle nemůže
na win fungovat
$filename = explode(DIRECTORY_SEPARATOR,self::addToFileName($source,$md5));
//Furt ptákovina, ale aspoň funguje
Nejlepší je samozřejmě, ale použít pathinfo…
Také jsem si všiml spousty zbytečného kódu. Např. tam máš místa, kde se ti opakuje to samé viz addJs/CSS…
Doporučoval bych doplněk upravit tak aby si uživatel mohl přidat natvrdo nějaké tagy do headeru, např pomocí šablony. Hodí se to na podmíněné komentáře pro IE. Také by to chtělo podporu vzdálených css a js souborů. Používám jquery od Googlu.
Chtělo by to pořádně odladit, trochu u toho myslet a bude to super doplněk.
Většinu z toho jsem už implementoval u sebe na lokálu, ale není to moc publikovatelné…
Editoval danielseek (23. 6. 2013 22:39)
- romiix.org
- Člen | 343
danielseek napsal(a):
Som si toho všetkého vedomý a dúfam , že sa mi doplnok podarí dostať v dohľadnom čase do poriadku.
Pred pár dňami som to inštaloval cez composer do sandboxu a rozhodne to nie je bezproblémové.
- Zuben45
- Člen | 268
romiix.org napsal(a):
Používam u seba neštandardný spôsob tvorby komponent.
Skús pri vytvorení komponenty Header dopísať riadok:
->setAssetsCollector($this->context->assetsCollector->collector)
Napíš prosím či to pomohlo nech to dopíšem do dokumentácie.
napsal jsem:
$header = new Header->setAssetsCollector($this->context->assetsCollector->collector);
ale stále mi to vyhazuje chybu
syntax error, unexpected '->' (T_OBJECT_OPERATOR)
když to vytvořím pouze takto:
$header = new Header;
tak to zase hlási, že třída Heade neexistuje :/