I'm trying to write a simple extension which uses the Teamspeak3 PHP Framework (https://docs.planetteamspeak.com/ts3/php/framework/) just for showing the "Teamspeak3_Viewer_HTML" Element in the Frontend after giving the information like servername, port etc to the backend plugin.
The problem is: how to use the "external" php framework in my extension? I put the whole framework source in my extension folder, so i have typoconf/ext/myExtension/Libraries/Teamspeak3...
then I try to use it in my controller action
<?php
namespace Sc\Ts3view\Controller;
use \TeamSpeak3;
/**
* Ts3viewController
*/
class Ts3viewController extends
\TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{
/**
* action show
*
* @return void
*/
public function showAction()
{
$server = $this->settings['server'];
$ts3_VirtualServer = TeamSpeak3::factory("serverquery://".$server["ts_query_admin"].":".$server["ts_query_password"]."@".$server["tsip"].":".$server["ts_query_port"]."/?server_port=".$server["tsport"]."&nickname=".$server["ts_query_user_nick"]."");
$resulthtml = $ts3_VirtualServer->getViewer(new TeamSpeak3_Viewer_Html("images/viewericons/", "images/countryflags/", "data:image"));
$this->view->assign('resulthtml', $resulthtml);
}
}
But in Frontend I just got an error
"Oops, an error occurred! Code: 20170527153454d1abefa8"
although I have displayErrors on. Any ideas how to use this framework in my action?
First if all, you either need to set your environment to
Development
or you have to setconfig.contentObjectExceptionHandler = 0
in your TypoScript template.You get an exception, because the TYPO3 autoloader cannot find the classes. You need to add this to your composer autoload section:
Or you can directly require the composer package in your root
composer.json
.