ag-websolutions.de
Sehr aktives Mitglied
Der nachfolgende Workaround richtet sich ausschließlich an Plugin-Entwickler:
Wie sicherlich bereits festgestellt, werden bei Plugins, welche einen Frontend-Link verwenden, zwar der FE-Link im Shop integriert....allerdings erfolgt darüber keine Template-Ausgabe...weder als integriertes Template, noch als FullscreenTemplate.
Damit ist die Entwicklung von Plugins natürlich erschwert, da die Frontend-Ausgabe nicht getestet werden kann.
Andy vom JTL-Team hat daher...man beachte gestern noch um 22:30 Uhr, das nenne ich Service...einen Workaround geschaffen.
Achtung:
Dieser Workaround dient lediglich für die momentane Entwicklung von Plugins mit Frontendlinks. Plugins mit diesem Workaround sollten nicht(!!) in den produktiven Einsatz gelangen. JTL wird versuchen, mit einer der nächsten Updates eine Fehlerbehebung zu vollziehen, die den Einsatz des Workaround hinfällig macht!
Jetzt zum eigentlichen Workaround:
1.) In der info.xml ist unmittelbar vor dem Kind-Element < FrontendLink > folgendes Hook-Kind-Element einzufügen:
Die Hooks-ID ist beizubehalten; "frontendphp-datei.php" ist mit dem tatsächlichen Namen der php-Datei für das Frontend zu ersetzen und muss identisch sein, mit der bei <FrontendLink><Filename> eingetragenen Dateinamen.
2.) Die Frontend-PHP muss auf folgender PHP-Datei aufbauen; der eigene (eigentliche) PHP-Code ist an gekennzeichneter Stelle (zwischen // dein Code hier ... und //Smarty Assigns) einzufügen:
Nochmals vielen Dank an Andy und das JTL-Team!!
Wie sicherlich bereits festgestellt, werden bei Plugins, welche einen Frontend-Link verwenden, zwar der FE-Link im Shop integriert....allerdings erfolgt darüber keine Template-Ausgabe...weder als integriertes Template, noch als FullscreenTemplate.
Damit ist die Entwicklung von Plugins natürlich erschwert, da die Frontend-Ausgabe nicht getestet werden kann.
Andy vom JTL-Team hat daher...man beachte gestern noch um 22:30 Uhr, das nenne ich Service...einen Workaround geschaffen.
Achtung:
Dieser Workaround dient lediglich für die momentane Entwicklung von Plugins mit Frontendlinks. Plugins mit diesem Workaround sollten nicht(!!) in den produktiven Einsatz gelangen. JTL wird versuchen, mit einer der nächsten Updates eine Fehlerbehebung zu vollziehen, die den Einsatz des Workaround hinfällig macht!
Jetzt zum eigentlichen Workaround:
1.) In der info.xml ist unmittelbar vor dem Kind-Element < FrontendLink > folgendes Hook-Kind-Element einzufügen:
Code:
<Hooks>
<Hook id="99">[I]frontendphp-datei.php[/I]</Hook>
</Hooks>
Die Hooks-ID ist beizubehalten; "frontendphp-datei.php" ist mit dem tatsächlichen Namen der php-Datei für das Frontend zu ersetzen und muss identisch sein, mit der bei <FrontendLink><Filename> eingetragenen Dateinamen.
2.) Die Frontend-PHP muss auf folgender PHP-Datei aufbauen; der eigene (eigentliche) PHP-Code ist an gekennzeichneter Stelle (zwischen // dein Code hier ... und //Smarty Assigns) einzufügen:
Code:
<?php
/**
*-------------------------------------------------------------
* JTL-Erweiterung
* File: main.php, php file
* ------------------------------------------------------------
*/
global $kLink, $smarty;
setzeSeitenTyp(PAGE_PLUGIN);
if(isset($kLink) && $kLink > 0)
{
$oPluginLinkDatei = $GLOBALS['DB']->executeQuery("SELECT *
FROM tpluginlinkdatei
WHERE kLink = " . intval($kLink), 1);
if(isset($oPluginLinkDatei->cDatei) && strlen($oPluginLinkDatei->cDatei) > 0)
{
$oPlugin = new Plugin($oPluginLinkDatei->kPlugin);
// ... dein code hier ...
// Smarty Assigns
$smarty->assign("oPlugin", $oPlugin);
$smarty->assign("cAnleitung", $cVartest);
if(strlen($oPluginLinkDatei->cTemplate) > 0)
{
$smarty->assign("cPluginTemplate", $oPlugin->cFrontendPfad . PFAD_PLUGIN_TEMPLATE . $oPluginLinkDatei->cTemplate);
$smarty->assign("nFullscreenTemplate", 0);
}
else
{
$smarty->assign("cPluginTemplate", $oPlugin->cFrontendPfad . PFAD_PLUGIN_TEMPLATE . $oPluginLinkDatei->cFullscreenTemplate);
$smarty->assign("nFullscreenTemplate", 1);
}
}
}
?>
Nochmals vielen Dank an Andy und das JTL-Team!!