vinTagesworld Flash forum
door furax op 15-02-07 om 18:09
Hoi,
Ik heb een simpele vraag maar met een nogal moeilijk antwoord denk ik.
Namelijk: ik heb een flash CMS nodig, een professioneel kant-en-klaar syteem is geen optie (moet betaalbaar blijven voor de klant).
Wat moet er gebeuren?:
- gaat vooral om een fotoalbum waarvan de foto's moeten kunnen worden vervangen door iemand die niets van computers kent (relatief gezien).
- Tekst moet ook kunnen worden aangepast.
Hetgeen ik al gehoord heb is: de url's van de jpg's inladen via XML om het dynamisch te houden. Zo hoeft de klant enkel maar een (voor hem dan) tekstbestandje te openen en een nieuwe url te plaatsen.
Wat is nu mijn precieze vraag:
- Heeft iemand een idee hoe dit op te lossen? Ik hoef geen voorgekauwde code, alleen een richting waarin ik verder moet zoeken. Heb absoluut nog geen ervaring met eender welk CMS syteem of XML maar dat zal op zich geen probleem vormen denk ik.
laatst ge-edit op: 15-02-07 om 18:10
Een cms in flash ?
Een cms moet naar een database of textfile kunnen schrijven om zn data "te bewaren/opslaan"
Flash kan dat dus niet (want is clientside), er zal dus altijd een serverside taal tussen moeten zitten, php bijvoorbeeld.
Je zou mn tut eens kunnen doornemen over
flash met php en mySql.
Je hoeft natuurlijk geen database te hebben, een textbestand gaat ook, alleen is een database véél gemakkelijker te updaten dan een textfile.
Als het goed is dat de "klant" zelf zn XML edit, dan heb je geen CMS nodig.
In de xml zou je alleen een tag nodig hebben met de url van de jpg.
vb:
code
<slideShow>
<pad>images/aap.jpg</pad>
<pad>images/noot.jpg</pad>
<pad>images/vuur.jpg</pad>
</slideShow>
Met een for loop in flash, lees je alle childnodes uit voor je slideshow, na elke vertoning van een foto verhoog je de waarde in de array, en toont desbetreffende foto.
Over het inlezen van XML heb ik een tut staan op sitemasters.
Je hebt het ook over een tekstbestand, maar
code
foto1=images/aap.jpg&foto2=images/noot.jpg&images/vuur.jpg
leest natuurlijk 500 keer moeilijker dan zo'n XML bestand waar alles deftig onder elkaar staat.
Long story short: (ik ga er even vanuit dat je ECHT een flash CMS moet hebben)
Ik zou een database gebruiken.
Je kan via sendAndLoad de paths naar de fotos in die database kunnen editten/deleten/updaten.
Het tweede stukje (vind ik verotte intresant) is het uploaden via flash naar je php.
Ik ben daar wel een beetje mee bezig geweest, maar ben nog niet verder gekomen dan het tracen van de variables van het "te uploaden" bestand.
(filesize/type/etc etc)
De bezoekers krijgen een swf te zien die fotos toont adh van een door php geechoede XML file.
door furax op 15-02-07 om 19:15
Hoi, ik heb ondertussen nog even verder gesnuffeld op het web en kwam hier op uit:
http://www.calypsus.be/simpleviewer/simpleviewer/index.html
Hetgeen er dus moet gebeuren:
Klant "koopt" website bij ons, en wilt bijvoorbeeld elke week een ander menu op zen site hebben. Kent bijna niets van computers dus daarom dacht ik aan een tekstbestandje of iets dergelijks (die iets dergelijks is dus XML, zo werkt bovenstaand voorbeeld ook). Dat lijkt me nog doenbaar om als complete leek, een XML te openen in kladblok, een lijntje bijvoegen, opslaan en uploaden naar je host. Alhoewel..
laatst ge-edit op: 15-02-07 om 19:16
Maar je kan ook met fopen() en fwrite() een xml/text bestand aanpassen (php)
Je ZOU dus bijvoorbeeld de admin swf de xml kunnen laten inladen, maar dan niet als fotos, maar gewoon als text in textvelden.
actionscript codefor(i=0; i<childnodes.length; i++){
i++;
a++; //deze gebruik in in het volgende code blokje
//createTextField("naam"+i, .....
this["naam"+i].text = waarde vanuit die xml
//evt ook een delete knop erbij maken
}
//uiteindelijk heb je dan dus een zooitje velden onder elkaar (met delete knopjes)
Maak ook een knop die X aantal textvelden bijplaatst voor het geval er juist plaatjes BIJ moeten komen ipv weggehaald worden.
actionscript codeknop.onRelease = function(){
for(i=a; i<aantalNiewAanTeMakenVeldjes.text; i++){
//createTextField (met de instancenaam+a
}
}
En uiteindelijk een save button met een functie die via loadVars oid alle tekst inputs overpompt naar php, waar php op zijn beurt de bestaande XML overschrijft via fopen()
(ik ben niet echt thuis in
fopen, maar geweldig moeilijk is het niet)
Nu alleen nog iets om die fotos te uploaden, dat gaat wel via flash+php, alleen lukt het php gedeelte me nog niet(nog niet echt goed in verdiept)
mischien is het zelfs wel geil als je gewoon in flash een dragNdrop kan maken !!
Tis dat ik het nogal druk heb, anders ging ik zoiets wel verzinnen/scripten (als het mogelijk is).
laatst ge-edit op: 15-02-07 om 19:37
door furax op 15-02-07 om 19:49
Ik denk dat ik het een beetje verkeerd heb uitgelegd ;)
Wat de bedoeling is is dat de
gebruiker een flash bestand kan aanpassen.
Niet dat de CMS zelf in flash is gemaakt (al breng je me nu wel op ideeën

)
Waarom zou de gebruiker de flash moeten aanpassen, nou snap ik er niks meer van
door furax op 15-02-07 om 19:55
Welja, stel: je hebt een fotoalbum gemaakt in flash dat op die persoon zijn website staat. Nu wil die persoon af en toe daar een fotootje bijplaatsen of eentje vervangen. Maar die kent niets van flash en weet moet moeite hoe hij zijn pc aanzet. Dus hoe zorg je ervoor dat hij er toch in slaagt om zelf een foto toe te voegen aan die gallerij die in flash is gemaakt?
Mjah, je hebt zoieso php nodig (of andere serverside scripttaal)
Om dan toch maar even in de flash stemming te blijven heb ik stiekum toch een héél simpel voorbeeldje gemaakt.
Het voorbeeld doet ongeveer wat ik eerder uitlegde, alleen het hele daadwerkelijke uploaden zit er niet bij.
Het voorbeeld is echt zeer basic en onveilig, want ik controleer niet op de extentie etc, maar daar kom je vast zelf wel uit.
mn voorbeeldje maakt gebruik van
dit XML bestand.
//google friendy spam :p
actionscript codeimport flash.net.FileReference; //nodig voor de upload meuk
Stage.scaleMode = "noscale";
//lees de XML uit
function loadXML(loaded) {
if (loaded) {
aantal = this.firstChild.childNodes.length;
for (i=0; i<aantal; i++) {
fotoUrl = this.firstChild.childNodes[i].firstChild.nodeValue;
_root.createTextField("naam"+i, i, 10, 20*i+20, 150, 20);
_root["naam"+i].text = fotoUrl;
//en attache evt een delete button
}
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("admin.xml");
//creer nieuw upload meuk
maakTextVeld.onRelease = function() {
maakInputs(i);
i++;
};
maakInputs = function (i) {
_root.createTextField("naam"+i, this.getNextHighestDepth(), 10, i*20+20, 150, 20);
_root["naam"+i].type = "input";
_root["naam"+i].border = true;
_root["naam"+i].text = "klik en selecteer file";
_root["naam"+i].onSetFocus = function() {
dezeNaam = _root["naam"+i];
browsen(dezeNaam);
};
};
browsen = function (dezeNaam) {
upload = new Object();
upload.onSelect = function(bestand) {
dezeNaam.text = bestand.name;
};
ref = new FileReference();
ref.addListener(upload);
ref.browse();
};
//saven
opslaan.onRelease = function() {
save.autoSize = true;
save.text = "De onderstaande variabelen naar php sturen via loadVars ofzo, en daar verder afhandelen";
save.text += newline;
for (o=0; o<i; o++) {
save.text += newline;
save.text += _root["naam"+o].text;
}
};
/*
Als je via flash wilt uploaden komt er nog een hoop meuk meer bij kijken, maar het ging me
alleen om het voorbeeld.
*/
simpel flash cms voorbeeldje
door furax op 16-02-07 om 16:28
Hhhm, bedankt hoor, ik ga het eens van naderbij bekijken. Zelfs al gebruiken we het niet voor deze klant, toch zeer nuttig om te weten.
Ik ben er nog mee bezig geweest, hij zet nu echt alles in de xml.
Als ik eens zin heb duik ik nog eens in die upload meuk en dan is het een kewl dingetje.
Mss eens een categorie "koop flash apps" maken
Dit topic is gesloten.