Closed leonie12 closed 5 years ago
Problem persists with Evo 1.4.7. Actually PHP 7.0 is EOL. Thereof I have to change to PHP 7.1, but this makes the pages with above error unusable. A solution would be great. Even a hint in the direction where I could find the reason for the error would be helpful. In the above backtrace I can not see if Phx or MultiTV is at fault.
Can you show tv config?
$settings['display'] = 'vertical';
$settings['fields'] = array(
'veranstaltungstitel' => array(
'caption' => 'Veranstaltungstitel',
'type' => 'text'
),
'veranstaltungsURL' => array(
'caption' => 'Veranstaltungs-URL',
'type' => 'text'
),
'veranstaltungsart' => array(
'caption' => 'Typ',
'type' => 'dropdown',
'elements' => 'Seminar||Exkursion||Fest||Sonstige Veranstaltung'
),
'startDate' => array(
'caption' => 'Datum Beginn',
'type' => 'date'
),
'startTime' => array(
'caption' => 'Uhrzeit Beginn',
'type' => 'text'
),
'endDate' => array(
'caption' => 'Datum Ende',
'type' => 'date'
),
'endTime' => array(
'caption' => 'Uhrzeit Ende',
'type' => 'text'
),
'ueberschriftVerantwortlicher' => array(
'caption' => 'Überschrift Verantwortlicher',
'type' => 'dropdown',
'elements' => 'Leitung||Organisation||Referent||Ausbilder'
),
'leitung' => array(
'caption' => 'Name Verantwortlicher',
'type' => 'text'
),
'veranstalter' => array(
'caption' => 'Veranstalter',
'type' => 'text'
),
'veranstalterURL' => array(
'caption' => 'Veranstalter-URL',
'type' => 'text'
),
'strasse' => array(
'caption' => 'Veranstaltungsort: Straße',
'type' => 'text'
),
'plz' => array(
'caption' => 'Veranstaltungsort: PLZ',
'type' => 'text'
),
'ort' => array(
'caption' => 'Veranstaltungsort: Ort',
'type' => 'text'
),
'anmeldung' => array(
'caption' => 'Anmeldung erforderlich',
'type' => 'dropdown',
'elements' => 'Ja||Nein'
),
'kosten' => array(
'caption' => 'Kosten',
'type' => 'text'
),
'details' => array(
'caption' => 'Details',
'type' => 'textarea'
),
'image' => array(
'caption' => 'Bild',
'type' => 'image'
),
'thumb' => array(
'caption' => 'Thumbnail',
'type' => 'thumb',
'thumbof' => 'image'
),
'legend' => array(
'caption' => 'Alternativtext (alt="")',
'type' => 'text'
),
'title' => array(
'caption' => 'Bildtitel (title="")',
'type' => 'text'
),
'author' => array(
'caption' => 'Bildautor',
'type' => 'text'
)
);
$settings['templates'] = array(
'outerTpl' => '[+wrapper+]',
'rowTpl' => '
[+veranstaltungstitel:ifnotempty=`[+startDate:ifnotempty=`[+veranstalter:ifnotempty=`[+ort:ifnotempty=`
<article itemscope itemtype="http://schema.org/Event" id="[+startDate:strtotime:date_ger=`%Y-%m-%d`+]T[+startTime+]">
[*id:in=`49, 61`:then=`
<table>
<tr>
<td><time itemprop="startDate" datetime="[+startDate:strtotime:date_ger=`%Y-%m-%d`+][+startTime:ifnotempty=`T[+startTime+]`+]">[+startDate:strtotime:date_ger=`<span class="jahr">%Y</span><span class="monat">%B</span><span class="tag">%e</span><span class="wochentag">%A</span>`+]</time></td>
<td>
<h2 itemprop="name">[+veranstaltungstitel+]</h2>
</td>
</tr>
<tr>
<th>Veranstalter:</th>
<td>[+veranstalterURL:ifnotempty=`<a href="[+veranstalterURL+]">`+][+veranstalter+][+veranstalterURL:ifnotempty=`</a>`+]</td>
</tr>
<tr>
<th>Ort:</th>
<td><span itemprop="location" itemscope itemtype="http://schema.org/PostalAddress"><span itemprop="name"><span itemprop="postalCode">[+plz+]</span> <span itemprop="addressLocality">[+ort+]</span></span></span></td>
</tr>
<tr>
<th>Weitere Infos:</th>
<td><a href="[+veranstaltungsURL+]">[+veranstaltungstitel+] – Details <svg class="icon icon-chain"><use xlink:href="assets/templates/baumpflege/images/icons/symbol-defs.svg#icon-chain"></use></svg></a></td>
</tr>
</table>
`:else=`
<div itemprop="name">
<h1>[*pagetitle*]</h1>
<h2>[*longtitle*]</h2>
</div>
<meta itemprop="url" content="[+veranstaltungsURL+]">
<table>
<tr><th>Art der Veranstaltung:</th><td>[+veranstaltungsart+]</td></tr>
<tr><th>Beginn:</th><td><time itemprop="startDate" datetime="[+startDate:strtotime:date_ger=`%Y-%m-%d`+][+startTime:ifnotempty=`T[+startTime+]`+]">[+startDate:strtotime:date_ger=`%A, %e. %B %Y`+], [+startTime:ifnotempty=`[+startTime+] Uhr`+]</time></td></tr>
[+endDate:ifnotempty=`<tr><th>Ende:</th><td><time itemprop="endDate" datetime="[+endDate:strtotime:date_ger=`%Y-%m-%d`+][+endTime:ifnotempty=`T[+endTime+]`+]">[+endDate:strtotime:date_ger=`%A, %e. %B %Y`+], [+endTime:ifnotempty=`[+endTime+] Uhr`+]</time></td></tr>`+]
[+leitung:ifnotempty=`<tr><th>[+ueberschriftVerantwortlicher+]:</th><td>[+leitung+]</td></tr>`+]
<tr><th>Veranstalter:</th><td>[+veranstalterURL:ifnotempty=`<a href="[+veranstalterURL+]">`+][+veranstalter+][+veranstalterURL:ifnotempty=`</a>`+]</td></tr>
<tr><th>Ort:</th><td><span itemprop="location" itemscope itemtype="http://schema.org/PostalAddress"><span itemprop="name"><span itemprop="postalCode">[+plz+]</span> <span itemprop="addressLocality">[+ort+]</span></span></span></td></tr>
<tr><th>Anmeldung erforderlich:</th><td>[+anmeldung+]</td></tr>
[+kosten:ifnotempty=`<tr><th>Kosten:</th><td>[+kosten+]</td></tr>`+]
[+details:ifnotempty=`<tr><th>Details:</th><td>[+details+]</td></tr>`+]
</table>`*]
</article>
[*id:in=`49, 61`:then=`<hr />`:else=``*]
`+]`+]`+]`+]'
);```
Can you show contents of the snippet date_ger
?
/*
* description: returns german date
* usage: [+string:date_ger=`format`+]
*/
$format = (strlen($options) > 0) ? $options : '%A, %e. %B %Y';
setlocale(LC_TIME, 'de_DE.UTF-8');
$date_ger = strftime($format, 0 + $output);
return $date_ger;```
Can you exclude this snippet from templates and check again?
I removed all occurrences of :strtotime:date_ger=
…` . The error persists.
What I see now is that the error happens only on the overview pages [*id:in=`49, 61`:then=
not on the detail pages :else=
I removed all occurrences of
:strtotime:date_ger=
…` . The error persists.
Maybe not all, because seems to me, problem in this snippet - http://php.net/manual/de/migration71.other-changes.php (first section)
I can not find any occurrence of date_ger in MultiTV config or elsewhere on the affected sites:
$settings['display'] = 'vertical';
$settings['fields'] = array(
'veranstaltungstitel' => array(
'caption' => 'Veranstaltungstitel',
'type' => 'text'
),
'veranstaltungsURL' => array(
'caption' => 'Veranstaltungs-URL',
'type' => 'text'
),
'veranstaltungsart' => array(
'caption' => 'Typ',
'type' => 'dropdown',
'elements' => 'Seminar||Exkursion||Fest||Sonstige Veranstaltung'
),
'startDate' => array(
'caption' => 'Datum Beginn',
'type' => 'date'
),
'startTime' => array(
'caption' => 'Uhrzeit Beginn',
'type' => 'text'
),
'endDate' => array(
'caption' => 'Datum Ende',
'type' => 'date'
),
'endTime' => array(
'caption' => 'Uhrzeit Ende',
'type' => 'text'
),
'ueberschriftVerantwortlicher' => array(
'caption' => 'Überschrift Verantwortlicher',
'type' => 'dropdown',
'elements' => 'Leitung||Organisation||Referent||Ausbilder'
),
'leitung' => array(
'caption' => 'Name Verantwortlicher',
'type' => 'text'
),
'veranstalter' => array(
'caption' => 'Veranstalter',
'type' => 'text'
),
'veranstalterURL' => array(
'caption' => 'Veranstalter-URL',
'type' => 'text'
),
'strasse' => array(
'caption' => 'Veranstaltungsort: Straße',
'type' => 'text'
),
'plz' => array(
'caption' => 'Veranstaltungsort: PLZ',
'type' => 'text'
),
'ort' => array(
'caption' => 'Veranstaltungsort: Ort',
'type' => 'text'
),
'anmeldung' => array(
'caption' => 'Anmeldung erforderlich',
'type' => 'dropdown',
'elements' => 'Ja||Nein'
),
'kosten' => array(
'caption' => 'Kosten',
'type' => 'text'
),
'details' => array(
'caption' => 'Details',
'type' => 'textarea'
),
'image' => array(
'caption' => 'Bild',
'type' => 'image'
),
'thumb' => array(
'caption' => 'Thumbnail',
'type' => 'thumb',
'thumbof' => 'image'
),
'legend' => array(
'caption' => 'Alternativtext (alt="")',
'type' => 'text'
),
'title' => array(
'caption' => 'Bildtitel (title="")',
'type' => 'text'
),
'author' => array(
'caption' => 'Bildautor',
'type' => 'text'
)
);
$settings['templates'] = array(
'outerTpl' => '[+wrapper+]',
'rowTpl' => '
[+veranstaltungstitel:ifnotempty=`[+startDate:ifnotempty=`[+veranstalter:ifnotempty=`[+ort:ifnotempty=`
<article itemscope itemtype="http://schema.org/Event" id="[+startDate+]T[+startTime+]">
[*id:in=`49, 61`:then=`
<table>
<tr>
<td><time class="kalenderblatt" itemprop="startDate" datetime="[+startDate+][+startTime:ifnotempty=`T[+startTime+]`+]">[+startDate+]</time></td>
<td>
<h2 itemprop="name">[+veranstaltungstitel+]</h2>
</td>
</tr>
<tr>
<th>Veranstalter:</th>
<td>[+veranstalterURL:ifnotempty=`<a href="[+veranstalterURL+]">`+][+veranstalter:ifnotempty=`[+veranstalter+]`+][+veranstalterURL:ifnotempty=`</a>`+]</td>
</tr>
<tr>
<th>Ort:</th>
<td><span itemprop="location" itemscope itemtype="http://schema.org/PostalAddress"><span itemprop="name"><span itemprop="postalCode">[+plz:ifnotempty=`[+plz+]`+]</span> <span itemprop="addressLocality">[+ort:ifnotempty=`[+ort+]`+]</span></span></span></td>
</tr>
<tr>
<th>Weitere Infos:</th>
<td><a href="[+veranstaltungsURL:ifnotempty=`[+veranstaltungsURL+]`+]">[+veranstaltungstitel:ifnotempty=`[+veranstaltungstitel+]`+] – Details</a></td>
</tr>
</table>
`:else=`
<div itemprop="name">
<h1>[*pagetitle*]</h1>
<h2>[*longtitle*]</h2>
</div>
<meta itemprop="url" content="[+veranstaltungsURL+]">
<table>
<tr><th>Art der Veranstaltung:</th><td>[+veranstaltungsart+]</td></tr>
<tr><th>Beginn:</th><td><time itemprop="startDate" datetime="[+startDate+][+startTime:ifnotempty=`T[+startTime+]`+]">[+startDate+], [+startTime:ifnotempty=`[+startTime+] Uhr`+]</time></td></tr>
[+endDate:ifnotempty=`<tr><th>Ende:</th><td><time itemprop="endDate" datetime="[+endDate:strtotime+][+endTime:ifnotempty=`T[+endTime+]`+]">[+endDate:strtotime+], [+endTime:ifnotempty=`[+endTime+] Uhr`+]</time></td></tr>`+]
[+leitung:ifnotempty=`<tr><th>[+ueberschriftVerantwortlicher+]:</th><td>[+leitung+]</td></tr>`+]
<tr><th>Veranstalter:</th><td>[+veranstalterURL:ifnotempty=`<a href="[+veranstalterURL+]">`+][+veranstalter+][+veranstalterURL:ifnotempty=`</a>`+]</td></tr>
<tr><th>Ort:</th><td><span itemprop="location" itemscope itemtype="http://schema.org/PostalAddress"><span itemprop="name"><span itemprop="postalCode">[+plz+]</span> <span itemprop="addressLocality">[+ort+]</span></span></span></td></tr>
<tr><th>Anmeldung erforderlich:</th><td>[+anmeldung+]</td></tr>
[+kosten:ifnotempty=`<tr><th>Kosten:</th><td>[+kosten+]</td></tr>`+]
[+details:ifnotempty=`<tr><th>Details:</th><td>[+details+]</td></tr>`+]
</table>`*]
</article>
[*id:in=`49, 61`:then=`<hr />`:else=``*]
`+]`+]`+]`+]'
);
Above I inciluded some more :ifnotempty to be sure that this can not be the reason, even if the field before missing the ifnotempty are always filled.
Also it works on the detail pages (:else part of config) with date_ger included.
I suggest to use [[if]]
snippet.
This looks like asking for issues ;)
[+veranstaltungstitel:ifnotempty=`[+startDate:ifnotempty=`[+veranstalter:ifnotempty=`[+ort:ifnotempty=`
...
`+]`+]`+]`+]
Maybe try something like this:
[[if?
&separator=`||`
&is=`[+veranstaltungstitel+][+startDate+][+veranstalter+][+ort+]||!empty`
&then=`
<article>
[[if? &is=`[*id*]:in:49,61`
&then=`<table>...`
&else=`<div itemprop="name">...`
]]
</article>
[[if? &is=`[*id*]:in:49,61` &then=`<hr />`]]
`
]]
I am really glad that you are helping. Your suggestion affects that if one of the fields in if? !empty
is empty the site content is not shown. Until now if one field is empty only this field is not shown.
Would you suggest to replace evrey occurrence of :ifnotempty=
with [if? !empty
?
Yes, I recommend to convert :ifnotempty=
with:
[[if? &separator=`||` &is=`[+yourValue+]||!empty` &then=`yourCode`]]
Updated code:
[[if?
&separator=`||`
&is=`[+veranstaltungstitel+]||!empty||or||[+startDate+]||!empty||or||[+veranstalter+]||!empty||or||[+ort+]||!empty`
&then=`
<article>
[[if? &is=`[*id*]:in:49,61`
&then=`<table>...`
&else=`<div itemprop="name">...`
]]
</article>
[[if? &is=`[*id*]:in:49,61` &then=`<hr />`]]
`
]]
And I recommend to use prepare
:
https://github.com/evolution-cms/docs/blob/master/en/04_Extras/multiTV/07_Data_preparation.md
I would like to use prepare
but I do not the least understand how to use it. I read the instructions but have no idea how to adapt to my actual scenario.
Prepare is why I still use Maxigallery and have not yet changed to the gallery based on Doclister. I could not grasp how to use prepare
:-( …
At the moment I am replacing phx ifnotempty with if snippet in above config.
You can find if
docs here http://docs.evo.im/en/04_extras/if.html
Some examples in english are also in your Evo installation in /assets/snippets/if/readme.html
I also recommend using chunks in &then
/ &else
if your output output is large or contains additional statements and snippets. Example: &then=`@TPL:chunkName`
Some time ago I replaced nearly all occurrences of phx with if snippet. This was when there were problems when core modifiers were introduced and problems with phx arised. Before making changes I read the if instructions. Since then everything worked. The actual issue is when changing PHP 7.0 to 7.1/7.2.
Now I changed and simplified the MultiTV config to this:
$settings['display'] = 'vertical';
$settings['fields'] = array(
'veranstaltungstitel' => array(
'caption' => 'Veranstaltungstitel',
'type' => 'text'
),
'veranstaltungsURL' => array(
'caption' => 'Veranstaltungs-URL',
'type' => 'text'
),
'veranstaltungsart' => array(
'caption' => 'Typ',
'type' => 'dropdown',
'elements' => 'Seminar||Exkursion||Fest||Sonstige Veranstaltung'
),
'startDate' => array(
'caption' => 'Datum Beginn',
'type' => 'date'
),
'startTime' => array(
'caption' => 'Uhrzeit Beginn',
'type' => 'text'
),
'endDate' => array(
'caption' => 'Datum Ende',
'type' => 'date'
),
'endTime' => array(
'caption' => 'Uhrzeit Ende',
'type' => 'text'
),
'ueberschriftVerantwortlicher' => array(
'caption' => 'Überschrift Verantwortlicher',
'type' => 'dropdown',
'elements' => 'Leitung||Organisation||Referent||Ausbilder'
),
'leitung' => array(
'caption' => 'Name Verantwortlicher',
'type' => 'text'
),
'veranstalter' => array(
'caption' => 'Veranstalter',
'type' => 'text'
),
'veranstalterURL' => array(
'caption' => 'Veranstalter-URL',
'type' => 'text'
),
'strasse' => array(
'caption' => 'Veranstaltungsort: Straße',
'type' => 'text'
),
'plz' => array(
'caption' => 'Veranstaltungsort: PLZ',
'type' => 'text'
),
'ort' => array(
'caption' => 'Veranstaltungsort: Ort',
'type' => 'text'
),
'anmeldung' => array(
'caption' => 'Anmeldung erforderlich',
'type' => 'dropdown',
'elements' => 'Ja||Nein'
),
'kosten' => array(
'caption' => 'Kosten',
'type' => 'text'
),
'details' => array(
'caption' => 'Details',
'type' => 'textarea'
),
'image' => array(
'caption' => 'Bild',
'type' => 'image'
),
'thumb' => array(
'caption' => 'Thumbnail',
'type' => 'thumb',
'thumbof' => 'image'
),
'legend' => array(
'caption' => 'Alternativtext (alt="")',
'type' => 'text'
),
'title' => array(
'caption' => 'Bildtitel (title="")',
'type' => 'text'
),
'author' => array(
'caption' => 'Bildautor',
'type' => 'text'
)
);
$settings['templates'] = array(
'outerTpl' => '[+wrapper+]',
'rowTpl' => '
[[If?
&separator=`||`
&is=`[+veranstaltungstitel+]||!empty||or||[+startDate+]||!empty||or||[+veranstalter+]||!empty||or||[+ort+]||!empty`
&then=`
<article itemscope itemtype="http://schema.org/Event" id="[+startDate+]T[+startTime+]">
[[If? &is=`[*id*]:in:49,61`
&then=`
<table>
<tr>
<td><time datetime="[+startDate+][[If? &is=`[+startTime+]:notempty` &then=`T[+startTime+]`]]">[+startDate+]</time></td>
<td>
<h2 itemprop="name">[+veranstaltungstitel+]</h2>
</td>
</tr>
<tr>
<th>Veranstalter:</th>
<td>[[If? &is=`[+veranstalterURL+]:notempty` &then=`<a href="[+veranstalterURL+]">`]][+veranstalter+][[If? &is=`[+veranstalterURL+]:notempty` &then=`</a>`]]</td>
</tr>
<tr>
<th>Ort:</th>
<td>[+plz+][+ort+]</td>
</tr>
<tr>
<th>Weitere Infos:</th>
<td><a href="[+veranstaltungsURL+]">[+veranstaltungstitel+] – Details</a></td>
</tr>
</table>`
&else=`
<h1>[*pagetitle*]</h1>
<h2>[*longtitle*]</h2>
<meta itemprop="url" content="[+veranstaltungsURL+]">
<table>
<tr><th>Art der Veranstaltung:</th><td>[+veranstaltungsart+]</td></tr>
<tr><th>Beginn:</th><td><time datetime="[+startDate+][[If? &is=`[+startTime+]:notempty` &then=`T[+startTime+]`]]">[+startDate+], [[If? &is=`[+startTime+]:notempty` &then=`[+startTime+] Uhr`]]</time></td></tr>
[[If? &is=`[+endDate+]:notempty` &then=`<tr><th>Ende:</th><td><time itemprop="endDate" datetime="[+endDate+][[If? &is=`[+endTime+]:notempty` &then=`T[+endTime+]`]]">[+endDate+], [[If? &is=`[+endTime+]:notempty` &then=`[+endTime+] Uhr`+]</time></td></tr>`]]
[[If? &is=`[+leitung+]:notempty` &then=`<tr><th>[+ueberschriftVerantwortlicher+]:</th><td>[+leitung+]</td></tr>`]]
<tr><th>Veranstalter:</th><td>[[If? &is=`[+veranstalterURL+]:notempty` &then=`<a href="[+veranstalterURL+]">`]][+veranstalter+][[If? &is=`[+veranstalterURL+]:notempty` &then=`</a>`]]</td></tr>
<tr><th>Ort:</th><td>[+plz+][+ort+]</td></tr>
<tr><th>Anmeldung erforderlich:</th><td>[+anmeldung+]</td></tr>
[[If? &is=`[+kosten+]:notempty` &then=`<tr><th>Kosten:</th><td>[+kosten+]</td></tr>`]]
[[If? &is=`[+details+]:notempty` &then=`<tr><th>Details:</th><td>[+details+]</td></tr>`]]
</table>`]]
</article>
[[If? &is=`[*id*]:in:49,61` &then=`<hr />` &else=``]]
`]]
`]]'
);
The issue persists with exactly the same error information …
Is there any possibility to get closer to the reason for the issue by following the backtrace and line numbers? I can not find any possible reason by doing this but am (advanced) end user and not developper.
To sum it up a bit:
The issue happens only in the &is=`[*id*]:in:49,61
part not in the &then
part even if there are the same (and more) placeholders and if calls used. Is this a possible hint that I do not understand?
The issue even happens when simplifying MultiTV config to this:
$settings['display'] = 'vertical';
$settings['fields'] = array(
'veranstaltungstitel' => array(
'caption' => 'Veranstaltungstitel',
'type' => 'text'
),
'veranstaltungsURL' => array(
'caption' => 'Veranstaltungs-URL',
'type' => 'text'
),
'veranstaltungsart' => array(
'caption' => 'Typ',
'type' => 'dropdown',
'elements' => 'Seminar||Exkursion||Fest||Sonstige Veranstaltung'
),
'startDate' => array(
'caption' => 'Datum Beginn',
'type' => 'date'
),
'startTime' => array(
'caption' => 'Uhrzeit Beginn',
'type' => 'text'
),
'endDate' => array(
'caption' => 'Datum Ende',
'type' => 'date'
),
'endTime' => array(
'caption' => 'Uhrzeit Ende',
'type' => 'text'
),
'ueberschriftVerantwortlicher' => array(
'caption' => 'Überschrift Verantwortlicher',
'type' => 'dropdown',
'elements' => 'Leitung||Organisation||Referent||Ausbilder'
),
'leitung' => array(
'caption' => 'Name Verantwortlicher',
'type' => 'text'
),
'veranstalter' => array(
'caption' => 'Veranstalter',
'type' => 'text'
),
'veranstalterURL' => array(
'caption' => 'Veranstalter-URL',
'type' => 'text'
),
'strasse' => array(
'caption' => 'Veranstaltungsort: Straße',
'type' => 'text'
),
'plz' => array(
'caption' => 'Veranstaltungsort: PLZ',
'type' => 'text'
),
'ort' => array(
'caption' => 'Veranstaltungsort: Ort',
'type' => 'text'
),
'anmeldung' => array(
'caption' => 'Anmeldung erforderlich',
'type' => 'dropdown',
'elements' => 'Ja||Nein'
),
'kosten' => array(
'caption' => 'Kosten',
'type' => 'text'
),
'details' => array(
'caption' => 'Details',
'type' => 'textarea'
),
'image' => array(
'caption' => 'Bild',
'type' => 'image'
),
'thumb' => array(
'caption' => 'Thumbnail',
'type' => 'thumb',
'thumbof' => 'image'
),
'legend' => array(
'caption' => 'Alternativtext (alt="")',
'type' => 'text'
),
'title' => array(
'caption' => 'Bildtitel (title="")',
'type' => 'text'
),
'author' => array(
'caption' => 'Bildautor',
'type' => 'text'
)
);
$settings['templates'] = array(
'outerTpl' => '[+wrapper+]',
'rowTpl' => '
<article itemscope itemtype="http://schema.org/Event" id="[+startDate+]T[+startTime+]">
<table>
<tr>
<td><time datetime="[+startDate+][[If? &is=`[+startTime+]:notempty` &then=`T[+startTime+]`]]">[+startDate+]</time></td>
<td>
<h2 itemprop="name">[+veranstaltungstitel+]</h2>
</td>
</tr>
<tr>
<th>Veranstalter:</th>
<td>[[If? &is=`[+veranstalterURL+]:notempty` &then=`<a href="[+veranstalterURL+]">`]][+veranstalter+][[If? &is=`[+veranstalterURL+]:notempty` &then=`</a>`]]</td>
</tr>
<tr>
<th>Ort:</th>
<td>[+plz+][+ort+]</td>
</tr>
<tr>
<th>Weitere Infos:</th>
<td><a href="[+veranstaltungsURL+]">[+veranstaltungstitel+] – Details</a></td>
</tr>
</table>'
);
With my last assumption I was on the right path and got it sorted:
The reason was not phx or If snippet. It was based on the fact that the placeholder are filled via MultiTV input mask on each detail page (&then=). They are given out also on the overview pages `&is=
[id]:in:49,61`. These both pages have an empty MultiTV input mask. At least they seemed obviously to be empty. Actually there seems to have been some invisible input. After deleting the MultiTv field via the +/- buttons everything worked as expected. Even with my initial config. In fact it works better with phx. Replacing them like suggested brought in this case some minor problems that are gone by using how it was.
Many thanks to those who helped.
With MultiTV 2.0.15 and PHP 7.1 and PHP 7.2
`
Backtrace
DocumentParser->executeParser()index.php on line 139 DocumentParser->prepareResponse()manager/includes/document.parser.class.inc.php on line 2860 DocumentParser->parseDocumentSource(string $var1)manager/includes/document.parser.class.inc.php on line 2969 DocumentParser->invokeEvent('OnParseDocument')manager/includes/document.parser.class.inc.php on line 2704 DocumentParser->evalPlugin(string $var1, array $var2)manager/includes/document.parser.class.inc.php on line 5510 eval()manager/includes/document.parser.class.inc.php on line 1916 PHxParser->OnParseDocument()manager/includes/document.parser.class.inc.php(1916) : eval()'d code on line 9 PHxParser->Parse(string $var1)assets/plugins/phx/phx.parser.class.inc.php on line 50 PHxParser->ParseValues(string $var1)assets/plugins/phx/phx.parser.class.inc.php on line 65 DocumentParser->evalSnippets(string $var1)assets/plugins/phx/phx.parser.class.inc.php on line 132 DocumentParser->_get_snip_result(string $var1)manager/includes/document.parser.class.inc.php on line 2025 DocumentParser->evalSnippet(string $var1, array $var2)manager/includes/document.parser.class.inc.php on line 2113 eval()manager/includes/document.parser.class.inc.php on line 1962 require(string $var1)manager/includes/document.parser.class.inc.php(1962) : eval()'d code on line 1 multiTV->displayMultiValue(array $var1, array $var2)assets/tvs/multitv/multitv.snippet.php on line 95 newChunkie->process()assets/tvs/multitv/includes/multitv.class.php on line 1186 PHxParser->Parse(string $var1)assets/tvs/multitv/includes/newchunkie.class.php on line 519 PHxParser->ParseValues(string $var1)assets/plugins/phx/phx.parser.class.inc.php on line 65 PHxParser->Filter('', string $var2)assets/plugins/phx/phx.parser.class.inc.php on line 187 eval()assets/plugins/phx/phx.parser.class.inc.php on line 356
`