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