Skocz do zawartości

Pytanie: Flash + cms lub php/css albo xml Czyli jak zrobić stronkę?


_haRRy

Rekomendowane odpowiedzi

Na wstępie chciałbym zaznaczyć, że moja znajomość flasha ogranicza się do prostych animacji + troszkę action scriptu .

Kumpel poprosił mnie abym wykonał szablon strony we falshu. Wiem, że mam to zrobić tak, aby on mógł później całą treść w php/css zakodować. W tym miejscu chciałbym poprosić o jakieś linki, porady i inne info na ten temat. Mam nadzieję, że ktoś zrozumiał o co mi chodzi. Pozdrawiam =]

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 14
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

http://www.comatool.com/

 

http://www.flashloaded.com/flashcomponents/fcms/

 

Tworzenie CMS'ow z wykorzystaniem Flash'a jest dla mnie troche dziwnym rozwiazaniem. Flash jest technologia wykorzystywana do tworzenia animacji, stron internetowych z wykorzystaniem np. plikow zewnetrznych {XML sie klania}, a nie do tworzenia systemow zarzadzania trescia - imo. Calkiem przyjemnie mozna stworzyc kod swojego prostego CMS'a z uzyciem PHP {korzystanie z plikow czy baz danych, w zaleznosci od tego co kto chce :P}.

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra, trochę się nie precyzyjnie wyraziłem. Nigdy nie tworzyłem stron we flashu i nie znam technik ich tworzenia. Chciałbym wiedzieć jak można w zrobić stronkę w taki sposób, aby informacje można było dodawać z zewnątrz (tak aby kumpel, który nie zna flasha, mógł ją bez problemów aktualizować). Nie znam się na php, cmsie xml ale w którą z tych metod najlepiej użyć z flashem (czyli tak aby się nie narobić, a zrobić)

Odnośnik do komentarza
Udostępnij na innych stronach

Wczytywanie z plikow imo.

 

Jezeli robisz cms'a opartego na php/mysql to sprawa jest latwa - kazdy news, artykul itp. jest dodawany do bazy i pozniej pobierany {naglowki, data dodania, tresc itp.}.

 

Nigdy nie robilem cms'a opartego na Flashu - trzeba bedzie kiedys sprobowac :]

 

Pzdr

Odnośnik do komentarza
Udostępnij na innych stronach

Heh jeżeli nigdy tego nie robiłeś to wątpię żeby ci przyszło tak łatwo ;)

 

Przede wszystkim musisz zapoznać się z linkowaniem w AS bo to będzie ci potrzebne do wysyłania odpowiednich danych z pól tekstowych.

 

Potem zapoznaj się z metodą wczytywania i wysyłania danych do zewnętrznych plików PHP , ASP , XML , TXT itp. zwą ją "LoadVars" ;)

 

Jak zapoznasz się z tym wszystkim będziesz miał o roczek więcej :P hehhe a tak na serio da się ogarnąć w tydzień jeżeli programowałeś już w czymkolwiek :P

 

Polecam FlashZone

 

http://www.flashzone.pl/itemcat/129/LoadVars/

http://www.flashzone.pl/itemcat/143/TextField/

http://www.flashzone.pl/itemcat/147/TextFormat/

http://www.flashzone.pl/itemcat/133/MovieClip/

 

Powodzenia ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki hax0r =] chyba o coś takiego mi chodziło. No co do czasu to mam jakieś 2 tygodnie. Ale co tam, dam radę zdolny jestem (tak mi sie na razie wydaje). Na szczęście coś już kiedyś programowałem i może to szybko poleci.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam, poniewaz zajmuje sie ta kwestia praktycznie na codzien, mysle ze moge co nieco pomoc :).

 

Po pierwsze wybor metody odczytywania danych trzeba przeprowadzic swiadomie, majac na wzgledzie stopien skomplikowania, ilosci i powtarzalnosci danych, z ktorych bedzie korzystal klip.

 

Jesli jest to proste kilka zmiennych, nie wystepujacych n-razy w tablicach badz innych strukturach, jak na przyklad pojedyncze linki do obrazkow albo tekst, swietnie sie sprawdza przytoczony powyzej obiekt LoadVars. Wowczas potrzebny jest skrypt php generujacy tekst w formacie zmienna1=1&zmienna2=2&zmienna3=ciag_znakow...

Taki plik php mozemy przekazac jako argument funckji load() obiektu LoadVars i zmienne te beda dostepne jako jego pola.

Analogiczny efekt mozemy osiagnac stosujac zamiast obiektu LoadVars, funckje loadVariables lub loadVariablesNum, ktore pozwalaja na wczytanie zmiennych do wskazanego movie clipa na wskazanym poziomie. Nie oferuja za to sila rzeczy innych metod klasy LoadVars.

 

Jesli jednak sprawa jest bardziej zlozona- na przyklad ma sie wyswietlac nieokreslona liczba newsow z obrazkami i komentarzami, albo lista produktow z wieloma parametrami i zdjeciami, duzo wydajniejsze jest przekazywanie danych przez format XML. Jest to bardzo popularny format stworzony specjalnie do tego wlasnie celu, majacy strukture oparta na znacznikach, wiec podobna do html, ale bardziej restrykcyjny pod wzgledem skladni. Jego zaleta jest fakt, ze wiekszosc jezykow (w tym actionscript) posiada specjalne, latwe w obsludze interfejsy do odczytu i zapisu danych do tych plikow. No i bardzo prosto jest podobny plik wygenerowac w php.

Nalezy wiec poprosic osobe zajmujaca sie cms'em, albo samemu napisac plik php, ktory wygeneruje xml z potrzebnymi danymi. Wazne, aby byl on zapisany w kodowaniu UTF-8, gdyz tylko z takim flash radzi sobie z polskimi znakami.

 

Poniewaz wszystko najlatwiej wytlumaczyc na przykladzie, posluze sie fragmentami kodu z jednej ze stron nad ktora ostatnio pracowalem.

XML generowany przez PHP wyglada w skrocie tak:





 

Natomiast juz we flashu czytam go piszac nastepujacy kod w pierwszej klatce sceny:

var products = new Array(); //tablica przechowujaca dane o produktach
var presentation:Number; //inna potrzebna do wlasciwego wyswietlania produktow zmienna

stop(); // zatrzymanie klipu na pierwszej klatce na czas wczytywania

var ap_xml:XML = new XML(); //utworzenie nowego obiektu XML
ap_xml.ignoreWhite = true; //ignorowanie znakow bialych - enterow, spacji, tabulacji
ap_xml.load('data.xml'); //zaladowanie pliku xml, moze to byc rowniez np. plik php generujacy tekst w formacie xml

ap_xml.onLoad = function(sucess) { //funkcja wykonujaca sie po zaladowaniu pliku
if (sucess) {
	parseFile(ap_xml);	//wywolanie funkcji parsujacej xml'a
	showArray(); //wywolanie funkcji wyswietlajacej odczytane dane
	gotoAndPlay(2); //przejscie po wszystkim do drugiej klatki klipu
}
};

//ponizsza funkcja pelni funkcje analogiczna do znanej chocby z jezyka c struktury danych struct- "obiekty" o zdefiniowanych tu polach przechowywane beda w tablicy produktow. Sposob w jaki mozna je tworzyc i dodawac do tablicy ponizej

function productData(foto_url:String, make:String, model:String, url:String, price:Number, promo:Number) {
this.foto_url = foto_url;
this.make = make;
this.model = model;
this.url = url;
this.price = price;
this.promo = promo;
}

function parseFile(xmlDoc_xml) { //funkcja parsujaca
temp = new Array(); //tablica tymczasowa do przechowywania parametrow

_root.presentation = xmlDoc_xml.firstChild.attributes["forma_prezentacji"]; //odczytujemy parametr bedacy w xml'u wartoscia atrybutu korzenia o nazwie "forma_prezentacji"
//firstChild na poziomie obiektu xml oznacza node-korzen, zas tablica asocjacyjna attributes przechowuje... jej atrybuty

trace("rodzaj prezentacji:"+_root.presentation); //weryfikacja

for (var a = 0; a		temp[0] = xmlDoc_xml.firstChild.childNodes[a].attributes["zdjecie"]; //odczytywanie kolejnych wartosci atrybutow nod i zapisywanie ich do tablicy tymczasowej
	temp[1] = xmlDoc_xml.firstChild.childNodes[a].attributes["marka"];
	temp[2] = xmlDoc_xml.firstChild.childNodes[a].attributes["model"];
	temp[3] = xmlDoc_xml.firstChild.childNodes[a].attributes["link"];
	temp[4] = xmlDoc_xml.firstChild.childNodes[a].attributes["cena"];
	temp[5] = xmlDoc_xml.firstChild.childNodes[a].attributes["typ_promoji"];

	_root.products.push(new productData(temp[0], temp[1], temp[2], temp[3], temp[4], temp[5]));
	//powyzej dodajemy na koniec tablicy produktow, za pomoca funkcji push, utworzana slowem kluczowym new  strukture z odpowiednio przypisanymi argumentami (indexy parametrow zapisanych do tempa odpowiadaja temu, co dany argument ma otrzymac
}
}

function showArray() { // wypisujemy zawartosc tablicy produktow
for (var z = 0; z		trace(products[z].foto_url);
	trace(products[z].make);
	trace(products[z].model);
	trace(products[z].url);
	trace(products[z].price);
	trace(products[z].promo);
}
}

 

Mam nadzieje, ze komentarze wystarcza, aby byl on w miare zrozumialy. Wszystkie metody i pola klasy XML mozna znalezc tutaj.

 

Z uwag, ktore jeszcze przychodza mi do glowy...

 

Piszac dynamicznie projekty we flashu warto stosowac klasy AS 2.0/3.0 linkowane zewnetrznie. Trzymajac sie przykladu z produktami:

-utworzyc movieclip o nazwie product

-utworzyc osobna klase (plik) o nazwie np. Product - folder zawierajacy go musi byc sciezka dopisana do sciezek klas AS w opcjach Flasha.

-w oknie biblioteki dla klipa product otworzyc "linkage"

-wskazac na klase Product, nadac klipowi jakis identyfikator (np. product)

-do obiektu pododawac potrzebne dynamicze pola tekstowe i np. movieclipy bedace kontenerami dla ladowanych obrazkow- wszytko z nadanymi nazwami instancji

-teraz mozna... skasowac klip ze sceny- wazne ze pozostaje w bibliotece i mozna go dodawac wielokrotnie funkcja attachMovie (na przyklad robiac petle po wszystkich indexach zapisanych w tablicy products)

-przy takim dodaniu klipa wywolywany jest kontruktor klasy Produkt, w ktorym mozemy wywolac fuckcje wypelniajaca pola tekstowe i ladujace obrazki (TextField.text, MovieClip.loadMovie).

 

To tyle z takich ogolnych wytycznych :). Tematu na pewno nie wyczerpalem - ledwo liznalem, ale mam nadzieje, ze podsunalem kilka uwag i wiesz czego szukac :).

Odnośnik do komentarza
Udostępnij na innych stronach

boolean = true; :)

 

Racja racje a co do XML to jak dla mnie tylko przekłady stron na wiele języków i galerie zdjęć w innych przypadkach radzę omijać :P po prostu dennie się to pisze a po paru firstChild'ach ma się dość wszystkiego :P

 

Pozdro

Odnośnik do komentarza
Udostępnij na innych stronach

serwus

flash CS3 ;) - wersja flash player 9.0.28 - AS 2.0 + AS 3.0

 

hax0r, dzięki ziom. A te CS to nie mają jakichś ogromnych wymagań sprzetowych ? jaka była poprzednia wersja ? i na ile aktualnąjest wersja flash mx 2004 ?

przepraszam reszte, że tak sie wtrąciłem , ale nie było sensu śmiecić nowym wątkiem :)

pozdrawiam i zycze powodzenia :)

Odnośnik do komentarza
Udostępnij na innych stronach

Wykonaj render całego filmu Shrek 3 na 486 DX 100 to pogadamy ;P czepiasz się Knysha'k lepiej bierz się za pisanie tego artykułu o usability !!! miał być miesiąc temu :P ja pamiętam xD

 

Bedzie, bedzie :). Obecnie dziergam zleconko, wiec nie mam zbytnio czasu :(

 

Sry za OT :P

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności