...
- /plugin/com.suncode.plugin-tutorial/hello
Info Wszystkie widoki zwracane przez wtyczkę są domyślnie dekorowane (za wyjątkiem żądań z nagłówkiem X-Requested-With: XMLHTTPREQUEST.
Jeżeli nie chcemy dekorować naszej strony, musimy dodać parametr: decorator=none (np: /plugin/com.suncode.plugin-tutorial/hello?decorator=none) dzięki czemu otrzymamy czystą stronę:
/plugin/com.suncode.plugin-tutorial/api/hello
Code Block language javascript title json {"say":"hello","date":1399446110308}
Serwowanie statycznych zasobów
Wtyczki mogą serwować dowolne zasoby statyczne (skrypty, zdjęcia etc.). Zasoby takie muszą znajdować się w katalogu /resources:
Zasoby statyczne mogą być pobierane przy użyciu 2 adresów URL (różniących się polityką cache):
- /plugin/{id}/resources/{resource} - zasoby odczytane w ten sposób nie są cache'owane:
- (np. plugin/com.suncode.plugin-tutorial/resources/data.js)
- /plugin/{id}/resources/{timestamp}/{resource} - zasoby odczytane w ten sposób są cache'owane(do aktualizacji wtyczki, kiedy zmienia się również link do zasobu):
- (np. plugin/com.suncode.plugin-tutorial/resources/1399542968944/data.js)
gdzie:
- id - identyfikator wtyczki
- resource - adres zasobu wewnątrz wtyczki relatywny do /resources
- timestamp - data ostatniej aktualizacji wtyczki
Dynamiczny link do zasobów w widokach Freemarker
Dynamiczny link do zasobów tworzony jest poprzez dodanie do adresu URL daty ostatniej aktualizacji wtyczki. W widokach Freemarker można ułatwić sobie pobieranie gotowego linku:
| Tip |
|---|
Wykorzystany niżej obiekt i makro są opisane w dokumentacji tworzenia widoków Freemarker. |
| Code Block | ||||
|---|---|---|---|---|
| ||||
<!-- Pomocnicze makro -->
<#import "/plugin.ftl" as plugin/>
<!-- Wykorzystując obiekt pluginContext -->
<script src="${pluginContext.pluginResourcesPath}/data.js"></script>
<!-- Wykorzystując pomocnicze makro -->
<script src="<@plugin.resourceUrl 'data.js'/>"></script> |



