です。私のtplでこのfunktionを呼び出そうとしていますが、エラーメッセージが表示されます: Notice:/ var/www/virtual/www。 eless.de/ivanovm/lib/data/Contract.class.php on line 342htmlspecialchars()は、パラメータ1が文字列になることを想定しています。配列はPHP
警告:htmlspecialchars()は、パラメータ1が文字列であること、/var/www/virtual/www.eless.de/で指定された配列を期待しています。ライン135 上/ d9e0e5ca75d171cae06b57137aa1475b7f24e533_2.file.contractList.tpl.phpコンパイルivanovm /テンプレート/(ライン135が空である)、ここで
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;
}
はで呼び出しです私のテンプレート(この間違いは、私は上記のコードを呼び出すようにしようとしているすべてのfunnctionにポップアップ表示される一例です
{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 $ yearlyConsumption'は配列を返します。私はテンプレートエンジンがそれに関係するとあなたが期待したことを理解していません。 –
apokryfos
私は今までにテンプレートを使用したことがありませんでした。スマートで私のクラスから関数を呼び出すことができました..それは可能でしょうか? – Smuka
はい、可能ですが、関数は配列を返すページ(例:文字列、整数、浮動小数点数)に書き込むことができるものを返さなければならないため、何らかの形でそれを平坦化する必要があります。 – apokryfos