PDA

Zobacz pełną wersję : Menu we flash pobierające zmnienne z mainmenu?



dzynek
04-10-2009, 13:41
Witam :)

Chciałbym zrobić flashowe menu (umieszczane w templatce), które pobierało by zmienne z mainmenu (takie jak nazwy pozycji menu i linki do podstron) i generowało dynamiczne menu we flashu.

Dzięki temu zakładki bym sobie tworzył w panelu administracujnym Joomli (mainmenu), nie musiał bym ręcznie tego zmieniać we flashu.

Znalazłem na forum połowiczne rozwiązanie:



$id = JRequest::getVar('id',0);
$query = 'SELECT sectionid FROM jos_content WHERE id = '.$id;
$db =& JFactory::getDBO();
$db->setQuery( $query );
$data = $db->loadRow();
$id_sekcji = $data[0];

<script type="text/javascript">
// <![CDATA[
var so = new SWFObject("<?php echo $this->baseurl ?>/templates/szablon/swf/top_main.swf", "flash_header", "914", "306", "8", "#FFFFFF", false);
so.addVariable("id_sekcji","<? echo $id_sekcji; ?>");
so.addVariable("id","<? echo $id; ?>");
so.addParam("wmode", "opaque");
so.addParam("scale", "noscale");
so.write("header");
// ]]>
</script>
We flash'u mamy na _root zmienne id i id_sekcji


A jak zrobić żeby flash otrzymał zmienne przechowujące pozycje mainmenu i linki do podstron ?

Z góry dziekuję za pomoc i pozdrawiam :)

moje
04-10-2009, 13:57
A musi to byś flash? Nie można użyć jQuery, MooTools czy innych narzędzi tego typu?

dzynek
04-10-2009, 14:13
We flashu mogę robić różne fajne bajeranckie rzeczy, które sobie klient zażyczy.

moje
04-10-2009, 15:01
We flashu mogę robić różne fajne bajeranckie rzeczy, które sobie klient zażyczy.
A w jQuery i MooTools, to się nie da?

Raz, że fajniejsze rzeczy się da, szybciej się ładuje jak flash, łatwiej wprowadzić modyfikację (wywołaną choćby widzi mi się klienta), nie zacina przewijania strony (używając rolki w myszce).

Wszystko masz opisane w dokumentacji i api, nie zapominaj, że można jeszcze zerknąć do kodu plików modułu mainmenu.

dzynek
04-10-2009, 15:43
Aleś Ty uparty :p

1. Nie znam się na java scripcie, ale za to znam na flashu.
2. Flash jest łatwiejszy bo oferuje środowisko graficzne w którym sobie mogę narysować, z animować różne rzeczy a to o czym Ty mówisz to trzeba wszystko chyba ręcznie programować...
3. Poza tym żeby zrobić takie menu we java scripcie to też trzeba jakoś pobrać te dane z mainmenu. I to mi jest właśnie potrzebne, jakie dane odpowiadają za wyswietlanie menu w mainmenu.

Próbuje na różne sposoby i nieudaje mi się, a przeważnie doprowadzam do błedu i mi się strona nie wyświetla :(

Patrzyłem tez do modułu mainmenu ale nie udało mi się tego znaleść, nie znam się dobrze na php :(

moje
04-10-2009, 16:26
To, że oferuje środowisko graficzne, nie oznacza, że jest łatwiejszy. Pracując na środowisku trzeba się liczyć z jego ograniczeniami.

Bo strona do działania potrzebuje modułu mainmenu, danych z mainmenu się nie pobiera, tylko modyfikuje się kod mainmenu, korzystając z nadpisywania szablonem.
Wstawienie kodu odpowiedzialnego za wyświetlanie linków do pliku swf nic Ci nie da, gdyż musiałbyś wstawić na sztywno html'owy kod linku.

Nie da się zastąpić plikiem swf modułu mainmenu.
Gdzieś widziałem CMS'a całego w flash'u ale nie było tam ani jednego pliku swf, tylko php i activsript,
Taki o to sposobem możesz przerobić menu korzystając z nadpisywania szablonem.

dzynek
04-10-2009, 20:13
Ja się tam za bardzo nie znam ale wydaje mi się że się da. :p

Ja rozumiem to tak.

Jeżeli wstawiam menu flashowe do szablonu ze sztywnymi linkami (które oczywiście muszę wcześniej zrobić w panelu administratora mainmenu) to wszystko działa.

Potem wyłączam moduł mainmenu (moduły) dalej działa.

To teraz tylko wyciągnąć te dane jakoś z Joomli o zakładkach i linkach i przesłać do flasha (sposobem na samej górze) i wola.. powinno działać :D

Ten kod powyżej przesyła id aktywnego linka (czy coś tam), a jeżeli to można zrobić to czemu nie wyciągnąć zakładki i linki z mainmenu?

Zamiast przepisywać linki do flasha pobierał bym je z Joomli.

moje
04-10-2009, 20:23
Sztywny link, to ten w html'u, a nie ten w php.

To albo przesyła kod aktywnego linku albo coś tam.

Pisałem wyżej, jak to zrobić.

dzynek
05-10-2009, 21:37
Gdzieś widziałem CMS'a całego w flash'u ale nie było tam ani jednego pliku swf, tylko php i activsript,Czy ja dobrze rozumiem? Piszesz mi że widziałeś CMS Flash bez SWF? Przecież Flash to swf!

Ja widziałem kilka CMS-ów Flashowych z "SWF" i działały dobrze.

Za Flashem przemawia również to że jest wektorowy co za tym idzie mało zajmuje i jest skalowalny ;)

A dlaczego nie mogę pobrać linku z PHP lub bazy danych? Ewentualnie pobrać potrzebne dane i przerobić je na link HTML we flashu.

Czy nikt inny nie mógł by mi pomóc?

moje
06-10-2009, 18:37
Widziałeś kilka CMS'ów Flash'owych czy stron z Flash'em?

Taki CMS musi opierać się o kod active script, gdyż w samy plik swf jest sztwywno określony link html.
Żeby nie było, że jestem gołosłowny to proszę:
http://flashdance-cms.os-cms.pl/
Robiąc podgląd strony zobaczysz kod tego Flash'a.


... Za Flashem przemawia również to że jest wektorowy co za tym idzie mało zajmuje i jest skalowalny ;) ...
Jeśli jesteś zawodowym grafikiem, to z momentem tej wypowiedzi powinieneś dobrowolnie zaprzestać wykonywania zawodu.

Flash nie jest technika wektorową tylko rastrową i nie jest skalowalny! A do tego Flash zajmuje dużo miejsca!

SVG, toj est technika wektorowa i jest w pełni skalowalna i to SVG zajmuje mało miejsca.

Flash to technologia, a swf to tylko plik.
Widać, że nie znasz dobrze na tym co piszesz i co chcesz zrobić.


... A dlaczego nie mogę pobrać linku z PHP lub bazy danych? Ewentualnie pobrać potrzebne dane i przerobić je na link HTML we flashu. ...
Bo nie wiesz jak to działa.
Tym bardziej nie wiesz co to jest framework, co to MVC, nie znasz się na programowaniu, a bez tego ani rusz.


... Czy nikt inny nie mógł by mi pomóc?
Na nic Ci czyjakolwiek pomoc, jeśli nie wiesz co się pisze w odpowiedzi na Twoje pytanie, a odpowiedzi już Ci udzieliłem wyżej.

Jola
07-10-2009, 05:48
Nie chcę się wtrącać do tak specjalistycznej dyskusji, powiem tylko, że w kodzie @dzynek jest błąd. Musi być tak:

$id = JRequest::getVar('id', 0, '', 'int');
//nie JRequest::getVar('id',0); bo wynik może wyglądać tak 1:tytul
if ($id){ //tzn różny od 0
$query = 'SELECT sectionid FROM jos_content WHERE id = '.$id;
$db =& JFactory::getDBO();
$db->setQuery( $query );
$id_sekcji = $db->loadResult();
}
else {
$id = 1; //domyslna wartość
$id_sekcji =1; //domyslna wartość
}

dzynek
07-10-2009, 08:42
Flash nie jest technika wektorową tylko rastrową i nie jest skalowalny! A do tego Flash zajmuje dużo miejsca!No to patrz http://studio.vveb.pl/pliki/test.swf

Możesz go powiększać i nie zobaczysz pikselozy jak przy rastrowej grafice. :)

Poza tym całość zajmuje 2,6 KB więc na pewno mniej jak by był np. JPG.

I jak flash nie jest wektorowy to jak wyjaśnisz powyższy przykład?

Dzięki Jola za poprawę błędu. A nie wiesz może jak rozwiązać mój problem?

moje
07-10-2009, 14:20
Action Script ;)

EDIT:

Poprawione.

dzynek
07-10-2009, 16:15
Flash jest wectorem!... można rysować linie proste, krzywe curve, kółka, kwadraty, ma punkty kontrolne i takie tam...

stasio
07-10-2009, 16:22
przede wszystkim flash jest wektorówką i to jego zaleta, o ile sie nie myle dopiero w wersji 5 weszło importowanie bitmap... flash nie zajmuje dużo mijsca jak sie go robi z głową....
eh szkoda gadać :|

Jola
07-10-2009, 17:42
@dzynek - do tabeli jos_menu zaglądałeś?

tatuazyk
19-01-2010, 01:20
Nie rozumiem zamieszania... nie wiesz.. nie udzielaj się i nie twórz szumu, jeden się upiera na js drugi czy to wektor( hmm a próbowałeś kiedyś...;))... porażka "fachowców"
Pytanie jest przeciez proste..
ja.. nie jestem fachowcem, ale przydałby sie.. taki co by pobral z bazy linki(menu) i kazał php-owi zapisać je do xml-a a wtedy juz prosto.. leci z górki, swf sterowany xml-em... to jest niejest wielkie nowatorstwo, da się,
moznaby bylo to potem rozbudowywać, zeby np. ten xml zawierał info o knkretnych ikonkachprzypisanych do konkretnego plinka w menu, trzeba by był jakąś konfigurację dać w panelu admina.
Ale ta prosta - pierwsza metoda dałaby ci powtarzalny movie_clip o ilości powtórzeń decydowalby xml napisany przez php-a....a movie_clip byłby sobie animowany, jak sobie kolega zapragnie
tak sobie tylko gdybam......
Mogę się mylić
ale osobiście wybralbym jednak jQuery.. np fisheye menu, a ikonki w css-ie podopisywać, na sztywno.. a co...w koncu, jak często zmieniałbyć główne(!) menu...
pozdro

tatuazyk
19-01-2010, 01:31
dadatek.....
jak sie trafi kozaczyna co kopsa wydolkę na tyle, zeby styrać w/w php-a-->xml-a, daj cyne.. pokminimy

zwiastun
19-01-2010, 01:41
1. To nie więzienie, ani melina, żeby grypsować!
2. Jeśli coś można bardziej zaawansowanego z Joomla i Flashem, to o ile wiem, wydawnictwo Packt Publishing opublikowało dziełko na ten temat. Poszukać, kupić, postudiować.

tatuazyk
19-01-2010, 09:56
1. A co, pobijesz mnie?
2. Padło proste pytanie, postarałem sie dać w marę mojej wiedzy udzielić możliwie precyzyjnej odpowiedzi i kreatywnie zaoferowałem pomoc w rozwiązaniu problemu.
Wiesz jak zrobić tą część, której ja nie daję radę - to zrób i nie będzie mnie obchodziło, jakim slangiem mówisz, czy jesteś rudy i seplenisz, mój szacunek będzie dla wiedzy, którą posiadasz i chęci pomocy, chęci podzielenia się tą wiedzą.
Nie pomogłeś, każesz płacić komuś, to po co to !darmowe forum, masz z tego procent?
"kupić, postudiować." - to brzmi wręcz, jak rozkaz
Potrafisz napisać - napisz, ja dorobię resztę, rozwiążmy TEN problem użytkownika.
http://www.tonymarston.net/php-mysql/dom.html - może to pomoże, dla znających się, tylko nie moja głowa, jak to ogarnąć pod joomlę, za cienki jestem(przepraszam za mój potoczny język)
+ to (np)
http://www.ffiles.com/flash/menus/flashmo_xml_menu_004_1754.html
Nie trzeba kupować,płacić... wystarczy uszanować licencję dobrych ludzi