also versuche ich diese Funktion in meinem tpl aufzurufen aber ich bekomme den Fehler massage: Hinweis: Undefinierter Offset: 1 in/var/www/virtual/www. eless.de/ivanovm/lib/data/Contract.class.php on line 342htmlspecialchars() erwartet Parameter 1 als String, Array als PHP
Warnung: htmlspecialchars() erwartet Parameter 1 als String, Array in /var/www/virtual/www.eless.de/ ivanovm/templates/kompilierte/d9e0e5ca75d171cae06b57137aa1475b7f24e533_2.file.contractList.tpl.php on line 135 (Linie 135 ist leer)
public function getYearlyConsumption()
{
$yearlyConsumption = [];
$idx = 0;
//company bestimmen und zugehörige consumption points aufrufen
$company = System::getUser()->getCompany();
$consumptionPoints = $company->getConsumptionPoints();
foreach ($consumptionPoints as $consumptionPoint) {
if ($consumptionPoint->status == 1) {
$yearlyConsumption[$idx] += $consumptionPoint->getYearlyConsumptionInt();
$idx++;
}
}
return $yearlyConsumption;
}
hier ist der Aufruf in meine Vorlage (dieser Fehler erscheint für jeden funnction bis ich versuche, den Code oben zu nennen nur ein Beispiel
{foreach from=$data item=item}
<tr>
<td>
<a href="{System::getLink('contractView')}"><input type="button" style="text-align: center"
width="200em"
value="»{$item->contractID}«"></a>
</td>
<td>
{$item->date|date_format:"%d.%m.%Y"}
</td>
<td>
{$item->selectedPrice}
</td>
<td>
{$item->getYearlyConsumption()}
</td>
<td>
{$item->getConsumptionPointsCount()}
</td>
<td>
{if $item->status == 0}
<span {literal}style="background-color:#ff9933"{/literal}>Wird Bearbeitet</span>
{/if}
{if $item->status == 1}
<span {literal}style="background-color:#33cc33"{/literal}>Abgeschlossen</span>
{/if}
{if $item->status == 2}
<span {literal}style="background-color:#ff0000"{/literal}>Stoniert</span>
{/if}
</td>
</tr>
{/foreach}
'return $ annualConsumption' gibt ein Array zurück. Ich verstehe nicht, was Sie erwartet haben, dass die Templating-Engine damit zu tun hat. –
apokryfos
Ich habe nie Vorlagen verwendet, also habe ich mir gedacht, dass ich meine Funktion aus meiner Klasse mit Smarty aufrufen könnte ... ist das nicht möglich? – Smuka
Ja, es ist möglich, aber die Funktion muss etwas zurückgeben, das auf der Seite geschrieben werden kann (z. B. eine Zeichenfolge, Ganzzahl, Gleitkommazahl). Sie geben ein Array zurück, sodass Sie es irgendwie reduzieren müssen. – apokryfos