#1

punchi

Neuling  (7 Punkte)  ·   männlich  ·   Österreich  ·   Nachricht senden

Plugin auf allen Seiten automatisch integrieren

Guten Morgen!

Ich bin so frech und erlaube mir gleich zu Beginn eine technische Frage zu stellen bezüglich des Plugins Smartphone.

Gibt es eine Möglichkeit dieses Plugin automatisch auf allen Seiten zu integrieren ohne dass ich dieses auf jeder Seite und Unterseite manuell einfügen muss?

Ich betreue eine Seite mit Siquando Web mit wirklich vielen Seiten und Unterseiten (ca. 2.500) und da wäre es wirklich mühsam das händisch vornehmen zu müssen.

Ich habe schon probiert, den CCML-Code aus der entsprechenden Plugin-Datei in die Navigation.ccml einzufügen, nur leider hat das nicht funktioniert.

Für Ideen wäre ich sehr dankbar!

Beste Grüße

PunChi

#2

GrafFoto

Ehrenmitglied  (227 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 http://www.postkartenparadies.de

#3

punchi

Neuling  (7 Punkte)  ·   männlich  ·   Österreich  ·   Nachricht senden

Hallo!

Danke für Deine Antwort.

Vielleicht sollte ich mir einfach ein Responsive Design welches Du anbietest adaptieren?

Sind Deine Responsive Designs für Siquando Web geeignet?

Wäre ich berechtigt, das Basis-Design von Dir zu kaufen und dann selber auf meine Wünsche zu adaptieren?

Würdest Du bezahlten Support bieten?


Lg

PunChi

 

#4

GrafFoto

Ehrenmitglied  (227 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 http://www.postkartenparadies.de

Hallo PunChi,

ich finde die Lösung, dass es da kein seitenübergreifendes PlugIn gibt, auch ziemlich unglücklich ...

Die Templates sind eigentlich immer für S2D / W2D nutzbar, weil es die identische Basis ist -also JA

Und JA - du darfst da nach Herzenslust drin rumwerkeln - solltest nur gut dokumentieren, was du tust ... das nächste Update kommt bestimmt irgendwann.

Und JA - bezahlten Support biete ich auch. Ich hab nur immer wahnsinnig wenig Zeit ...

 

Du musst aber beachten, dass etliche Plugins nicht responsive nutzbar sind - das liegt an der Struktur der Templates, die mit festen px-Werten arbeiten.Siehe hier ... Einschränkungen:

http://www.siquando-templates.de/siquando-templates-kaufen/responsive-templates/kick-horizontal.php

 

 

 

#5

punchi

Neuling  (7 Punkte)  ·   männlich  ·   Österreich  ·   Nachricht senden

Ok wunderbar, kein angeführtes Plugin verwende ich auf den Seiten. Die Seite ist eine sehr contentlastige mit viel Text, Aufmachern und Teaser-Bildern. Ich werde mich dazu bei Dir per Mail melden.


Danke!

Lg

 

#6

webchaot

Ehrenmitglied  (1295 Punkte)  ·   männlich  ·   Schweiz  ·   Nachricht senden
 http://www.webchaot.ch

Zitat von: GrafFoto

Hallo Punchi,

ich bin da auch komplett dran gescheitert ...

 

Vor demselben Problem stand ich auch schon mal und eine "saubere Lösung" habe ich Euch nicht, aber immerhin einen "Workaround"...   ;-)

 

Dazu habe ich eine Seite erstellt (z.B. "Smartphonecode"), die ich aber nicht anzeigen lasse...

...und auf dieser Seite verwende ich lediglich das "Plugin Smartphone" und entnehme den entsprechenden Absatz dann dem Quellcode der Seite, also z.B.

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
54
55
56
57
58
59
60
<script type="text/javascript">	
/* <![CDATA[ */
 
	if ((typeof w2dsmartphone) != 'function') {
		function w2dsmartphone(currentSite, force, ipad, forwardurl, desktopurl, mobileurl){
			var userAgentId = window.navigator.userAgent.toLowerCase();
 
			if ((userAgentId.indexOf('iphone') != -1) || (userAgentId.indexOf('ipod') != -1) || ((userAgentId.indexOf('ipad') != -1) && ipad) || (userAgentId.indexOf('android') != -1)) {
				if (force) {
					if (currentSite != 1) {
						window.location.replace(mobileurl);
					}
				}
				else {
					var preferredSite = 0;
					var now = new Date();
					var expire = new Date(now.getTime() + 60 * 60 * 24 * 365);
					var expireString = expire.toGMTString();
 
					if (window.location.search.indexOf('w2dsmartphone=force') != -1) {
						document.cookie = 'w2dsmartphone=' + ((currentSite == 1) ? 'mobile' : 'desktop') + '; path=/; expires=' + expireString;
						preferredSite = currentSite;
					}
					else {
						if ((document.cookie.indexOf('w2dsmartphone=mobile') != -1)) {
							preferredSite = 1;
						}
 
						if ((document.cookie.indexOf('w2dsmartphone=desktop') != -1)) {
							preferredSite = 2;
						}
					}
 
					if (preferredSite == 0) {
						window.location.replace(forwardurl);
					}
					else {
						if (currentSite != preferredSite) {
							window.location.replace((preferredSite == 1) ? mobileurl : desktopurl);
						}
						else {
							document.write('<p>');
							if (currentSite == 1) {
								document.write("Diese Version der Website wurde für Smartphones optimiert.");
							}
							else {
								document.write("Sie betrachten die Standardversion der Website.");
							}
							document.write(' <a id="w2dsmartphonedesktop" class="s2d" href="' + forwardurl + '">Anderen Darstellungmodus wählen.</a>');
							document.write('</p>');
						}
					}
				}
			}
		}
	}
 
	w2dsmartphone(2, false, false, "./842462a47b0b7b17b.php", "./index.php" , "../mobile/smartphone/mobile/index.php");
/* ]]> */
</script>

 

...und hier haben wir dann in obiger Codedarstellung in Zeile 58 diese Passage...

w2dsmartphone(2, false, false, "./842462a47b0b7b17b.php", "./index.php" , "../mobile/smartphone/mobile/index.php");

 

Diese Zeile ergänze ich nun mit dem Pfad meiner nicht angezeigten Seite "Smartphonecode", also z.B. so...

w2dsmartphone(2, false, false, "http://www.meinedomain.ch/smartphonecode/842462a47b0b7b17b.php", "./index.php" , "../mobile/smartphone/mobile/index.php");

 

Und dann setze ich den gesamten geänderten Code in der navigation.ccml unmittelbar nach <body> ein...

...und fertig...!!!

 

Somit habe ich dann das "Plugin Smartphone" auf allen Seiten verfügbar...   :-)

 


Gruss

Walti

#7

GrafFoto

Ehrenmitglied  (227 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 http://www.postkartenparadies.de

#8

punchi

Neuling  (7 Punkte)  ·   männlich  ·   Österreich  ·   Nachricht senden

Das wird leider aber immer nur auf die aktuelle Mobile Startseite weiterleiten.

Wir benötigen eine Lösung, die jeder einzelne URL auf die Mobile-URL umleitet.

Vielen Dank trotzdem für Deine Hilfe. 

#9

Volker W.

Administrator  (7794 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://www.warmers.de  ·   vwarmers  ·   vwarmers  ·   volkerw68

Dann ersetze doch die drittletzte Zeile einfach mit der aus der originalen Datei C:\Program Files (x86)\SIQUANDO\Web 8\plugins\SQWPluginSmartphone\W2DPluginSmartphone.ccml. ;-)

58
	w2dsmartphone(<cc:print value="currentsite">, <cc:print value="force">, <cc:print value="ipad">, "<cc:print value="forwardurl">", "<cc:print value="desktop.url">" , "<cc:print value="smartphone.url">");

Ggf. mischst Du die beiden Zeilen, indem Du aus der o.g. originalen Zeile nur die letzten drei CCML-Variablen verwendest und den Rest so beläßt, wie oben von Walti beschrieben.


Viele Grüße,
Volker

Über mich  ·  Volker W. Musik & Sounds  ·  Facebook  ·  Twitter  ·  Instagram  ·  StayFriends  ·  LinkedIn  ·  XING

#10

punchi

Neuling  (7 Punkte)  ·   männlich  ·   Österreich  ·   Nachricht senden

Hallo Volker!

Das habe ich schon probiert, das Ergebnis in der erstellten Datei ist immer :

w2dsmartphone(currentsite, force, ipad, "forwardurl", "desktop.url" , "smartphone.url");

Er übernimmt die Werte nicht.

Danke!

Lg

 

#11

Volker W.

Administrator  (7794 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://www.warmers.de  ·   vwarmers  ·   vwarmers  ·   volkerw68

Dann greifen diese CCML-Variablen in der navigation.ccml (ich gehe davon aus, daß Du das Script auch darin geprüft hast) wohl nicht.

Kannste machen nix ... :O


Viele Grüße,
Volker

Über mich  ·  Volker W. Musik & Sounds  ·  Facebook  ·  Twitter  ·  Instagram  ·  StayFriends  ·  LinkedIn  ·  XING

#12

punchi

Neuling  (7 Punkte)  ·   männlich  ·   Österreich  ·   Nachricht senden

Ich vermute, dass nur wenn das Plugin integriert ist, die richtigen "Variablen" übergeben werden.

#13

Volker W.

Administrator  (7794 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://www.warmers.de  ·   vwarmers  ·   vwarmers  ·   volkerw68

Für die desktop.url hätte ich eine funktionierende CCML-Variable:

<cc:print value="&page.content.canonicalurl">

Für die smartphone.url fällt mir jedoch nichts adäquates ein.


Viele Grüße,
Volker

Über mich  ·  Volker W. Musik & Sounds  ·  Facebook  ·  Twitter  ·  Instagram  ·  StayFriends  ·  LinkedIn  ·  XING

#14

punchi

Neuling  (7 Punkte)  ·   männlich  ·   Österreich  ·   Nachricht senden

Danke Volker, diesen Befehl habe ich schon im Einsatz anderweitig. Ist eine Anfrage beim Support sinnvoll? Ich meine, es werden ja zahlreiche Seitenbetreiber vor der selben Problematik nun stehen!

#15

Volker W.

Administrator  (7794 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://www.warmers.de  ·   vwarmers  ·   vwarmers  ·   volkerw68

Ich glaube kaum. Aber versuche es einfach.

Viel Erfolg!


Übrigens ist es egal, ob Du die von mir genannte CCML-Variable für die Canonical URL bereits im Einsatz hast. Du kannst diese auch beliebig mehrfach verwenden. ;-)


Viele Grüße,
Volker

Über mich  ·  Volker W. Musik & Sounds  ·  Facebook  ·  Twitter  ·  Instagram  ·  StayFriends  ·  LinkedIn  ·  XING

#16

Robert (†)

Ehrenmitglied  (118 Punkte)  ·   männlich  ·   Österreich  ·   Nachricht senden
 http://www.rs-studio.at

Man könnte einen relativen Path aufbauen 

 <cc:print value="&home.folderurl">mobile/smartphone/<cc:print value="&page.content.url">

Das ging schon bei W2D4 der innere Part gehört möglicherweise angepasst.

VG Robert


Dieser Beitrag wurde bereits 1 mal bearbeitet, zuletzt von »Robert« (14.04.2015, 15:40)
#17

vicanus

Eroberer  (51 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 http://bernd-trede.de

Bereits bei W2D habe ich folgenden Code eingebaut, der heute noch (scheinbar, da keine Beschwerden - oder keiner ruft meine Seiten per Smartphone auf) funktioniert.

Die Seite, die einmalig mit dem Plugin "Spartphone" erstellt wurde, z.B. "842462a47b0b7b17b.php" habe ich abgeändert und eigenen Code eingebaut, dann im Root-Verzeichnis der Domain als "smartphone.php" gespeichert. Das Plugin muss danach wieder entfernt oder gar nicht erst definiert werden.

Aus der generierten Hauptseite habe ich den zweiten Code entnommen und mit etwas PHP gespickt in W2D bzw. Siquande W8 in den "Website-Eigenschaften" unter "HTML-Code bearbeiten" eingegeben. Der Nachteil ist, dass die Anzeige über der Seite manchmal mit ungünstiger Hintergrungfarbe steht. Eingebunden in die "navigation.ccml" könnte das aber auch besser klappen.

Bedingung ist, dass alle Seiten auf ".php" enden. Also unter "Website-Eigenschaften" "Datei-Erweiterung für HTML-Seiten" auf "php" stellen. Die Standardangabe /mobile/smartphone muss beibehalten werden.

Hier der Code für die Datei "/smartphone.php" (Zeile 1 und 2 mit Domainnamen ändern!):

<?php
define('DOMAIN1', 'meinedomain.eu'); 
define('DOMAIN2', 'www.meinedomain.eu'); 
//----------------------------------------------------------------------------------------------
// Sicherheitsabfrage: Aufruf von fremden Seiten unterbinden
//----------------------------------------------------------------------------------------------
	if ($_SERVER['HTTP_HOST'] || $_ENV['HTTP_HOST']) {
		$host = ($_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : $_ENV['HTTP_HOST']);
	} else if ($_SERVER['SERVER_NAME'] || $_ENV['SERVER_NAME']) {
		$host = ($_SERVER['SERVER_NAME'] ? $_SERVER['SERVER_NAME'] : $_ENV['SERVER_NAME']);
	}
	// Split Referer
	if ($host && $_SERVER['HTTP_REFERER']) {
		$parts 	= parse_url($_SERVER['HTTP_REFERER']);
		$port 	= intval($parts['port']);
		$host 	= $parts['host'] . (!empty($port) ? ":".$port."" : '');
	}
//	echo $host."<br>";
	if ($host != DOMAIN1 && $host != DOMAIN2) {
		die('Der direkte Aufruf ist nicht erlaubt !');
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
	<meta id="viewport" name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
	<title>Herzlich willkommen</title>
 
	<style type="text/css">
	body {
		background: url(/images/w2dsmartphonestripes.png) #C5CCD3;
		font-family: Helvetica;
		margin: 0;
		padding: 0;
	}
 
	h1 {
		background: url(/images/w2dsmartphoneheader.png) repeat-x center top #6D85A3;
		border-bottom: 1px solid #2E3744;
		border-top: 1px solid #CDD5DF;
		margin: 0;
		padding: 10px;
		color: #FFFFFF;
		font: bold 20px/30px Helvetica;
		text-align: center;
		text-shadow: 0 -1px 0 #2D3642;
	}
 
	p, ul {
	    border: 1px solid #B4B4B4;
		background-color: #ffffff;
		color: black;
		margin: 15px 10px;
		border-radius: 10px;
	}
 
	p {
		padding: 15px 10px;
	}
 
	ul {
		padding: 0;
	}
 
	ul li {
		border-top: 1px solid #B4B4B4;
		color: #666666;
		list-style-type: none;
		padding: 10px;
		background: url(/images/w2dsmartphonearrow.png) right center no-repeat;
	}
 
	ul li:first-child {
		border-top: 0;
	}
 
	ul li a {
	    color: #000000;
		text-decoration: none;
		font-size: 17px;
		font-weight: bold;
		display: block;
	}
 
	</style>
 
</head>
 
<body>
	<h1>Herzlich willkommen</h1>
	<p>Sie besuchen diese Seiten mit Ihrem Smartphone. Für Sie bieten wir eine spezielle Vicanus-Version dieser Site für Smartphones an. Wollen Sie jetzt wechseln?</p>
	<ul>
		<li><a href="/mobile/smartphone<?php echo $_GET[p]; ?>?w2dsmartphone=force">Site für Smartphones</a></li>
		<li><a href="<?php echo $_GET[p]; ?>?w2dsmartphone=force">Normale Site</a></li>
	</ul>
</body>
</html>

 


und hier der HTML-Code für die Website:

 

<!-- W2DPluginSmartphone -->
<script type="text/javascript">	
/* <![CDATA[ */
 
	if ((typeof w2dsmartphone) != 'function') {
		function w2dsmartphone(currentSite, force, ipad, forwardurl, desktopurl, mobileurl){
			var userAgentId = window.navigator.userAgent.toLowerCase();
 
			if ((userAgentId.indexOf('iphone') != -1) || (userAgentId.indexOf('ipod') != -1) || ((userAgentId.indexOf('ipad') != -1) && ipad) || (userAgentId.indexOf('android') != -1)) {
				if (force) {
					if (currentSite != 1) {
						window.location.replace(mobileurl);
					}
				}
				else {
					var preferredSite = 0;
					var now = new Date();
					var expire = new Date(now.getTime() + 60 * 60 * 24 * 365);
					var expireString = expire.toGMTString();
 
					if (window.location.search.indexOf('w2dsmartphone=force') != -1) {
						document.cookie = 'w2dsmartphone=' + ((currentSite == 1) ? 'mobile' : 'desktop') + '; path=/; expires=' + expireString;
						preferredSite = currentSite;
					}
					else {
						if ((document.cookie.indexOf('w2dsmartphone=mobile') != -1)) {
							preferredSite = 1;
						}
 
						if ((document.cookie.indexOf('w2dsmartphone=desktop') != -1)) {
							preferredSite = 2;
						}
					}
 
					if (preferredSite == 0) {
						window.location.replace(forwardurl);
					}
					else {
						if (currentSite != preferredSite) {
							window.location.replace((preferredSite == 1) ? mobileurl : desktopurl);
						}
						else {
							document.write('<p>');
							document.write("Desktop- oder Smartphone-Version: ");
							document.write('<a id="w2dsmartphonedesktop" class="s2d" href="' + forwardurl + '">Andere Darstellung wählen.</a>');
							document.write('</p>');
						}
					}
				}
			}
		}
	}
 
<?php
	$myself = $_SERVER['PHP_SELF'];
	IF (strpos($myself,"/mobile/smartphone/") !== false) {
		$myself = substr($myself,18);
	}
	echo "w2dsmartphone(2, false, false, '/smartphone.php?p=".$myself."', '".$myself."' , '/mobile/smartphone".$myself."')
";
?>
/* ]]> */
</script>
 

 


Dieser Beitrag wurde bereits 2 mal bearbeitet, zuletzt von »vicanus« (16.04.2015, 22:26)
1465 Aufrufe | 17 Beiträge