[plugin] mobiledetect probleem

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
vinyl
Forum Members
Forum Members
Posts: 149
Joined: Mon Jul 13, 2009 8:18 pm

[plugin] mobiledetect probleem

Post by vinyl »

Om ondersteuning voor mobiele apparaten toe te voegen aan een website gebruik ik de plugin mobiledetect (http://dev.cmsmadesimple.org/projects/mobiledetect). Een hele mooie plugin.

In de plugin zit een optie om met {mobileswitcher} een optie te bieden om toch om te schakelen naar de desktop versie van de website of andersom.

Als ik deze optie aanroep krijg ik echter een foutmelding:
"string(123) "Smarty error: [in tpl_top:38 line 3]: syntax error: unrecognized tag 'mobileswitcher' (Smarty_Compiler.class.php, line 590)”.

De rest van de plugin werkt prima. Hij detecteert gewoon de juiste apparaten. Alleen dit specifieke stukje dus niet. Na contact met de ontwikkelaar was zijn vermoeden dat ik alles misschien in de verkeerde volgorde aanriep maar dat heb ik dus gecheckt.

Wat me wel opvalt is dat deze foutmelding niet voorkomt in de laatste versie van CMSMS. In de versie die ik gebruik wel; 1.9.4.3. Enig idee wat, misschien iets specifieks voor Smarty3, wat het verschil kan zijn?

Omdat het upgraden naar de laatste versie best lastig is gebleken bij deze site wil ik deze versie eigenlijk voorlopig nog houden. Aangezien bij de plugin geen specs staan of 'vanaf' versie ging ik er vanuit dat het geen probleem zou zijn.

Dit is het specifieke stukje:

Code: Select all

function smarty_function_mobileswitcher($params, &$smarty)
{
	
	/* ---------------------------------------------
	 * Initial settings
	 * --------------------------------------------- */

	$detect       = new Mobile_Detect();
	$query_string = 'desktop';
	$return       = null;
	
	// smarty params
	$hrefonly    = isset($params['hrefonly']) ? $params['hrefonly'] : 0;
	$class       = isset($params['class']) ? ' class="' . $params['class'] . '"' : 0;
	$title       = isset($params['title']) ? ' title="' . $params['title'] . '"' : 0;
	$tabindex    = isset($params['tabindex']) ? ' tabindex="' . $params['tabindex'] . '"' : 0;
	$accesskey   = isset($params['accesskey']) ? ' accesskey="' . $params['accesskey'] . '"' : 0;
	$desktoptext = isset($params['desktoptext']) ? $params['desktoptext'] : 'Desktop version';
	$mobiletext  = isset($params['mobiletext']) ? $params['mobiletext'] : 'Mobile version';

	/* ---------------------------------------------
	 * Check device and sessions and build url
	 * --------------------------------------------- */	

	$linktext     = $desktoptext;

	if (isset($_SESSION['cmsms_layout']) && $_SESSION['cmsms_layout'] == 'desktop') {
		$query_string = 'mobile';
		$linktext     = $mobiletext;
	}

	$parms  = array(
		'layout' => $query_string
		);
	
	// show link only for mobile devices
	if ($detect->isMobile() == true) {
		if ($hrefonly) {
			$return = switcherCreateURL($parms, $smarty);
		} else {
			$return = '<a href="' . switcherCreateURL($parms, $smarty) . '"' . $class . $title . $tabindex . $accesskey .'>' . $linktext . '</a>';
		}
	}

	/* ---------------------------------------------
	 * Smarty processing
	 * --------------------------------------------- */
	
	if (isset($params['assign'])) {
		$smarty->assign($params['assign'], $return);
		return;
	}

	$smarty->assign('linktext', $linktext);

	return $return;
}
Iemand misschien een idee wat de oorzaak kan zijn?
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: [plugin] mobiledetect probleem

Post by velden »

Als de code hierboven jouw hele plugin is dan kan het wel kloppen. Er hoort in ieder geval nog veel meer bij.
vinyl
Forum Members
Forum Members
Posts: 149
Joined: Mon Jul 13, 2009 8:18 pm

Re: [plugin] mobiledetect probleem

Post by vinyl »

Klopt, heb de functie waar het probleem in zit alleen geplakt omdat ik er vanuit ga dat 1.9.4.3 zich daar misschien in verslikt?

PHP versie is overigens 5.5.3.
Post Reply

Return to “Dutch - Nederlands”