signundsinn

Mit php-mobile-detect einen eigenen ViewHelper für Mobilegeräte in TYPO3 6.0 und größer bauen

August 25, 2014 10:43

Mit php-mobile-detect einen eigenen ViewHelper für Mobilegeräte in TYPO3 6.0 und größer bauen Mit den ViewHelper seid Ihr in der Lage zwischen mehreren Mobilegeräten zu unterscheiden.

1)  ViewHelper bauen

Hierfür ist susshop unsere Extension und sus unser Vendor

Dazu legen wir in unsere Extension (susshop) in den Ordner Classes einen Ordner ViewHelpers an.

In den Ordner ViewHelpers legen wir nun eine PHP Datei an und bennen die MobileViewHelper.php


Der Inhalt der Datei MobileViewHelper.php sieht dann so aus:

<?php

// SuS ist unser Vendor Ihr müsst in euere Extension einen eigenen Vendornamen verwenden

// Susshop ist der Name unserer Extension der ist bei euch wahrscheinlich auch anders.

namespace SuS\Susshop\ViewHelpers;

Class MobileViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {

public function render() { }

}


2) die benötigten Dateien von der u.g. Seite herunterladen  https://code.google.com/p/php-mobile-detect/

Wir brauchen in der erster Linie nur die Datei Mobile_Detect.php.

Wir legen uns jetzt einen neuen Ordner lib in den Ordner Classes an und kopieren und die Datei Mobile_Detect.php dort hinein.

3) Vorher müssen wir aber die Datei um Zeile (Namespace) oben erweitern.

<?php

namespace SuS\Susshop\lib;


Erklärung:

SuS steht für unseren Vendor

SusShop war unsere Extension wo wir den Viewhelper benötigt haben

lib ist unser angelegter Ordner


So jetzt können wir unseren ViewHelper erweitern

<?php

// Hiermit könne wir nun eine Instanz erstellen

/**

* @var \SuS\Susshop\lib\Mobile_Detect

* @inject

*/

protected $detect;

public function render() {

if($this->detect->isMobile()){

echo "Mobilesgerät";

}else {

echo "kein Mobilesgerät";

}


Mit $this->detect-> (der benötigten function ) sind jetzt viele Unterscheidungen möglich am besten ihr schaut euch Exampledatei an.

Im Template wo es benötigt wird könnt ihr es jetzt verwenden mit

{namespace com=SuS\Susshop\ViewHelpers}

<com:Mobile></com:Mobile>

Viel Erfolg

Estefan Huerta Barroso

Ihr Ansprechpartner
estefan
e.pm@signundsinn.de