Hallo zusammen,
meine eigene Smarty-Funktion (function.partnersuche.php) funktioniert nicht wie ich mir das vorstelle.
Die Funktion wird in einer Template-Datei mittel {partnersuche} aufgerufen, diese Template-Datei verwende ich für eine Shopseite.
Die Funktion macht was sie soll, wenn ich die Datei unter engine/Library/Smarty/plugins ablege.
Lege ich die Datei (function.partnersuche.php) im _private-Verzeichnis meines Templates ab, erhalte ich folgende Ausgabe bzw. Fehlermeldung:
Ups! Ein Fehler ist aufgetreten!
Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.
Syntax Error in template "/www/htdocs/xxxxxx/themes/Frontend/MeinTheme/frontend/index/partnersuche.tpl" on line 1 "{partnersuche}" unknown tag "partnersuche" in engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 657
Stack trace:
#0 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(443): Smarty_Internal_TemplateCompilerBase->trigger_template_error('unknown tag "pa...', 1)
#1 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(2393): Smarty_Internal_TemplateCompilerBase->compileTag('partnersuche', Array)
#2 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3101): Smarty_Internal_Templateparser->yy_r37()
#3 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3201): Smarty_Internal_Templateparser->yy_reduce(37)
#4 engine/Library/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(10, '\n')
#5 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(192): Smarty_Internal_SmartyTemplateCompiler->doCompile('{partnersuche}\n')
#6 engine/Library/Smarty/sysplugins/smarty_internal_template.php(187): Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Enlight_Template_Default))
#7 engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(155): Smarty_Internal_Template->compileTemplateSource()
#8 engine/Library/Enlight/View/Default.php(287): Smarty_Internal_TemplateBase->fetch('frontend/index/...', NULL)
#9 engine/Shopware/Controllers/Frontend/Custom.php(71): Enlight_View_Default->fetch('frontend/index/...')
#10 engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Frontend_Custom->indexAction()
#11 engine/Library/Enlight/Controller/Dispatcher/Default.php(530): Enlight_Controller_Action->dispatch('indexAction')
#12 engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#13 engine/Shopware/Kernel.php(189): Enlight_Controller_Front->dispatch()
#14 vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#15 engine/Shopware/Components/HttpCache/AppCache.php(268): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#16 vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#17 vendor/symfony/http-kernel/HttpCache/HttpCache.php(344): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#18 engine/Shopware/Components/HttpCache/AppCache.php(189): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#19 vendor/symfony/http-kernel/HttpCache/HttpCache.php(210): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#20 engine/Shopware/Components/HttpCache/AppCache.php(116): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#21 shopware.php(118): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
Wenn ich die Funktion z.B. in der frontend/index.tpl aufrufe, funktioniert auch alles wie gewollt. Denke es muss also irgendwie an der Verwendung der Funktion in der Template-Datei in Verbindung mit der Shop-Seite bzw. des _private-Verzeichnisses liegen.
Kennt jemand den Effekt oder übersehe ich einfach etwas?
Gruß vom Lizzard