• Hallo liebe Community,

    ich versuche eine Karte mit include einzubinden, aber nur, wenn ein Wert in einer anderen XML-Datei auf true steht.
    Die Dokumentation sagt zwar, dass man im include eine Kondition setzen könnte, das will aber leider nicht richtig funktionieren.

    Folgendes Szenario:

    main.xml - beinhaltet include config.xml, menu.xml und map.xml
    config.xml - hat einen Wert "startup_map_on = true/false"

    Jetzt möchte ich gern in der main.xml sagen, dass die map.xml nur geladen werden soll, wenn "startup_map_on" auf true steht.

    Ich habe bereits versucht, eine action mit loadpano hinzuzufügen, aber das hat nicht funktioniert. Egal ob true oder false, die map.xml wurde nicht geladen.

    Code
    <include url="%SWFPATH%/menu.xml">
    <include url="%SWFPATH%/config.xml">
    <action name="ladekarte">
    		if(pano_settings.startup_map_on,
    			loadpano('%SWFPATH%/map/map.xml');
    		);
    </action>

    Versucht habe ich noch folgendes:

    Code
    <include url="%SWFPATH%/menu.xml">
    <include url="%SWFPATH%/config.xml">
    <include url="%SWFPATH%/map/map.xml" if="pano_settings.startup_map_on == true">

    Gibt es dazu evtl. eine Lösung?

    Gruß
    Elygor77

  • vermute du kannst pano_settings nicht benutzen,
    weil das config.xml noch gar nicht geparst wurde.
    vermutlich geschieht das erst, nachdem alles inkludiert wurde,
    inkl entscheid map nicht zu laden, weil variable nicht gesetzt.

    dh konkret für dich:
    du musst pano_settings direkt im main definieren und nicht in einem separaten config.
    oder du kannst versuchen das ganze zu verschachteln, dh config.xml in einem übergeordneten main includen
    und von dort aus das main includen:
    <include url="%SWFPATH%/config.xml">
    <include url="%SWFPATH%/main.xml>
    im main dann alles wie gehabt (ohne das config nochmals zu includen natürlich)

  • Danke für eure Antworten, ihr hattet Recht.

    Ich habe jetzt in der index.php folgendes eingetragen:

    Code
    embedpano({swf:"tour.swf", xml:"tour.xml", id:"krpanoObject", initvars:{startup_map_on:"true"}, target:"pano", html5:"prefer", passQueryParameters:true});

    Und an anderer Stelle:

    Code
    <include url="%SWFPATH%/map/map.xml" if="startup_map_on">

    Damit funktioniert es :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!