Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: krpano.com Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Dienstag, 5. März 2019, 15:37

Problem mit initvars

Hi,
ich habe ein Problem mit dem Einbinden von Plugins. Die betreffende Codezeile sieht wie folgt aus:

Quellcode

1
embedpano(..., initvars:{pluginpath:"../../../krpano/plugins"});

Hier muss ich einen relativen Pfad nutzen. Dieser wird aber nicht genommen und bringt mir einen Fehler.
Wenn ich einen absoluten Pfad verwende, z.B. so

Quellcode

1
embedpano(..., initvars:{pluginpath:"http://meinedomain.de/panos/krpano/plugins"});

funktioniert es. Warum nimmt initvars keine relativen Pfade?
Würde mich über einen Lösungsansatz freuen, danke.
MfG

2

Mittwoch, 6. März 2019, 10:05

Hi,

bitte um ein vollständiges Beispiel.

Das Problem liegt eher nicht am initvars selbst.

Schöne Grüße,
Klaus

3

Donnerstag, 7. März 2019, 08:27

Hi,
die vollständige index.php sieht bei mir folgendermaßen aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php

define('_JEXEC', 1);
define('JPATH_BASE', '../../../../../');
require_once JPATH_BASE . 'includes/defines.php';
require_once JPATH_BASE . 'includes/framework.php';

$app = JFactory::getApplication('site')->initialise();
$lang = JFactory::getLanguage();
$url = getenv('HTTP_REFERER');
$url_tag = strpos($url, '/en/');
if ($url_tag === false)
{
	$lang_tag = "de-DE";
}
else
{
	$lang_tag = "en-GB";
}

$lang->load('tpl_krpano', JPATH_SITE, $lang_tag, true);

?>

<!DOCTYPE html>
<html>
<head>
	<title>Mein Panorama</title>
	<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, viewport-fit=cover" />
	<meta name="apple-mobile-web-app-capable" content="yes" />
	<meta name="apple-mobile-web-app-status-bar-style" content="black" />
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
	<meta http-equiv="x-ua-compatible" content="IE=edge" />
	<style>
		@-ms-viewport { width:device-width; }
		@media only screen and (min-device-width:800px) { html { overflow:hidden; } }
		html { height:100%; }
		body { height:100%; overflow:hidden; margin:0; padding:0; font-family:Arial, Helvetica, sans-serif; font-size:16px; color:#FFFFFF; background-color:#000000; }
	</style>
</head>
<body>

<script src="<?php echo JPATH_BASE; ?>templates/krpano/js/tour.js"></script>

<div id="pano" style="width:100%;height:100%;">
	<noscript><table style="width:100%;height:100%;"><tr style="vertical-align:middle;"><td><div style="text-align:center;">ERROR:<br/><br/>Javascript not activated<br/><br/></div></td></tr></table></noscript>
	<script>
		embedpano({swf:"<?php echo JPATH_BASE; ?>templates/krpano/js/tour.swf", xml:"pano-<?php echo $lang_tag; ?>.xml", target:"pano", html5:"auto", mobilescale:1.0, passQueryParameters:true, initvars:{pluginpath:"<?php echo JPATH_BASE; ?>templates/krpano/krpano/plugins"}});
	</script>
</div>

</body>
</html>

Als Webseite allgemein dient hier das CMS Joomla. Ich möchte mehrere Panoramen auf der Webseite darstellen, jedoch möchte ich die benötigen krpano-Dateien nicht für jedes Panorama extra und mehrfach vorhalten, sondern nur einmal, was ja auch das Update erleichtert.
Also habe ich die index.php etwas umgeschrieben. Im oberen Teil der Seite definieren ich mit

Quellcode

1
define('JPATH_BASE', '../../../../../');

den relativen Pfad, wo die krpano-Dateien liegen. Im unteren Teil rufe ich die Konstante dann auf. Das funktioniert auch bei den ersten beiden, nur bei initvars-Aufruf bringt es mir dann folgende Fehlermeldung.

Quellcode

1
../../../../../templates/krpano/krpano/skin/../../../../../templates/krpano/krpano/plugins/webvr.xml - Loading failed! (404)

4

Donnerstag, 7. März 2019, 08:38

dein pfad ist vermutlich doppelt-gemoppelt
bzw dein html, bzw php liegt nicht im pano folder...

schau dir mal das an... https://krpano.com/docu/xml/#url

evtl könntest du im xml alle %HTMLPATH% gegen %SWFPATH% tauschen

5

Donnerstag, 7. März 2019, 08:53

Ja, hast recht... Ich weiß nur nicht wo diese Zeile hier her kommt...

Quellcode

1
../../../../../templates/krpano/krpano/skin/

toosten

Fortgeschrittener

Beiträge: 442

Wohnort: Berlin

Beruf: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Nachricht senden

6

Donnerstag, 7. März 2019, 09:52

Ja, hast recht... Ich weiß nur nicht wo diese Zeile hier her kommt...

Quellcode

1
../../../../../templates/krpano/krpano/skin/

Dürfte in der ersten XML z.B. Tour.xml stehen

7

Donnerstag, 7. März 2019, 10:14

Genau, die Zeile kommt von der tour.xml, dort steht:

Quellcode

1
<include url="../../../../../templates/photography/krpano/skin/vtourskin.xml" />

Irgendwie sehe ich mit den Pfaden hier nicht richtig durch. Ändere ich z.B. die obere Zeile in

Quellcode

1
<include url="vtourskin.xml" />

verschwindet zwar die erste Fehlermeldung, also es wird die webvr.xml richtig eingebunden. Aber nicht kommt ein Fehler das die vtourskin.xml nicht gefunden werden kann, da nun hier der Pfad nicht stimmt.
krpano ist wahrscheinlich darauf ausgelegt, das die benötigten Javascriptdateien und xml-Dateien immer im Ordner zu jeden Panorama sein müssen. Ich möchte diese Dateien aber einmal zentral irgendwo liegen haben, wo alle Panoramen darauf zugreifen sollen. Wenn ich z.B. krpano mal updaten muss/möchte, will ich ja nicht hunderte Dateien austauschen müssen.
Wie könnte man so etwas noch lösen?

toosten

Fortgeschrittener

Beiträge: 442

Wohnort: Berlin

Beruf: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Nachricht senden

8

Donnerstag, 7. März 2019, 10:45

Ich hatte mit relativen Pfaden immer Probleme, deshalb nutze ich die Platzhalter.

Quellcode

1
<include url="%SWFPATH%/skin/vtourskin.xml" />

9

Donnerstag, 7. März 2019, 11:19

krpano erlaubt dir alle pfadlösungen, du hast einfach ein durcheinander in den urls :)

suche in der vtourskin.xml und im webvr.xml bzw in allen xmls nach "url="
und schau ob dort die korrekten platzhalter stehen.

wenn das index.html/php nicht mehr im panorama folder liegt
dann liefert %HTMLPATH% natürlich etwas falsches

https://krpano.com/docu/xml/#url

10

Donnerstag, 7. März 2019, 13:19

wenn das index.html/php nicht mehr im panorama folder liegt
dann liefert %HTMLPATH% natürlich etwas falsches

genau so soll es ja sein wie ich oben schrieb. Ok, ich sehe schon, ich komme hier nicht wirklich weiter so wie ich mir das gedacht habe.

Kann man sich die Platzhalter-Konstanten ausgeben lassen um zu sehen was diese zurückliefern?

11

Donnerstag, 7. März 2019, 13:52

So, hab es nun hinbekommen. Mit %SWFPATH% funktioniert es nun wie gewollt. Es müssen sich aber alle Dateien für den krpano-Player und die xml's für das Skin in einen Ordner befinden.
Danke für die Unterstützung!

toosten

Fortgeschrittener

Beiträge: 442

Wohnort: Berlin

Beruf: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Nachricht senden

12

Freitag, 8. März 2019, 08:57

So, hab es nun hinbekommen. Mit %SWFPATH% funktioniert es nun wie gewollt. Es müssen sich aber alle Dateien für den krpano-Player und die xml's für das Skin in einen Ordner befinden.
Danke für die Unterstützung!

Gerne, aber es gibt noch weitere Platzhalter damit nicht alles in einen Order muß.