# 把EC-CUBE中的商品詳細頁的圖片換成FLASH小相簿

- URL: https://justfly.idv.tw/%e6%8a%8aec-cube%e4%b8%ad%e7%9a%84%e5%95%86%e5%93%81%e8%a9%b3%e7%b4%b0%e9%a0%81%e7%9a%84%e5%9c%96%e7%89%87%e6%8f%9b%e6%88%90flash%e5%b0%8f%e7%9b%b8%e7%b0%bf/
- 日期: 2008-10-24
- 分類: WEB&amp;RIA
- 標籤: ec-cube, flash, php

會這樣做是希望可以在原本放圖片的地方可以變成一個小相簿

如果會AJAX可能會更好做吧

但是一方面我沒真寫過AJAX

一方面也想在多多複習一下FLASH練習一下AS3

- 更改\html\user_data\packages\mystyle\detail.tal新增一個FLASH的DIV取代原本的圖片,並把商品的附註的圖片顯示拿掉

```

```

```

```

- 在後台上傳附註圖片(這時前台不會顯示了,但是會把直傳給FLASH)

- 主影格AS:

```
import flash.display.*;
import flash.events.*;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP;

var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;

this.loaderInfo.addEventListener(Event.COMPLETE,init);

function init(e:Event) {
	if (paramObj["mainpic"]) {
		var me:MouseEvent = new MouseEvent("CLICK");
		loadmainpic(me);
	}
	p_btn.buttonMode = true;
	p_btn.addEventListener(MouseEvent.CLICK,loadmainpic);
	p_btn.visible = false;
	for (var i=1; i
```

- ldr_mc的主影格AS幾乎是拿[書](http://qops.blogspot.com/2007/11/flash-cs3-actionscript-30.html)上的範例來用:

```
import fl.transitions.*;
import fl.transitions.easing.*;

var tf:Function = Elastic.easeInOut;
var ldr:Loader;
var req:URLRequest;
var ldrInfo:LoaderInfo;
var oldURL:String;
// 一開始設定為隱藏
this.visible = false;

function startLoad(url:String) {
	if(url==oldURL){
		return;
	}else{
		oldURL = url;
	}
	if(ldr){
		this.removeChild(ldr);
		ldrInfo.removeEventListener(ProgressEvent.PROGRESS, onProgress);
		ldrInfo.removeEventListener(Event.COMPLETE, onComplete);
	}
	this.visible = true;
	perc_txt.text = "";
	bg_mc.tw ? bg_mc.tw.stop() : null;
	bg_mc.th ? bg_mc.th.stop() : null;
	bg_mc.tw = new Tween
		(bg_mc, "width", tf, bg_mc.width, 45, 1, true);
	bg_mc.th = new Tween
		(bg_mc, "height", tf, bg_mc.height, 45, 1, true);

	bg_mc.tw.addEventListener(TweenEvent.MOTION_FINISH,
		function(e:TweenEvent){
			ldr = new Loader();
			addChild(ldr);
			ldr.visible = false;
			req = new URLRequest(url);
			ldr.load(req);
			ldrInfo = ldr.contentLoaderInfo;
			ldrInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
			ldrInfo.addEventListener(Event.COMPLETE, onComplete);
		}
	);
}

function onProgress(e:ProgressEvent) {
	var a:uint = e.target.bytesLoaded;
	var b:uint = e.target.bytesTotal;
	perc_txt.text =  int(a/b*100).toString();
}

function onComplete(e:Event):void {
	var cw:int = e.target.width;
	var ch:int = e.target.height;
	perc_txt.text = "";
	bg_mc.tw ? bg_mc.tw.stop() : null;
	bg_mc.th ? bg_mc.th.stop() : null;
	bg_mc.tw = new Tween
		(bg_mc, "width", tf, bg_mc.width, cw+7, 1, true);
	bg_mc.th = new Tween
		(bg_mc, "height", tf, bg_mc.height, ch+7, 1, true);
	bg_mc.tw.addEventListener(TweenEvent.MOTION_FINISH,
		function(e:TweenEvent){
			ldr.x = -ldr.width/2;
			ldr.y = -ldr.height/2;
			ldr.visible = true;
		}
	);
}
```

時間不夠要下班了

新來的設計江連さん不喜歡有動態@@

目前也只是堪用而已(所以整個素....)

下禮拜再來細修吧!!
