2012-05-11 8 views
8

Mam plik zewnętrzny JavaScript i CSS. Nie mam pomysłu, jak dodać ten plik do mojej strony. Używam DWT TBBs dla obu CT i PT.Jak dodać zewnętrzne pliki JavaScript lub CSS do naszej strony Tridion?

Piszę wewnętrzny kod CSS na mojej stronie TBB, aby uzyskać dane wyjściowe. ale nie wiem, jak zaimplementować JavaScript. Czy ktoś może mi pomóc?

Czy powinienem utworzyć ten plik jako komponent i wyrenderować go na mojej stronie? Czy to jest właściwy sposób? Jeśli tak, proszę powiedzieć mi, jakie kroki należy wykonać.

Odpowiedz

11

Jest to temat do szerokiej dyskusji, postaram się przedstawić różne możliwości:

  1. Tworzenie CSS & JS jako binarne komponenty, link do nich od szablonu DWT
  2. Tworzenie CSS & jak JS Binary Components, publikowania do serwera jako DCP, link z adresem URL do binarnego
  3. Tworzenie CSS & JS jak składniki tekstu, miejsca na górze strony, aby opublikować serwer, link URL do strony
  4. Kopiuj CSS & JS do serwera dostarczania (nie Tridion), link z adresem URL do css & js

Opcja nr 1 jest najłatwiejszy, z dość kilka wad.

  • Twórz komponenty multimedialne w Tridion za pomocą plików CSS i JS, których potrzebujesz.
  • zanotować URI następnie użyć czegoś takiego w swoim DWT:
<link href="tcm:27-2762" rel="stylesheet" type="text/css" /> 
<script src="tcm:27-2763" type="text/javascript"></script> 

Jeśli szablon używa domyślnego Zakończ Działania bryle budynku, następnie Tridion rozwiąże odniesień do tych plików binarnych i publikuje je z strona. Ma to efekt uboczny, że te pliki binarne będą publikowane z WSZYSTKIM stronami, które korzystają z tego samego szablonu.

Opcja nr 2 wymaga napisania dynamicznego szablonu komponentu, prawdopodobnie z pewnym kodem, aby określić, gdzie pliki zostaną opublikowane. Jest to bardziej zgodne z tym, co normalnie implementuję, ale w tym momencie nie polecałbym tego. Gdy będziesz rozwijać wiedzę Tridiona, poczujesz się wystarczająco komfortowo, aby zrobić to samemu. Za pomocą tej opcji można następnie opublikować pliki CSS/JS w określonej lokalizacji, a następnie użyć odniesień w DWT, aby zamiast używać identyfikatorów UM TCM (jak wyżej) używał adresu URL, na który pliki będą publikowane.

Opcja nr 3 wymaga utworzenia szablonu "komponentu kodu &", co oznacza prosty schemat z jednym dużym polem tekstowym (bez tekstu sformatowanego), w którym kopiuj/wklej zawartość swojego CSS lub JS. Następnie napisz prosty szablon komponentu, który po prostu wyświetli treść tak, jak jest. Coś jak @@[email protected]@. Wreszcie utworzyć 2 szablony stron (jeden z rozszerzeniem js, druga z rozszerzeniem .css) tylko jeden szablon DW:

<!-- TemplateBeginRepeat name="Components" --> 
@@RenderComponentPresentation()@@ 
<!-- TemplateEndRepeat --> 

ostatni, a na pewno nie najmniej (istnieje wiele sposobów na skórę ten kot), który może po prostu umieścić te pliki CSS/JS bezpośrednio na serwerze internetowym i dodać łącze w DWT do adresów URL, w których te pliki są dostępne.

Mam nadzieję, że daje to pewne możliwości. Pamiętaj, że w tym CSS/JS należy wykonać na poziomie Page Template Level (najlepiej w części strony), a nie w szablonie składników.

+0

dziękuję bardzo sir, mam wszystkie potrzebne informacje, jeszcze więcej, dziękuję raz jeszcze – Coder

+2

Jednym z powszechnych podejść do zapobiegania nadmiernemu publikowaniu związanemu z niektórymi z tych technik jest użycie dołączenia po stronie serwera dla linków CSS i JS w głowie element. –

+0

Dziękuję za wspaniałą odpowiedź – Patan

5

Istnieje wielka seria jak do artykułów, z bloków, które wyjaśnia to

Sprawdź te linki:

  1. http://blog.building-blocks.com/publishing-code-files-from-sdl-tridion
  2. http://blog.building-blocks.com/css-in-sdl-tridion-part-2-handling-image-references
  3. http://blog.building-blocks.com/tridion-tbb-automatically-minify-css-javascript-on-publish

Jeśli chcesz, aby rzeczy były naprawdę proste (ale nie polecam tego, ponieważ będzie on ponownie publikował twoje CSS lub JS przy każdym opublikowaniu strony). Można przechowywać CSS jako Multimedia składnika (i zanotować jego URI) i odwoływać się do niej w ten sposób w swoim DWT Układ strony:

<link rel="stylesheet" href="tcm:1-2-16" /> 

    or 

<script type="text/javascript" src="tcm:1-2-16"></script> 

Następnie użyć domyślnego Zakończ Działania upewnić się, że plik binarny jest opublikowany i linki zostały rozwiązane.

+0

tam używali C# TBB, aby to zrobić, czy nie możemy mieć innej opcji w DWT TBB? – Coder

+0

Proponuję zastosować jedno z powiązanych podejść, ale zaktualizowałem swoją odpowiedź z dodatkowym podejściem. Proszę również rozważyć zgłoszenie się do propozycji SDL Tridion na http://area51.stackexchange.com/proposals/38335/tridion?referrer=eo63snjNlUWNn9xqeeO2NA2 naprawdę potrzebujemy całej społeczności deweloperów Tridion, aby pomóc nam stworzyć wspaniałą platformę pytań i odpowiedzi –

Powiązane problemy