| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| random Registriert seit: Jun 2001
Beiträge: 834
| Verschiedene Anbieter-CSS handeln ...
Gegeben: Basisanwendung, die aus mehreren Modulen und Komponenten besteht. Für diese wird eine eigene CSSStyleDeclaration (CSS.swf) geladen. Innerhalb eine Konfigurators können sich Benutzer eigene Artikel konfektionieren. Die Konfiguratortemplates müssen mit Stylesheets der einzelnen Hersteller 'gebrandet' werden, mittels eigener CSS-Files (... können auch als *.swf vorkompiliert werden). Wie muss ich das anlegen bzw. wie kann ich innerhalb der Anwendung zwischen den einzelnen Stylesheets 'toggeln'?
__________________ ------------------- ciao, blue |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Mach doch ein CSS Template, das die einzelnen Hersteller dann implementieren (eine Art Protokoll). So musst du dann nie was im Code ändern.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #3 (permalink) |
| random Registriert seit: Jun 2001
Beiträge: 834
|
Hi Omega, anbei etwas Code zum Veranschaulichen: Code: <?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:VerticalLayout gap="40"/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.events.StyleEvent;
protected function b0_clickHandler(n:String):void
{
var style:CSSStyleDeclaration;
style = new CSSStyleDeclaration(
configurator.styleManager.loadStyleDeclarations2(
'hersteller' + n + 'CSS.swf' ) );
style.addEventListener(StyleEvent.COMPLETE, onComplete);
}
protected function onComplete(event:StyleEvent):void
{
trace( 'bing' );
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Platzieren Sie nichtvisuelle Elemente (z.*B. Dienste, Wertobjekte) hier -->
</fx:Declarations>
<s:HGroup>
<s:Button id="b0" label="Hersteller 1" click="b0_clickHandler('1')"/>
<s:Button id="b1" label="Hersteller 2" click="b0_clickHandler('2')"/>
<s:Button id="b2" label="Hersteller 3" click="b0_clickHandler('3')"/>
</s:HGroup>
<s:Panel>
<s:HGroup id="configurator">
<s:Button id="h0" label="Farbe" click="{trace( 'Farbe' )}"/>
<s:Button id="h1" label="Grösse" click="{trace( 'Grösse' )}"/>
<s:Button id="h2" label="Material" click="{trace( 'Material' )}"/>
</s:HGroup>
</s:Panel>
</s:Application> Code: /* CSS file hersteller1CSS.css */
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
s|Button {
color: #990000;
corner-radius: 2;
} Code: /* CSS file hersteller2CSS.css */
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
s|Button {
color: #FF0088;
corner-radius: 6;
} Code: /* CSS file hersteller3CSS.css */
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
s|Button {
color: #9900FF;
corner-radius: 10;
}
__________________ ------------------- ciao, blue |
| | |
| | #4 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Mal anders herum: was ist gleich und was ist unterschiedlich? Im einfachsten Fall hast du ja eine fixe Menge von Herstellern und Controls. Da müsstest du nur styleNames fixieren. Bei n Herstellern und m Controls wird das ganze schon interessanter.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #5 (permalink) |
| random Registriert seit: Jun 2001
Beiträge: 834
|
Die Basisanwendung und das Modul bleiben gleich. Nur das Stylesheet innerhalb der Code: <s:HGroup id="configurator"> Anzahl der Hersteller unbekannt.
__________________ ------------------- ciao, blue Geändert von blue (11-04-2011 um 17:56 Uhr) |
| | |
| | #6 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Es sollen nur die Buttons gestyled werden? Verstehe ich das Richtig?
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #7 (permalink) | |
| random Registriert seit: Jun 2001
Beiträge: 834
|
Buttons, Textfelder, weitere Panels und und und - also das volle Komponentenprogramm ![]() aber nur innerhalb Zitat:
__________________ ------------------- ciao, blue Geändert von blue (11-04-2011 um 18:24 Uhr) | |
| | |
| | #8 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Und das ist alles in miteinander vermengt? Oder gibt es dann eine Gruppe/Hierarchie pro Hersteller?
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #9 (permalink) |
| random Registriert seit: Jun 2001
Beiträge: 834
| Erweitert ... Code: /<?xml version="1.0" encoding="utf-8"?>
<!-- Konfigurator.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*">
<s:layout>
<s:VerticalLayout gap="40"/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.events.StyleEvent;
private var _currentStylesheet:CSSStyleDeclaration;
[Bindable('currentStylesheetChanged')]
public function get currentStylesheet():CSSStyleDeclaration
{
return _currentStylesheet;
}
public function set currentStylesheet( value:CSSStyleDeclaration ):void
{
if ( _currentStylesheet == value )
return;
_currentStylesheet = value;
dispatchEvent( new Event('currentStylesheet') );
}
protected function b0_clickHandler(n:String):void
{
currentStylesheet = new CSSStyleDeclaration(
styleManager.loadStyleDeclarations2( 'hersteller' + n + 'CSS.swf' ) );
currentStylesheet.addEventListener(StyleEvent.COMPLETE, onComplete);
}
protected function onComplete(event:StyleEvent):void
{
trace( 'bing' );
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Platzieren Sie nichtvisuelle Elemente (z.*B. Dienste, Wertobjekte) hier -->
</fx:Declarations>
<s:HGroup>
<s:Button id="b0" label="Hersteller 1" click="b0_clickHandler('1')"/>
<s:Button id="b1" label="Hersteller 2" click="b0_clickHandler('2')"/>
<s:Button id="b2" label="Hersteller 3" click="b0_clickHandler('3')"/>
</s:HGroup>
<local:ConfTemplate id="configurator" stylesheet="{currentStylesheet}"/>
</s:Application> Code: <?xml version="1.0" encoding="utf-8"?>
<!-- ConfTemplate.mxml * -->
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300"
title="KONFIGURATOR PANEL">
<fx:Script>
<![CDATA[
public var stylesheet:CSSStyleDeclaration;
]]>
</fx:Script>
<s:VGroup>
<s:HGroup>
<s:Button id="h0" label="Farbe" click="{trace( 'Farbe' )}"/>
<s:Button id="h1" label="Grösse" click="{trace( 'Grösse' )}"/>
<s:Button id="h2" label="Material" click="{trace( 'Material' )}"/>
</s:HGroup>
<mx:Image id="Artikelabbildung" width="379" height="128" x="9" y="129"/>
<s:RichText id="Artikelbeschreibung" width="377" height="120" x="11"/>
</s:VGroup>
</s:Panel> Code: /* CSS file hersteller1.css */
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
s|Button {
color: #990000;
corner-radius: 2;
}
s|RichText {
color: #0066AA;
} Code: /* CSS file hersteller2.css */
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
s|Button {
color: #FF0088;
corner-radius: 6;
}
s|RichText {
color: #AA0088;
} Code: /* CSS file hersteller3.css */
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
s|Button {
color: #9900FF;
corner-radius: 10;
}
s|RichText {
color: #99FF66;
}
__________________ ------------------- ciao, blue |
| | |
| | #10 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Es existeren dann pro Hersteller jeweils ein Panel?
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #11 (permalink) |
| random Registriert seit: Jun 2001
Beiträge: 834
|
Stell dir vor, das Panel ist ein Schuhkonfigurator. Schuh bleibt Schuh. Aber Hersteller Püppistraum will alles in einem rosalalapink-Style und BuffaloBillBoots wollen das Ganze in edler Wildwestromantik-Optik haben ... das Template als solches ändert sich ja nicht ...
__________________ ------------------- ciao, blue |
| | |
| | #12 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Ja, das war die Frage, wenn jeder sein eigenes Panel bekommt, kann man das via StyleSheets ändern. Code: @namespace local "*"; /* You want to stuff the components it in a namespace. */
/* Style the child with the id h0 */
local|ConfTemplate #h0 {
}
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #14 (permalink) |
| random Registriert seit: Jun 2001
Beiträge: 834
| Code: /* CSS file hersteller1.css */
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
.hersteller1 {
}
.hersteller1 s|Button {
color: #990000;
corner-radius: 2;
}
.hersteller1 s|RichText {
color: #0066AA;
}
__________________ ------------------- ciao, blue |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| XML; Verschiedene Bilder in verschiedene Container laden? | zheddo | Flash CS3 Professional | 2 | 27-01-2010 13:38 |
| Um welchen Font könnte es sich handeln? | seth1976 | Am Rande | 15 | 01-05-2006 22:09 |
| Click auf menuBarItem handeln ohne menuItems | Gerhard Laib | Flash MX 2004 | 0 | 14-10-2004 17:39 |
| Listbox-verschiedene Zeilen-verschiedene Farben | Wayld | Komponenten und SmartClips | 4 | 02-04-2004 08:11 |
| Komplexe Sounds in Flash handeln!? | Flashkoef | Flash 4 und Flash 5 | 5 | 12-04-2002 17:56 |