Met jouw toevoeging krijg ik nu wel output die past bij wat er in de archive template 'Sample' is gecodeerd, echter in de errorlog (en op de website) krijg ik de foutmelding:
02-Apr-2017 18:48:29 UTC] PHP Warning: strpos(): Empty needle in /home/efacti/public_html/uisge-beatha.eu/www/tmp/templates_c/9488c580b6cd865d519661bb4d58f626cf3f30d0.module_db_tpl.CGBlog;summaryTag_CGBlog.php on line 55
[02-Apr-2017 18:48:29 UTC] PHP Notice: Undefined index: title in /home/efacti/public_html/uisge-beatha.eu/www/tmp/templates_c/9488c580b6cd865d519661bb4d58f626cf3f30d0.module_db_tpl.CGBlog;summaryTag_CGBlog.php on line 137
[02-Apr-2017 18:48:29 UTC] PHP Notice: Trying to get property of non-object in /home/efacti/public_html/uisge-beatha.eu/www/tmp/templates_c/9488c580b6cd865d519661bb4d58f626cf3f30d0.module_db_tpl.CGBlog;summaryTag_CGBlog.php on line 137
[02-Apr-2017 18:48:29 UTC] PHP Warning: strpos(): Empty needle in /home/efacti/public_html/uisge-beatha.eu/www/tmp/templates_c/9488c580b6cd865d519661bb4d58f626cf3f30d0.module_db_tpl.CGBlog;summaryTag_CGBlog.php on line 55
[02-Apr-2017 18:48:29 UTC] PHP Notice: Undefined index: title in /home/efacti/public_html/uisge-beatha.eu/www/tmp/templates_c/9488c580b6cd865d519661bb4d58f626cf3f30d0.module_db_tpl.CGBlog;summaryTag_CGBlog.php on line 137
[02-Apr-2017 18:48:29 UTC] PHP Notice: Trying to get property of non-object in /home/efacti/public_html/uisge-beatha.eu/www/tmp/templates_c/9488c580b6cd865d519661bb4d58f626cf3f30d0.module_db_tpl.CGBlog;summaryTag_CGBlog.php on line 137
Het code fragment uit Tag_CGBlog waar 'strpos' inzit is:
Code: Select all
<!-- Tag_CGBlog -->
{* Start CGBlog Display origineel Tag_CGBlog Template *}
{if isset($error)}
{cgerror}
{$error}
{/cgerror}
{/if}
{$tag = $smarty.get.tag|default:''}
<h5>Artikelen gerelateerd aan {$tag}</h5>
{foreach from=$items item=entry}
{* check url for param tag= and compare to extra field Tags *}
{if (isset($entry->fieldsbyname.Tags->value)) AND (($entry->fieldsbyname.Tags->value|strpos:$tag) !== false)}
{*... here do whole summary template as you want to have it ...*}
<div class="CGBlogSummary">
Als ik Tag_CGBlog aanroep zoals ik dat doe om tags weer te geven, dan loopt de code gewoon door. Bovenin is juist $tag gedefinieerd om te voorkomen dat als deze template anders wordt aangeroepen, dat er dan geen foutmelding op strpos komt. Wat mij wel opvalt, is dat in de archive template 'Sample' wordt de template 'Jaar_Maand' aangeroepen, echter wordt die niet uitgevoerd. Heeft niets met de stap naar PHP 7 te maken, valt me alleen op.
Enig zoeken leert dat de manier waarop strpos wordt gebruikt tot meer vragen leidt. De code enigszins aangepast naar:
Code: Select all
{$containtag = {$entry->fieldsbyname.Tags->value|strpos:$tag}}
{if (isset($entry->fieldsbyname.Tags->value)) AND (isset($containtag))}
hiermee geen foutmelding meer op de site, maar wel in de errorlog
[02-Apr-2017 19:26:41 UTC] PHP Warning: strpos(): Empty needle in /home/efacti/public_html/uisge-beatha.eu/www/lib/smarty/sysplugins/smarty_internal_templatebase.php(165) : eval()'d code on line 59
[02-Apr-2017 19:26:41 UTC] PHP Notice: Undefined index: title in /home/efacti/public_html/uisge-beatha.eu/www/lib/smarty/sysplugins/smarty_internal_templatebase.php(165) : eval()'d code on line 101
[02-Apr-2017 19:26:41 UTC] PHP Notice: Trying to get property of non-object in /home/efacti/public_html/uisge-beatha.eu/www/lib/smarty/sysplugins/smarty_internal_templatebase.php(165) : eval()'d code on line 101
[02-Apr-2017 19:26:41 UTC] PHP Warning: strpos(): Empty needle in /home/efacti/public_html/uisge-beatha.eu/www/lib/smarty/sysplugins/smarty_internal_templatebase.php(165) : eval()'d code on line 59