řešení? kam vkladat html reklamu (např adsense)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MzK
Člen | 127
+
0
-

Normálně bych HTML kód reklamy hodil rovnou do šablony. Do @layout.phtml by to tolik nevadilo, jenomže pokud bych vkládal do každého pohledu, tak se mi opakuje kód, což není žádoucí :( Těch pohledů může být hodně.

Dát html kod do šablon je špatné, mám třeba společné /app/* pro víc webů a ty weby se liší pouze souborem config.ini a tím pádem databází. Reklamy jsou jiné.

Tak mne napadlo to dát do config.ini, jenomže tam se nemůže dávat HTML, tak do base64 encode a pak decode. To také není úplně optimální řešení – nevidím to html, tak nevím co tam mám.

Čili kam vecpat reklamu, která se na 1 webu opakuje (pohledy), ale ne do šablon, které jsou společné (/app/* je společné pro víc webů, liší se databází)..?

Dávat html do databáze? To je imho zbytečný SQL dotaz, ale pokud by se kešoval…

Řešeního je více, které je lepší? Díky za názory.

na1k
Člen | 288
+
0
-

Nechápu sice, proč máš pro více webů společné /app/*, ale podle mě je správné umístění v @layout.phtml

Pokud máš víc webů v jedné adr. struktuře, tak máš zřejmě i více layoutů, tudíž můžeš do každého vložit odlišnou reklamu. Jestli chceš mít v každém pohledu jinou reklamu, případně mít defaultní reklamu a jen u vybraných pohledů zobrazit jinou, použij v šablonách bloky, které překryjí reklamu v layoutu reklamou z šablony pohledu.

Druhá možnost by byla vykreslitelná komponenta, která by mohla (např. z Environment) vytáhnout informace o tom, na kterém webu se zrovna vykresluje a podle toho se vykreslit pokaždé jako jiná reklama. V takovém případě bys měl všechny reklamy u sebe (jednotlivé šablony ve složce komponenty) a pro výběr reklamy bys mohl použít i nějakou složitější funkci.

Ale stejně se mi nepozdává to tvé řešení více webů na jedné doméně. No a nebo to možná jen špatně chápu :)

MzK
Člen | 127
+
0
-

na1k: Představ si, že máš 5 webů se společným systémem (podobně jako wordpress).
Každý má svůj hosting, svoji doménu.
Najednou aktualizuješ systém (na localhostu). Upravíš chování aplikace (model,presenter) i její zobrazování (templates). To má všech 5 webů společné, liší se jen použitou db (název webu, články, komentáře) a CSS a obrázky /document_root/.

A já řeším, jak aktulizovat systém na 5ti různých FTP.
Čili přepsat složku /app/ KROMĚ config.ini. Čili klasický update systému.
Proto nechci dávat věci co se liší (html JS reklama) do /app/templates/ kvůli přepsání.

A řeším kam to dát no.

Ola
Člen | 385
+
0
-

Pokud máš výjimku na app/config.ini, mohl bys přidat i výjimku na např. app/templates/ad.phtml, a tuto šablonu potom v app/templates/@layout.phtml includovat.

Editoval Ola (20. 7. 2010 13:21)